Когда разрабатывался FORTRAN, не было такого понятия, как переносимость кода. Для компилятора FORTRAN на одной машине было совершенно обычным делом принять немного другой язык, чем компилятор на другой машине. Наиболее распространенным вариантом была длина имени. IBM 1130 FORTRAN допускал пять символов, DEC-10 - шесть, CDC 6600 (моя первая машина, мой первый настоящий язык ассемблера) - семь. Трехмерные массивы требовались языком; по крайней мере один миникомпьютер (Varian 76?) FORTRAN допускал семимерные массивы.
Компании регулярно расширяют свои языки FORTRAN, чтобы сделать свои машины более привлекательными для клиентов, и, хотя расширения могут предоставлять схожую функциональность, они никогда не бывают идентичными. Многие компиляторы предоставили расширения для ввода-вывода файлов и управления наложением, и они никогда не были идентичными. Иногда они даже не были близко.
Преобразование Фортрана в Фортран, портирование программы с одной машины на другую, было очень занятой индустрией коттеджей, и ребята, которые могли это сделать, всегда могли найти работу. (Я работал над двумя такими преобразованиями: я помог перенести оригинальную игру «Звездный путь» Матушека-Рейнольдса-Мак-Харти-Коэна с CDC 6600 на DEC-10, и я перенес программу анализа ЭКГ с Varian 76 на TI 990. Нет двух такие проекты были идентичны.)
Подобные вещи очень затрудняли предоставление «стандартных» библиотек, хотя некоторые пытались. Библиотека IMSL была самой большой, но она поставлялась в форме исходного кода, и клиент должен был заставить ее работать в своей системе.
Также: программисты на Фортране должны были иметь разумный опыт работы с численными методами. Почти каждый программист на планете ФОРТРАН в те дни научился делать среднее и стандартное отклонение для себя, как домашнее задание. Каждый программист на Фортране изучал бисекцию и итерацию Ньютона-Рафсона (ныне называемый «метод Ньютона») в школе. Методы Рунге-Кутты обучались, как правило, наизусть, и в то время интеграторы Рунге-Кутты 6-го порядка были примерами из учебников. (Это было намного позже, когда люди поняли, что Рунге-Кутта 4-го порядка была «сладкой точкой» на кривой эффективности затрат.)
И: Программисты РЕАЛЬНО меняли компьютеры, не меняя при этом рабочих мест. Ожидалось, что те программисты, которые передвигались, должны были очень хорошо знать, как работают новые системы, и выявлять различия.
В этой среде будет очень мало вызовов для «стандартного» кода STDDEV, когда это мог написать любой компетентный программист на FORTRAN начального уровня.