Als FORTRAN entwickelt wurde, gab es keine Portabilität von Code. Es war absolut Routine für den FORTRAN-Compiler auf einem Computer, eine etwas andere Sprache zu akzeptieren als der Compiler auf einem anderen Computer. Die häufigste Variante war die Namenslänge. Der IBM 1130 FORTRAN erlaubte fünf Zeichen, der DEC-10 sechs, der CDC 6600 (meine erste Maschine, meine erste echte Assemblersprache) sieben. Die Sprache erforderte dreidimensionale Arrays. Mindestens ein Minicomputer (Varian 76?) FORTRAN erlaubte siebendimensionale Arrays.
Unternehmen haben ihre FORTRAN-Sprachen routinemäßig erweitert, um ihre Maschinen für Kunden attraktiver zu machen, und obwohl die Erweiterungen ähnliche Funktionen bieten könnten, waren sie nie identisch. Viele Compiler stellten Erweiterungen für die Datei-E / A- und Overlay-Verwaltung bereit und waren nie identisch. Manchmal waren sie nicht einmal in der Nähe.
FORTRAN-FORTRAN-Konvertierungen, bei denen ein Programm von einer Maschine auf eine andere portiert wurde, waren eine sehr geschäftige Heimindustrie, und die Leute, die das konnten, konnten immer Arbeit finden. (Ich habe zwei solcher Konvertierungen durchgeführt: Ich habe geholfen, das ursprüngliche "Star Trek" -Spiel von Matuszek-Reynolds-McGehearty-Cohen vom CDC 6600 auf den DEC-10 zu portieren, und ich habe ein EKG-Analyseprogramm von Varian 76 auf TI 990 portiert. Nr. Zwei solche Projekte waren identisch.)
Diese Art von Dingen machte es sehr, sehr schwierig, "Standard" -Bibliotheken bereitzustellen, obwohl einige Leute es versuchten. Die IMSL-Bibliothek war die größte, wurde jedoch in Quellcodeform ausgeliefert, und der Kunde musste sie auf seinem System zum Laufen bringen.
Außerdem: Von FORTRAN-Programmierern wurde ein angemessener Hintergrund in numerischen Methoden erwartet. Nahezu jeder FORTRAN-Programmierer auf dem Planeten lernte damals, wie man als Hausaufgabe Mittelwert und Standardabweichung für sich selbst macht. Jeder FORTRAN-Programmierer lernte in der Schule Halbierung und Newton-Raphson-Iteration (heutzutage als "Newton-Methode" bezeichnet). Runge-Kutta-Methoden wurden normalerweise auswendig gelehrt, und zu dieser Zeit waren Runge-Kutta-Integratoren 6. Ordnung Lehrbuchbeispiele. (Es war viel später, als die Leute herausfanden, dass Runge-Kutta 4. Ordnung der "Sweet Spot" auf der Kosten-Nutzen-Kurve war.)
Und: Programmierer haben selten Computer gewechselt, ohne auch Jobs zu wechseln. Von den Programmierern, die sich bewegten, wurde erwartet UND ERFORDERLICH, dass sie sehr gut lernen, wie die neuen Systeme funktionieren, und die Unterschiede aufgreifen.
In dieser Umgebung wird es kaum einen "Standard" -STDDEV-Code geben, wenn es etwas war, das jeder kompetente FORTRAN-Einsteigerprogrammierer im Schlaf schreiben konnte.