LINUX.ORG.RU

Fortran: 65 лет с момента выхода первого справочного руководства

 , ,


2

1

В этот день 65 лет назад, 15 октября 1956 года, появилось первое справочное руководство для программирования на языке FORTRAN: «The Fortran Automatic Coding System for the IBM 704».

За 3 года до этого, сотрудник компании IBM Джон Бэкус предложил создать язык программирования, позволяющий записывать команды в более удобной для пользователя форме. В течение 1954-1957 годов Джон Бэкус вместе со своей группой разработали язык, считающийся первым широко используемым языком программирования высокого уровня, и в 1957 году выпустили первый оптимизирующий компилятор для него.

Так как Fortran быстро стал популярным для написания программ для интенсивных научных расчётов, это с самого начала сподвигло разработчиков конкурирующих платформ создавать компиляторы, способные генерировать быстрый и эффективный код.

Одним из важнейших событий в процессе развития языка стало принятие ANSI решения создать рабочую группу по стандартизации языка, что привело к появлению в 1966 году его первого стандарта FORTRAN 66. Некоторые созданные разработчиками компиляторов расширения к нему вошли в следующий стандарт FORTRAN 77 (в 1978 году), устранив ряд недостатков предыдущего стандарта.

К сожалению, только к началу 1990-х, с большой задержкой, был выпущен следующий стандарт Fortran 90, получивший множество улучшений, учитывающих изменения в используемых методах программирования по сравнению с теми, что были актуальны для 1978 года. Небольшим улучшением этого стандарта стал Fortran 95 (1997), включивший в себя возможности расширения High Performance Fortran для встроенного распараллеливания вычислений.

Последующие стандарты Fortran 2003 (2004), Fortran 2008 (2010), Fortran 2018 (2018) прежде всего добавляли и улучшали поддержку ООП, взаимодействие с языком C, усовершенствование динамического размещения данных в памяти, встроенную поддержку средствами языка параллельных вычислений (Co-Arrays Fortran). Стандарт Fortran 202x находится в разработке и дополнит стандарт Fortran 2018 несколькими расширениями.

На сегодняшний день многие вендоры предлагают свои компиляторы, дополнительные инструменты и математические библиотеки для Fortran:

  • GNU Fortran Compiler (gfortran из набора GCC);

  • LLVM Flang;

  • Intel;

  • NAG;

  • NVIDIA (NVIDIA HPC SDK);

  • HPE / Cray (Cray Compiling Environment (CCE))

  • IBM (IBM XL Fortran);

  • AMD (AMD Optimizing C/C++ Compiler (AOCC) - LLVM based);

  • ARM (Linux user-space Fortran compiler - LLVM based);

  • Absoft;

  • Oracle / Sun;

  • Lahey / Fujitsu;

  • Silverfrost FTN95;

  • NEC (NEC SX-Aurora TSUBASA Compilers, Libraries and Tools).

Популярность языка и его простота использования для научных расчётов позволила Fortran прочно занять свою нишу среди языков, использующихся в области HPC (High Performance Computing) для решения задач астрономии, метеорологии, вычислительной химии, вычислительной гидродинамики и ряда других областей.

(На основе материалов статей https://www.wikipedia.org и других источников)

>>> Подробности

★★★★★

Проверено: Zhbert ()

кто-то опять украл машину времени...

А по теме: long live Fortran!.. (я на нём иногда программирую... впрочем, без особого удовольствия, но он хотя бы лучше, чем С...)

Sahas ★★★★★ ()
Ответ на: комментарий от gns

Ага, жаль только, что те же coarrays в gfortran для распараллеливания требуют внешнюю библиотеку opencoarrays (использует mpi как транспорт, но код заметно короче получается).

Зато do concurrent (как и устаревший forall) так работает.

grem ★★★★★ ()
Ответ на: комментарий от hummer

Такого понятия, как фортранер, нет. Есть дядьки учоные в потёртых свитерах с пузырями на локтях. Они не фортранеры. Они физики, математики, химики и т.д. Они используют фортран.

yvv ★★☆ ()
Ответ на: комментарий от yvv

Как надо, я знаю. Это был ответ на утверждение gns. На самом деле даже весьма древний код времен фортрана IV в подавляющем большинстве случаев собирается современными компиляторами.

vence ()
Ответ на: комментарий от anonymous

Не вижу причин для отказа от фортрана

Так никто и не собирается отказываться. Хорошая прикладная штука для инженеров. Отлаженные за десятилетия библиотеки.

Он и хипстоту переживет.

«Хипстота» и тебя переживет, и меня переживет. Потому что порог вхождения, в том числе и для помянутых инженеров, минимален, а интерпретатор позволяет использовать «хипстоту» для дофига кейсов, где можно использовать скрипты.

Для почти всего есть ниши, только ширина ниш разная.

IRASoldier ()
Ответ на: комментарий от yvv

Да, на питоне трудно будет написать эмуляцию ядерного взрыва. А на фортране перевести результаты этой симуляции в удобоваримый для вэб странички вид.

Спасибо, садитесь, мы поняли ваш уровень. Продолжайте и дальше делать ваши веб-странички и не забивайте себе голову разными научными теориями.

anonymous ()

Fortran: 65 лет с момента выхода первого справочного руководства

Ожидаем

Fortran: 465 лет с момента выхода первого справочного руководства
anonymous ()
Ответ на: комментарий от anonymous

Да, на питоне трудно будет написать эмуляцию ядерного взрыва. про это тебе по секрету рассказал голос из унитаза? или ты сам придумал?

Ну вот стали подтягиваться люди, говорящие с унитазами и искренне считающие что так делают и все остальные. Передавай привет твоему унитазному Хотабычу.

anonymous ()

Одним из важнейших событий в процессе развития языка стало принятие ANSI решения создать рабочую группу по стандартизации языка, что привело к появлению в 1966 году его первого стандарта FORTRAN 66.

Более известный как Fortran IV. (Да, ещё раньше были II и IV.)

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от vence

Я за то, чтобы наконец уже взять и переписать. Netlib уже практически весь давно переписан. Где старый код ещё есть?

У меня на работе менее 1% старого кода, который один старикан наотрез отказывается переписывать, а кроме него никто не понимает, что этот код делает. Но его в конце концов заменят, потому что поддерживать этот ужас после ухода старикана на пенсию никто не будет.

yvv ★★☆ ()
Ответ на: комментарий от vence

Нет конечно, переписывать сейчас фортрановскую программу многолетней давности так это себе дороже. Хотя, я бы поостерегся сравнивать вещественные числа с нулем на равенство :) Ну и приписать с старому коду IMPLICIT NONE и посмотреть, что будет. А то может быть как в старой байке:

DO 10 K = 1.10
.....
10 CONTINUE

gns ★★★★★ ()
Ответ на: комментарий от hobbit

Более известный как Fortran IV.

На СМ-1 и СМ-2М юзал еще и Алгол-68.
Потом правда крутой разработчик, разработал Pascal

Не гуже борландского и лет на десять раньше их ...
anonymous ()
Ответ на: комментарий от vence

Да была у нас нейронная сеть на фортране. Код в основном занимался вычислением скалярного произведения одномерных векторов (примерно по миллиону координат) REAL*8. Расчет шел минут 10 изначально. Вот, типа, тупо скалярно перемножить два массива длиной в миллион и так итераций тоже за 100 тысяч пока сойдется. После прикручивания MKL c SIMD и распараллеливания компилятором на четыре потока (ну уж сколько ядер было), вместо 10 минут счет стал занимать минуты три. Ну еще малька пооптимизировали, стало совсем приемлемо.

gns ★★★★★ ()
Ответ на: комментарий от vM

IBM

Ну а как же без нее …
В Центпрограмм Систем съездил за исходниками ОС.
Кстати СВМ /на ЕС ЭМВ Система Виртуальных Машин/, то как близнец брат MSDOS.
Можно было аж 1MB памяти взять.
Это при том-то, что сама ЕС ЭВМ 1042 имела 512KB! Для тех времен это была

ФАНТАСТИКА

Били от туда по началу многое использовал.
Да и OS-2 с тех же краев.

anonymous ()