@XanClic
Intelligenz erfordert doch aber auch die Fähigkeit zu lernen oder? Und dazu sind Compiler noch nicht fähig, man muss sie programmieren, aber von alleine schaffen sie es noch nicht.
Man würde also unendlich lange für ein bestimmtes komplexes Problem in Assembler brauchen, das man in endlicher Zeit mit Hilfe eines Compilers/Hochsprache lösen kann?
@taljeth
Du willst das Rad also nicht neu erfinden. Wieso erfindest du dann das Rad=OS neu? Es gibt doch schon genügend Räder=OS.
Und auch du setzt wieder Compiler mit GCC oder meinetwegen noch LLVM gleich. Es gibt aber noch andere Compiler, die weniger guten Code erzeugen.
Um es mal auf einen anderen Fall zu übertragen. Man nehme sich 2 Sportler und die laufen gegeneinander 100m, aber es hat nicht der gewonnen der weniger Zeit benötigt hat, sondern der der das auch noch mit weniger Training geschafft hat.
Das wäre so in etwa das gleiche, ein Assembler-Programmierer kann also nicht gewinnen, weil er immer länger brauchen wird als z.B. ein C-Programmierer.
Desweiteren geht ihr auch von sehr hardwarenahen Sprachen aus. Denn wenn ich das mal ummünze, heißt es also auch ein Assembler-Programmierer kann keinen schnelleren Code schreiben als ein Java-Compiler (das Java nunmal in einer VM läuft ist ja egal, es geht um das Ergebnis).
@erik
Du schaffst doch auch gute Nebenbedingungen für einen Compiler, sprich du baust dir deine Realität auch so wie du sie brauchst!
Was den Kunden und Änderungen kurz vor Schluss betrifft. Dafür gibt es ein Pflichtenheft und was da nicht drinsteht muss auch für die Erfüllung des Auftrages zu einem bestimmten Termin nicht gemacht werden. Wenn der Auftraggeber dann noch was will, muss halt neu verhandelt werden, inklusiver eines neuen Termines.
Aber zurück zum Thema, wer als Hobby ein OS schreibt, hat keine Termine die eingehalten werden müssen. Angefangen hat doch die Diskussion dadurch:
Wie ich an anderen Stellen schon mehrfach erwähnt habe, kann ein C-Compiler wesentlich besser optimieren als du es je könntest
Außerdem kennen gute C-Compiler deine CPU besser als du es je könntest.
Auch ein moderner Compiler will erstmal auf eine neue Architektur portiert werden, dass nimmt Zeit in Anspruch. Es ist also durchaus möglich, das auf einem neuem Mikrokontroller, ein Assemblerprogrammierer wesentlich schneller ein Problem lösen kann (in Form von Code) als jemand der erst noch nen Compiler portieren muss (nur den Codegenerator und eventuell den Optimierer).
Also gibt es durchaus auch in der Realität Fälle, wo man mit Assembler schneller ist.