Wer stimmt mir zu, dass Assembler heutzutage absolut unnötig ist ?

Nein, man kann es immernoch gebrauchen 100%
Ja, ich stimme zu 0%

14 Stimmen

13 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet
Nein, man kann es immernoch gebrauchen

Das kann nur jemand sagen, der voll von der Werbung beeinflusst ist und sich für die wirkliche Funktionsweise nicht interessiert.

Als wissenschaftlich denkender Mensch will ich doch auch wissen, was da wirklich in der CPU abläuft...

Treiber und wichtige Funktionen, die besonders schnell sein müssen, kommen ohne ASM nicht aus! Auch wenn es nur ein Teil innerhalb einer Hochsprache ist { c++ und Pure Basic bieten ASM Begin...   End an }

Die CPUs von heute sind extrem schnell. Aber weil immer mehr Menschen so wie Du denken, läuft die Software bis zu 52000 mal langsamer als sie könnte!

Beispiel pow(x,y) { x hoch y} läuft bei mehr als 1 Mrd. Stellen ASM-optimiert etwa 52000 mal schneller als .NET {c# oder Basic}

Die Suche nach Zeichenketten bei mehr als 1TB läuft optimiert 88 mal schneller als die Windows-Suche.

Wer wie ich lange auf Ergebnisse wartet, kommt um ASM-Optimierung nicht herum.

Viele nutzen auch die neuen Befehlssätze nicht, die heutige CPUs anbieten.

AVX (z.B. beim i7) kann bereits 256 Bit parallel. 

Zwar bieten einige Compiler wie c++ neue Funktionen an, aber wenn die Zwischenergebnisse erst in Hilfsvariablen abgelegt werden müssen statt mit Registern zu arbeiten, bremst es die Geschwindigkeit...


TeeTier  13.01.2016, 15:04

Apropos AVX: Ich bekomme schon kribbeln in den Fingern wenn ich an AVX-512 denke. Wer dabei keine Lust auf Assembler bekommt, dem ist wohl wirklich nicht mehr zu helfen! Stell dir mal vor, was man damit für schicke Sachen machen kann!!! Die Aussagen des Fragenstellers kann ich in keinster Weise nachvollziehen. Ich glaube, da hat jemand noch gar nicht geschnallt, wie unglaublich geil Assembler eigentlich ist. :)

Ansonsten wie immer eine sehr gute Antwort von dir! :)

2
hypergerd  13.01.2016, 10:29

Gerade Du als einer der gern spielt, nutzt täglich die ASM-optimierten Spiele {oder Grafik-Prozeduren}. Consolen {Wii, Xbox} haben recht schwache CPUs gegenüber den i7 von heute. Trotzdem laufen sie oft flüssiger als unoptimierte PC spiele...

1
Nein, man kann es immernoch gebrauchen

Ich habe auch nie für PCs oder ähnlches programmiert, bis auf einen Volkshochschulkurs in den 1990ern und einigen Anläufen in letzter Zeit.

Allerdings habe ich das Programmieren von der Pieke auf gelernt, also mit Lochkarte als didaktisches Hilfsmittel (warum hatten wohl Bildschirme früher 80 Zeichen Breite?) und dem zugehörigen Code (BCD und EBCDIC).

Und mit Assemler. Auch wenn das wohl einer war, der an Merkwürdigkeit schwer zu überbieten ist, habe ich gelernt, wie ein Rechner wirklich arbeitet.
Naja, DER Rechner, Gott hab ihn selig.

Auch wenn du - wie es wahrscheinlich kommt - nie mit Assembler arbeiten wirst, solltest du ein bisschen Gefühl entwickeln, was dir abgenommen wird.
Und auch, wie effektiv bzw. uneffektiv das zuweilen ist.

Und wie du es vielleicht aus den Antworten erahnst, einen echten Programmierer juckt es auch in den Fingern.
Was nicht gegen die unechten Programmierer geht, die werden dann Berater, Anwenderbetreuer oder Chefs.

Das ist halt Grundlagenwissen, das man haben sollte, egal, ob man es später braucht.

Nein, man kann es immernoch gebrauchen

Neben den bisherigen Antworten gibt es noch die großen Themen Reversing und Sicherheit, bei denen ohne Assembler-Kenntnisse GAR NICHTS läuft.

Das gilt sowohl für Desktop-Software, als auch embedded Systeme.

Ich kann überhaupt nicht verstehen, dass du dich so gegen Assembler sträubst, denn das ist mit das interessanteste Thema, welches es überhaupt gibt. Sei froh, dass du die Chance hast, Assembler gelehrt zu bekommen ... andere würden dich dafür beneiden!

Hattest du echt noch nie das Bedürfnis, eine Anwendung mit grafischer Oberfläche zu schreiben, bei der das Binary dann am Ende unter 500 Byte groß ist? Hast du dir noch nie das Disassemblat eines Trojaners im Mailanhang angucken wollen, um zu sehen, was der eigentlich so alles auf deinem System anstellen würde, wenn du ihn denn ausführen würdest? Oder hat dich noch nie interessiert, wie du die Bibliotheken einer Software nutzen kannst, ohne den Quellcode zu kennne?

Das sind nur einige wenige Beispiele, bei denen man um Assembler nicht drum rum kommt.

Von daher: Assembler wird auch in 100 Jahren noch gebraucht werden!

Darkmalvet, UserMod Light  
Beitragsersteller
 14.01.2016, 00:27

Ja, aber welches Gerät hat schon MIPS verbaut.

Da müsste es schon Intel Assembler sein, damit ichs interessant fände

0
Nein, man kann es immernoch gebrauchen

Das ist so als würde man sagen , man brauch kein 1x1 lernen weil es einen Taschenrechner gibt .

Ich finde es sogar sehr sinnvoll , da man dann auch mal lernt Lösungen der Programmierung nicht nur über Hochsprachen zu lernen sondern über Rechenregeln .

Später findet sich das dann auch bei BIT Operatoren wieder  .

Um das mal auf die Spitze zu treiben , was wäre wenn es eine Programmiersprache gibt wo man nur noch sein Problem beschreibt und es spuckt dann eine Lösung aus ? Ist das dann noch Programmierung ? Hat man dann überhaupt noch Ahnung was im Hintergrund alles gemacht werden muss . Und was passiert wenn man mal nicht diese ganzen Automationen hat , wie effizient sind diese Automationen überhaupt . Ich finde es schon wichtig zu lernen wie eigentlich so ein Prozessor arbeitet . Wie kann direkt eine Programmlogik in einem nur auf 0 und 1 basierendem System ablaufen.

Und für eine winzige kleine Automation brauch es nicht ein ganzen PC , was machen wir da überhaupt . Das Steuern einer Ampel oder eines Automaten muss man nicht über ein riesen System steuern .

Also auch heut zu Tage brauch man noch das Wissen über Assembler .

Es wäre traurig wenn es keine Gundlagenlehre gebe , sonst kommen wir noch in die Zukunft, wo alle nur noch wissen wie sie Maschinen bedienen , aber wenn die Maschinen kaputt sind , nichts mehr machen können , weil keiner weiss überhaupt wie die Maschine funktioniert .

 

Nein, man kann es immernoch gebrauchen

Es gibt eine Menge Situationen in denen assembler die einfachste, schnellste oder einzigste Lösung ist um bestimmte Probleme zu lösen. Schönes Beispiel ist z.B. der bootloader bzw. Der gesamte bootprozess bei x86 Systemen ohne UEFI. Ohne assembler Teile lässt sich ein PC also nicht einmal vernünftig starten. Die Kernel selbst sind zwar in der Regel in C geschrieben. Bis dieser allerdings bootet laufen eine Menge Prozesse ab. Und diese sind alle in assembler geschrieben. Anderes Beispiel sind FPGA's, prozessorentwicklung, embedded Programmierung... Diese Liste ließe sich ewig fortführen. ASM ist immer noch ein sehr wichtiger Teil der IT und wird es auch auf lange Sicht bleiben.