Книга: The History of the Fortran Programming Language (2019)
Во время чтения литературы на тему мне случайно попалась книга про историю Фортрана. После чтения материалов по устройству оптимизирующих компиляторов вообще неизбежно проявление интереса к одному из старейших, если не старейшему, активно используемого языку программирования.
The History of the Fortran Programming Language за авторством Марка Лоренцо (англ. Mark Lorenzo) старается одновременно рассказывать истории людей, ключевых компиляторов и языковых стандартов. Начинается с истории людей, вошедших в легендарную команду компиляторщиков (касаясь не только Бэкуса, но даже того же фон Неймана), и компьютеров, для которых была предназначена их разработка.
Первым шагом Бэкуса стал его опыт в разработке компиляторов стала система Speedcoding, реализующая числа с плавающей и фиксированной запятой на ранних компьютерах от IBM. Система была относительно медленной, заставляла понимать детали работы конкретных машин. В истоге числа с плавающей запятой были реализованы в железе, а Бэкус смогу сформулировать собственное видение касательно будущего программирования.
Фортран это прежде всего первый агрессивно оптимизирующий компилятор - и Бэкус считал очень важным. В первом же компиляторе были реализованы разбиение на фазы, разбор и компиляция алгебраических выражений, эффективное распределение индексовых регистров и другие оптимизации. Именно эти разработки и заняли так много времени.
В последующие десятилетия разработчики Фортрана заложат все основы и связанную с оптимизирующими компиляторами терминологию. Например, прорывным был компилятор Fortran H, авторы которого сформулировали отношения доминирования, находили и двигали константные выражения, общие подвыражения и т.д.
Чувствуется, что написание книги предварялось серьезным исследованием. Автор, отступая от небрежных традиций популярной литературы, даже включил длинный список первоисточников. С другой стороны, ссылок внутри текста нет, поэтому использовать уже саму книгу как отправную точку для исследований не получится…
А еще, признаться, серьезной редакторской работы тексту все же не хватает. Материал объединяет в себе очень разные вещи и истории: нововведения в языке, компьютеры, перфокарты, фон Нейман, масса каких-то почти не вполне связанных с темой личных историй. Такое чувство, что автор, собрав массу материала, очень боялся выбросить хоть что-то… Или просто раздувал объем?
Я б сказал, что книга к прочтению не обязательная, но и жалеть не придется.