Gibt es heute noch Leute die alles in Assembler machen?
-
Hi, ich habe früher meine Programme grundsätzlich in Assembler geschrieben, das war weder sonderlich schwer zu lernen noch habe ich irgendwas nicht hinbekommen als 13 Jähriger ohne Ahnung.
Nun 27 Jahre später ist selbst eine Hochsprache wie C vielen schon zu Maschinennah *lol. Worübe ich natürlich nur lachen kann, wollte man lahmen Code hat man damals C genommen.
Nun meine Frage gibt es heute noch Leute die ihre Programmchen komplett in Assembler schreiben, so wie es damals gang und gäbe war?
-
alterMann schrieb:
gibt es heute noch Leute die ihre Programmchen komplett in Assembler schreiben
ja
-
Bei kleinen Microcontrollern ohne RAM geht es nicht anders. Einen
Webserver in Assembler schreiben ist zwar möglich (mit unendlicher Leidenfähigkeit)
aber ...
-
Ja, es gibt heute noch Leute, die alles (oder fast alles) in Assembler machen.
Es gibt sogar heute noch ein komplett in Assembler entwickeltes Betriebsystem für PCs:
http://www.menuetos.net/Und eine Statistik der Programmiersprachen kann man sich hier angucken:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
-
Der TIOBE schon wieder...
Du weißt, wie dieser Index gebildet wird? Der ist leider wenig aussagekräftig. Man sieht das Ergebnis einer Websuche. Daher ist auch klar, warum C immer gewinnt.
-
alterMann schrieb:
Nun 27 Jahre später ist selbst eine Hochsprache wie C vielen schon zu Maschinennah
Ich glaub einfach das die Menschheit immer fauler wird. Am besten noch programmieren per Spracheingabe damit die Herrschaften nicht mehr die Finger bewegen müssen soweit kommts bestimmt noch mal irgedwann ! Wobei es ziemlich lustig werden könnte wenn mehrere Leute in einem Büro sitzen dann müssen die Programme wohl eine Stimmerkennung haben sonst gibts Chaos.
Aber ich schreib meine Programme auch nicht alle in Assembler mit C++ gehts einfach schneller. Wenn man dann doch mal UNBEDINGT Assembler für eine Funktion braucht dann gibts ja immer noch Inline-Assembler.^^
Im Jahr 4000 werden Roboter für uns Arbeiten und uns Großziehen.
Aber bis es soweit ist muss die Menschheit noch knechten damit sowas überhaupt erst möglich werden kann.
-
Bassmaster schrieb:
Im Jahr 4000 werden Roboter für uns Arbeiten und uns Großziehen.
Daran habe ich gar kein Interesse. Ich will einfach nur in spätestens 15 Jahren mit dem Jetpack zur Arbeit fliegen.
-
_matze schrieb:
Bassmaster schrieb:
Im Jahr 4000 werden Roboter für uns Arbeiten und uns Großziehen.
Daran habe ich gar kein Interesse. Ich will einfach nur in spätestens 15 Jahren mit dem Jetpack zur Arbeit fliegen.
Wie bitte? Ich erwarte Teleporter!
Nein, im Ernst: Ja, es gibt noch welche und ich zähle mich dazu. Es kommt halt auch darauf an, was man machen will und in welchem Rahmen. Ich selbst halte nichts von unnötiger Abstraktion in puncto Hochsprachen. Meine Werkzeuge sind OllyDbg, MASM32 und Visual Studio 2010 Express für C++. Bei aller Abstratkion wird irgendwann mal ein Punkt überschritten, bei dem dann keiner mehr weiß, wie es auf den untersten Ebenen abläuft. Darin sehe ich persönlich eine Gefahr in puncto Kontrollverlust. Und welcher Mensch möchte das schon?
LG
-
gamehack0r schrieb:
Darin sehe ich persönlich eine Gefahr in puncto Kontrollverlust. Und welcher Mensch möchte das schon?
Naja, so schlimm ist das nicht, wie wären wir sonst auf der Welt?
Aber ich sehe so viele Arbeitslose, wenn ein Großteil des kapriziösen Überbaus der Abstraktion wegfiele.
-
Schreibe gerade ein größeres Programm in reinem Assembler. Kryptozeug.
Das letzte Jahr habe ich nur C programmiert, aber jetzt wieder angefangen mit Assembler.
Früher DOS, heute Linux.Für mich ist Assembler die faszinierendste Art zu programmieren.
-
gigg schrieb:
Für mich ist Assembler die faszinierendste Art zu programmieren.
Ist es auch. Maschine pur.
C geht als Kompromiß zwischen Aufwand und Ertrag halt etwas effektiver
-
Also ich weiß ja nicht, aber imo ist Abstraktion so ziemlich die Essenz dessen, worum es beim Programmieren überhaupt geht...
-
dot schrieb:
Also ich weiß ja nicht, aber imo ist Abstraktion so ziemlich die Essenz dessen, worum es beim Programmieren überhaupt geht...
Nö. Langweilig. Das kann ja jedes Scriptkiddie ...
-
Nope, das ist eben genau, was eben nicht jedes Scriptkiddie kann...
Aber egal, worum gehts denn deiner Meinung nach beim Programmieren?
-
Ziel: davon leben und etwas interessantes machen.
Assembler hat schon so seinen Reiz, es ist die "konkreteste" Art mit
einer Maschine umzugehen. Auf Windows/Linux eignetlich nicht mehr unbedingt
notwendig, bei den kleinen schwarzen Käfern aber durchaus noch notwendig.Man muß Assembler nicht perfekt können, Grundkenntnisse schaden aber mit
Sicherheit nicht.
-
dot schrieb:
Aber egal, worum gehts denn deiner Meinung nach beim Programmieren?
Ich war zwar gerade nicht angesprochen, würde aber trotzdem gern was dazu sagen.
Mir geht es um die Kreativität dabei (programmiere nicht beruflich).
Aus kleinsten Bausteinen alles machen zu können. Die Disziplin beim logischen Denken
und der Kick, wenn man ein kniffliges Problem gelöst hat. Und natürlich kleine, effiziente,
schnelle Programme, die ohne jeden Overhead auf die Problemstellung zugeschnitten sind.
-
Kann meinem Vorposter nur zustimmen. Und die obig genannten Aspekte bereiten einfach sehr viel Spass.
Die Abstraktion vom Mikrocode zum Assembler hat ja den Sinn, dass man sich nicht um ALLES kümmern muss/soll. Bei der Hochsprache C geht es auch darum, aber noch dazu um die Schnelligkeit, wann man mit einem Programm fertig ist. Natürlich minimiert sich auch durch den Einsatz von C der Debuggingaufwand. Dennoch ist klar: Durch diese Abstraktion gehen Dinge wie direkter Hardwarekontakt verloren, dafür ist man schneller mit Programmen fertig. So kann man einen Kompromiss zwischen C und Inline-Assembler schließen. Beim Analysieren von Speicherinhalt muss man aber dann doch Assembler können und auch verstehen, warum der Compiler den Code so oder so ausgelegt hat. Gewisse
Konzepte müssen einem geläufig sein.Bei anderen Hochsprachen wie .NET Kram oder Java geht es auch noch mal um etwas anderes. Dazu kann ich aber nicht viel sagen, mit .NET habe ich so gar nichts zu tun, weiß also auch nicht, warum ich es für welche Aufgabe wählen sollte. Und bei Java geht es natürlich um die Plattformunabhängigkeit, da ja noch mal ein Vermittler(Java VM) zwischen Betriebssystem und Java-Byte-Code steht.
Jedes Betriebssystem geht mit Ausführbaren Dateien anders um. Und bei verschiedenen Prozessoren ist natürlich klar, dass auf dem Level eine Plattformunabhängigkeit unmöglich ist, wenn jeder Prozessor Befehle anders versteht. Da ist Java bestimmt ganz nett, wenn es eine Java VM für ein OS gibt, dass auf einem vllt aussergewöhnlicherem Prozessor läuft. :p Aber dann hat man eben den Geschwindigkeitsverlust.^^
Lange Rede kurzer Sinn (Hobby):
- Man programmiert das auf dem Level, was einem einfach viel Spass bereitet
- Man wählt eine Sprache je nach Aufgabe (Aufgabenanforderung)
BTW: Ich programmiere z.Z. auch nur als Hobby. Auf genaue wirtschaftliche Aspekte gehe ich jetzt nicht ein, denn ich habe in 10 Minuten feierabend. :p
Cya.
-
Binn ich hier richtig...?
Ich habe mit ca. 12J auf einem Kinder Computer angefangen Basic zu lernen, dann kahm der c64 und dann hat mir mein Vater Qbasic unter MsDos vorgestelt.
Nach ein paar Jahren viel mir auf das es noch weiter runter geht, und wollte eine möglichkeit finden die Maschine mit den einsen und nullen zu befehligen und sties nach 10J auf Assebler.
Davon kahm ich dann nicht mehr los.
Auch wenn das Lernen ohne Ansprechpartner ziehmlich schwer war.
10 Jahre Pause...
Ich würde gerne alles in Assembler schreiben wie zB. ein eigenes OS leider fehlen mir dazu NOCH einige kentnisse in assembler und WIEDER beim Programmieren überhaut.
Die Bücher die ich habe beziehen sich alle auf DOS und seine Interrups aber die bringen im eigenen OS nichts.Hat da vlt jemand ein tip wie ich weiterkommen könnte?
PS.
Am liebsen würde ich gleich maschinencode schreiben...(HEX Format)
CD Num = INT Num
C3 = ret
...
Ist doch im grunde auch nur eine Fremdsprache!