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 ()

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

Чувак, симуляция взрыва с распылением чего либо интереса не представляет - физическая задачка, да сложная, да с нетривиальными иногда упрощениями, полезная для студентов. Но вся та херня которую ты насчитал абсолютно ни для кого интереса не представляет, даже твоему научнику скорее всего не интересна. А вот если бы в твоей симуляции были бы кое какие реальные данные по реальным веществам, то ты либо не писал бы сюда, либо давно сидел бы и плакал горючими слезами за столом т.Майора. И получил бы ты эти данные не сразу, а подписав небольшую пачку серьезных документов. Причем пофиг где бы ты учился, у нас, у французов или у заклятых друзей - американцев. Я, если бы считал ядерщину, - тоже бы молчал в тряпочку, если ты не в курсе, их за жопу берут за сам факт писанины чего либо вообще в сети. По крайней мере американцы со своими сейчас так поступают. Сильно сомневаюсь что у нас мягче. Так что не трынди, серьезный специалист…

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

Я видел программу на перфокарте. И логарифмическую линейку тоже держал в руках. И ПМК БЗ-21 тоже. Но они у меня не вызывают чувств ностальгии.

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

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

Да, видел я код на фортране, функции на несколько экранов с однобуквенными переменными, с циклами тройной вложенности и с 0 комментариев. Такое действительно, править страшно, переписывать долго. Автор в свое время потратил несколько недель, чтобы такое отладить. Ну и работает быстро, тебе не нужны zero-cost abstractions, если абстракций никаких нету)

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

Никакого отношения к этому не имею. Иначе бы не трепался здесь, с тобой, великим знатоком всего на свете. Просто однажды поинтересовался, в очень общих чертах, насколько все это закрыто. Мне ничего не сказали, но порекомендовали почитать воспоминания одного малоизвестного конструктора - абсолютно открытые. Инфа оттуда.

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

Хорошо, посчитал ты, допустим не ядерный взрыв, а вакцину от всего. Серьёзная задача? У тебя 1000 экспериментов по XX терабайт выходных данных. Чё дальше с этими данными делаем?

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

Если коротко - все очень закрыто. Во всем мире. И слава богу.

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

Ну о чем тогда разговор? Мы же понимаем, что все течет, все изменяется и изменяется от более простого (компиляторы) и ужасного (синтаксиса языка) к более сложному (компиляторы) и прекрасному (синтаксиса языка) и тот же Fortran в GNU сейчас, учитывая что его делают в одной связке с C, является тем же компилятором с почти теми же оптимизациями что и С, но заточенным на синтаксис Fortrana и его некоторые фичи поставляемые с Fortranom «из коробки», а в С - подключаемыми через внешние библиотеки

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

Я не специалист по вакцинам от всего. Это твое. Аэрокосмическая промышленность. Физика. Вакцины от всего. Что еще? Более корректный пример пожалуйста. Задача. Область применения. Выходные данные. Их примерный объем. А «вакцина от всего» очевидная сова на глобусе.

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

Дядя, ты совсем дурак? Какая разница, какая модель выплюнула эти терабайты? Никакой. Тебе нужно их обработать и представить в презентабельном виде (в виде графиков и таблиц). Это называется пост процессинг.

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

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

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

Для этого есть математические методы оптимизации и сравнения.

Он же предложил лучший способ!
С друзьями, 10000 графиков проанализировать 100000 раз.
Лучше же?

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

Хорошо, ты оптимизировал и сравнил (для этого, кстати, уже питон рулит и педалит). Дальше что с результатами делаем?

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

Вьюношь, ты совсем тупой. Если у тебя ничего секретного, ничего сложного, да в добрый путь - бери питон и обрабатывай как хочешь. Милое дело. И выложить потом куда хочешь можешь. В любом виде - в нем инструментов готовых море, он для этого очень даже подходит. А если тебе надо по итогам этих экспериментов глубоко все обсчитывать, искать какие нибудь неочевидные корреляции, то ты рискуешь что твои внуки результатов не дождутся - библиотеками тебе не всегда все сделать удастся. Что тут обсуждать? Разные задачи - разные инструменты.

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

Если у тебя ничего секретного, ничего сложного, да в добрый путь - бери питон и обрабатывай как хочешь

А если секретное, то питон уже нельзя?

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

Куда ты там «выкладывать» будешь?

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

Разные задачи - разные инструменты.

Наконец-то, дошло. Именно так нормальные люди и пользуются инструментами. Вычисления – фортран. Подготовка начальных/граничных данных, обработка результатов, графики, веб страницы – это питон/матлаб/R/IDL и т.д. Всё это вместе – часть исследовательского процесса.

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

Ладно. Хватит. Зацикливаемся уже. Все - ты победил. Интернет есть везде. Везде работают так как ты думаешь. Фортран устарел и «нинужен».

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

Фортран устарел и «нинужен».

Свои фантазии не нужно другим приписывать.

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

Его потуги мне больше напоминают анекдот:

Студент сельхоза выучил на экзамен только строение блохи. Ну > тянет он билет — там строение собаки. Вот он и начинает: — Собака — животное на четырех лапах, покрыто шерстью. А в шерсти водятся блохи…И дальше про блох все что знает. Препод: — Ладно, ладно. Расскажите нам о строении коровы. — Ну, корова, это животное на четырех ногах, питается травой, покрыто шерстью. А вот в шерсти водятся блохи, ну и дальше по тексту. — Ладно, хватит. Расскажите нам тогда про строение рыбы. — Рыба живет в воде, шерсти у нее конечно нет, но вот если бы она у нее была, то в ней обязательно водились бы блохи…

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

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

ясно значит сам придумал

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

Кладем на mapreduce кластер и обрабатываем.

А часто достаточно набить пару строк в ipython и фигак, у тебя уже готовый график. Делать нужно как проще, а не как сложнее.

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

А еще обычно никаких документов на это нет. Кроме пары страниц с указанием что куда вводить. И то не всегда.

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

Тогда уж "спидинфо"читать. Или малахова смотреть.

На ЛОР тоже отжигать могут не хуже …

anonymous ()

У меня один знакомый считал на фортране всё. На него было жалко смотреть. Ему все говорили, чё ты паришься, посчитал тяжёлую часть на фортране, дальше возьми матлаб хотя бы. А он упорствовал. В конце концов, затрахался и сдался. Теперь ходит, счастливый.

yvv ★★☆ ()

Все пацаны разбегаемся.
Скоро санитары с смирительными рубашками придут.

anonymous ()

Тиранозавр еще жив)

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

Fortran) — первый язык программирования высокого уровня, получивший практическое применение, имеющий транслятор и испытавший дальнейшее развитие. …
Название Fortran является сокращением от FORmula TRANslator (переводчик формул).
Фортран широко используется в первую очередь для научных и инженерных вычислений.

Так, что без всякой wiki почти правильно догадался о названии языка …

anonymous ()

Древние саксаулы не смогли осилить тот же С или С++ ?))) Так и остались на фортране с его GOTO и метками))).

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

Я так понимаю, оппонент - я?

Ну что ж, меня отсутствие общения с анонимусами явно не заденет.

И да, рекомендую ознакомиться на чем написан Code:Saturne и CFL3D.

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

О чем догадался? Тебе чуть выше прямым текстом написали - транслятор формул.

На третий день зоркий глаз заметил что в камере нет одной стены?

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

Что уж ты так плохо о себе думаешь. Нет.

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

Что изначально там был фортран. CFL3D полностью на фортране. Nastran тоже, хоть он и МКЭ. Fun3D, который, к сожалению, могут получить только граждане США - тоже на Fortran, правда уже на 90 или 2003. Внушительная часть средств построения сеток также написана на фортране. Хотя и на C++ есть. И даже 1 мертвый проект на Ruby..

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

А, понял. Я не тот анонимус. И ты нас, анонимусов, как это ни прискорбно не различаешь.))) Я за фортран. Я на нем сам писал, правда давно - вполне приличная штука. Во всяком случае сильно менее долбанутая чем, к примеру, тот же Python.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.