Juergen Ilse <
ne...@usenet-verwaltung.de> schrieb:
"hatte" ist vielleicht etwas präziser, seit 1991 ist es "obsolecent",
seit 2018 aus der Norm verschwunden.
Ich habe mir mal "Abstracting Away The Machine" besorgt, die Geschichte
von Fortran. Das ist absolut faszinierend, wie es aussah, als das Team
von Backus damals mit dem ersten Fortran-Compiler angefangen hat.
Damals haben die meisten Programmier Maschinensprache geschrieben.
Wenige haben Assembler verwendet, das hat wertvolle Maschinenzeit
verbraten und war für Weicheier. (Never mind the debugging).
Und der erste Fortran-Compiler hat es tatsächlich hinbekommen,
die Effizienz von handgeschriebenem Maschinen- bzw. Assemblercode
zu erreichen.
Das Team hat damals den basic block erfunden (einschließlich
reordering) und mit (wie wir heute sagen würden) strength
reduction, value propagation und dead code elimination operiert.
Die Registerzuteilung war auch exzellent (da hat man erst Jahrzehnte
später was besseres gefunden). Ein weiterer riesiger Schritt
war arithmetisch korrektes Parsen von Formeln wie a + b*c**(d+e),
allerdings viel komplizierter als heute (ohne Rekursion).
Und das alles in ca. 24000 Assembler-Instruktionen für den
ganzen Compiler, auf einer Maschine mit einem Akkumulator,
einem Hilfsregister und drei Indexregistern.
Die Leute hatten's echt drauf.