Paar Fragen zu Assembler



  • Hallo habe paar Fragen:

    Ist es lohnenwert noch Assembler zu lernen? Oder sagt ihr dass man sich das sparen kann weil zu 99% eh alles nur noch in Hochsprachen programmiert wird

    Und kann man "theoretisch" alles, was man z.B. mit C++ programmieren kann auch mit only Assembler realisieren? Also könnte ich z.B. nur mit ASsembler ein kleines 2D Spiel programmieren? Ich meine eigentlich schon oder? Denn ich denke die Hochsprachen basieren ja auf Assembler.

    Und ist es schwer (aus Spass) seine eigene kleine Programmiersprache zu schreiben?



  • Hallo,

    Gaudiu schrieb:

    Ist es lohnenwert noch Assembler zu lernen?

    Das hängt davon ab ob Du das möchtest. Lohnen kann es sich schon wenn Du mal Projekte machst wo Du Assembler brauchst.

    Gaudiu schrieb:

    Und kann man "theoretisch" alles, was man z.B. mit C++ programmieren kann auch mit only Assembler realisieren?

    Ja, auf jeden Fall!

    Gaudiu schrieb:

    Also könnte ich z.B. nur mit ASsembler ein kleines 2D Spiel programmieren?

    Ja.

    Gaudiu schrieb:

    Denn ich denke die Hochsprachen basieren ja auf Assembler.

    Die basieren nicht auf Assembler, aber generieren meist Assembler-Quell-Text der dann in Binär-Code für die CPU umgewandelt wird.

    Gaudiu schrieb:

    Und ist es schwer (aus Spass) seine eigene kleine Programmiersprache zu schreiben?

    Ich schätze schon.

    Grüße
    Erik



  • Gaudiu schrieb:

    Und ist es schwer (aus Spass) seine eigene kleine Programmiersprache zu schreiben?

    Ja, aber dazu muss man kein Assembler können. Man kann erstens einen Interpreter schreiben oder zweitens einen Compiler schreiben, der z.B. C-Code ausgibt, der dann nochmal durch einen C-Compiler gejagt wird. Ein echtes Maschinensprachen-Backend ist nochmal eine Wissenschaft für sich, mit Assembler können ist es da auch bei weitem nicht getan.



  • Ok und nun mal Hand aufs Herz:
    Brauch ich als Programmierer jemals Assembler? Habt ihr es jemals in eurem Code benutzt?

    Ich mein ne normale Rechenoperation ist da ja ne komplette DIN A4 Seite Quelltext 😃



  • Hallo,

    Gaudiu schrieb:

    Brauch ich als Programmierer jemals Assembler?

    Das hängt davon ab was Du mal machen möchtest. Wenn Du mal ein BIOS entwickeln willst wirst Du etwas Assembler brauchen.

    Gaudiu schrieb:

    Habt ihr es jemals in eurem Code benutzt?

    Ich ja. Ich benötige Assembler sehr häufig. Ich arbeite auch in einem Bereich wo das völlig normal ist.

    Gaudiu schrieb:

    Ich mein ne normale Rechenoperation ist da ja ne komplette DIN A4 Seite Quelltext 😃

    Wo hast Du denn das her? die elementaren Rechenoperationen können die meisten CPUs mit einem einzigen Befehl ausführen, mit ner FPU werden es auch noch einige komplexe Rechenoperationen mehr. Sieh die mal die Datenblätter für die x86-CPUs an, die können Sinus, Wurzel und noch alles mögliche andere mehr direkt berechnen.

    Grüße
    Erik



  • Ich muss zwar keine Assemblersprache schreiben (könnte ich auch gar nicht mehr, vor 15 Jahren war das noch ein bisschen einfacher), aber finde es sehr sehr hilfreich, sie lesen zu können, sei es für verzwickte Debugging-Fälle, oder um zu gucken, ob bestimmte Compileroptimierungen greifen. Außerdem ist es gut fürs allgemeine Verständnis.



  • Das hängt davon ab was Du mal machen möchtest. Wenn Du mal ein BIOS entwickeln willst wirst Du etwas Assembler brauchen.

    Unter C++ Programme/Tools schreiben.



  • Hallo,

    Gaudiu schrieb:

    Unter C++ Programme/Tools schreiben.

    Dann wirst Du Assembler wohl nur sehr selten wirklich brauchen.

    Wenn Du Assembler als Zusatz-Wissen lernen möchtest wirst Du aber bestimmt auch etwas Nutzen daraus ziehen. Es schadet nicht wenn man mal ein paar Ebenen tiefer schauen kann aber es ist nur sehr selten zwingenst erforderlich.

    Grüße
    Erik



  • Gaudiu schrieb:

    Brauch ich als Programmierer jemals Assembler?

    Wenn Du auf Datenbanken und Co stehst, nicht 😃



  • Gaudiu schrieb:

    Ist es lohnenwert noch Assembler zu lernen

    Wenn du ein guter Programmierer sein willst, solltest du etwas Assembler können bzw. das Konzept verstanden haben.

    Das du jemals wirklich Assembler code schreiben musst, ist relativ unwahrscheinlich und ich denke es wird mit jedem Tag an dem sich die Technik weiterentwickelt unwahrscheinlicher.

    Allerdings hilft Assembler dir zu verstehen wie ein Computer auf einer bestimmten, recht tiefen Ebene funktioniert. Durch dieses Wissen kannst du wahrscheinlicher abschätzen wie schnell etwas in einer abstrakteren Sprache ist.

    Wenn du einfach nur ein paar Tools/Programme basteln willst, dann mach das lieber. Kannst du auch Problemlos ohne Assembler zu können machen.
    Irgendwann wenn du mal grade nichts zu tun hast kannst du dir das mal ansehen. Das lernen ist eigentlich nicht schwer. Das Problem ist eine Art mentale Grenze zu durchbrechen, die dich hindert auf der Ebene zu denken. Das kann schon einige Wochen oder Monate dauert und es hilft mMn sogar etwas anderes dabei zu machen und vielleicht ein-zwei mal die Woche(oder öfter/seltener, nach Zeit und Lust) eine Stunde Assembler ansehen oder etwas minimales versuchen.


Anmelden zum Antworten