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 ()
Ответ на: комментарий от anonymous

Да, Билли люди в наше время, не то что нынешнее племя…

Ныне время «купи-продай».

Жаренные семечки покупают хорошо?  
ПРОДАЕМ ...  
anonymous
()
Ответ на: комментарий от anonymous

Жаренные семечки покупают хорошо?
ПРОДАЕМ …

Таким путем ныне «новые технологии» развиваются …
Утрирую конечно, но смотря на «развитие» WWW, ИИ, …
ИМХО все же анализ полета трех триллионов комаров не поможет решить другие задачи … /но для некоторых годится/.
Такое впечатление, что ныне разработка ИИ не боле чем 65-летней давности технологии экспертных систем … /и не более того/ …

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

Такое впечатление, что ныне разработка ИИ не боле чем 65-летней давности технологии экспертных систем … /и не более того/ …

Как раз экспертные системы и прочиее сложнаа поменяли на статистический брутфорс, и назвали это ИИ. BigCyc так и остался idee fixe нескольких людей, остальные безоговорочно приняли новую дефиницию «интеллекта».

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

Как раз экспертные системы и прочиее сложнаа поменяли на статистический брутфорс, и назвали это ИИ.

ИМХО тупняк же, а он ныне рекламируется как ПЕРЕДОВАЯ ТЕХНОЛОГИЯ …

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

ИМХО тупняк же, а он ныне рекламируется как ПЕРЕДОВАЯ ТЕХНОЛОГИЯ …

Говорил в контексте развития ИИ …

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

Так стандарта с таким названием и не было, хотя FORTRAN 66 фактически его и описывал.

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

Ну да.

А если у тебя скалярное произведение надо насчитывать, то и нумпай сойдёт.

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

С чего это? plplot прекрасно сохраняет в том числе в postscript.

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

Шутка на > А то. @Evgueni покажите нам свой хирш.

А то. @Evgueni покажет нам свой хирш.

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

Стесняюсь даже спросить, а кроме питона и Фортрана других языков нет?

Julia is designed from the ground up to be very good at numerical and scientific computing. This can be seen in the abundance of scientific tooling written in Julia, such as the state-of-the-art differential equations ecosystem (DifferentialEquations.jl), optimization tools (JuMP.jl and Optim.jl), iterative linear solvers (IterativeSolvers.jl), Fast Fourier transforms (AbstractFFTs.jl), and much more. General purpose simulation frameworks are available for Scientific Machine Learning, Quantum computing and much more.

Julia also offers a number of domain-specific ecosystems, such as in biology (BioJulia), operations research (JuMP Dev), image processing (JuliaImages), quantum physics (QuantumBFS), nonlinear dynamics (JuliaDynamics), quantitative economics (QuantEcon), astronomy (JuliaAstro) and ecology (EcoJulia). With a set of highly enthusiastic developers and maintainers, the scientific ecosystem in Julia continues to grow rapidly.

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

Есть продукт с названием FORTRAN IV, но нет стандарта с таким названием.

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

Русские физики вообще публикуются нынче в авторитетных зарубежных изданиях?

Издания первого квартиля за авторитетные сойдут?

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

Вот такие забавные личности и выпустили SMASH в попытке переписать GiBUU. Ну и ты же помнишь что случилось на последней конференции на Крите, где они показали результаты?

Есть ещё забавный пример перехода от фортрана в PYTHIA6 к C++ в PYTHIA8.

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

Есть ещё забавный пример перехода от фортрана в PYTHIA6 к C++ в PYTHIA8.

А что там забавного? Не слышал об этой истории.

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

СВМ /на ЕС ЭМВ Система Виртуальных Машин/, то как близнец брат MSDOS.

Не такой уж и близнец, если Вы CMS(ПДО) имеете ввиду. https://www.ibm.com/docs/en/zvm/7.1?topic=commands-copyfile Какой в MS-DOS аналог следующей команды?

copyfile source assemble a = fixed b (recfm f lrecl 130

В свою PC-DOS в 1990-х IBM взяла из VM/CMS REXX, некоторое бледное подобие редактора XEDIT

Можно было аж 1MB памяти взять.

Можно было и все 16. Если в оглавлении для виртуальной машины это разрешено и/или класс позволяет.

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

Это руководство, не являющееся стандартом. Изначально был вопрос, почему среди (среди стандартов) не упомянут Fortran IV. Хотя при упоминании 66-го на него можно было сослаться, как на основу.

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

стандарт «Fortran 66» это и есть «Fortran IV»

«Fortran IV» и не мог быть «Fortran 66», так как разрабатывался в начале 1960-х, когда стандарта ещё не было. В первой половине 1960-х появились реализации на неIBMских машинах, прежде всего CDC. По мере отказа от платформозависимых элементов языка появилась возможность стандартизации, а с ростом обмена программами и переноса на другие платформа, и необходимость.

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

За него комитет с 77 года взялся. И ничего, язык жив пока. И то, что туда напихали язык не испортило вот никак и только улучшило. Распараллеливание «искаропки», интерфейсы (ala C-function prototypes), сильно помогаютю А то, что выкинули... Ну, если и жалко, то из ностальгии. К тому же, всегда есть опция скомпилировать свою древнюю программу в стандарте фортран IV. Я взял старый пидипишный adventure лохматого года и собрал наипоследним штеудом. И ничего... По прежнему можно ходить по колоссальной пещере. И лампа не гаснет. :)

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

Си и всё на нём написанное

Чо, прям все операционные системы? :-)

Прям все?

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

Я в курсе :) Мы с Крокодилом друзья давно.

gns ★★★★★
()

Это то самое убожище, в котором до сих пор не выкинули неявную типизацию и не завезли прототипы функций

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

Извините - Markdown в виде списка занимает полэкрана со своими пустыми строками между элементами списка - либо ЛОР что-то сделает, либо нахер такие новости - вспоминаем LOR-code…

Ты слишком требователен к смузихлебам.

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

Вот комитеты, которые пишут технические стандарты – это да, это серьёзно. Столько вреда человечеству ещё не наносил никто и никогда.

Да какого вреда? Один господин из этого комитета мой коллега. Физик по образованию, в CS шарит очень хорошо. Что нужно научной братии от фортрана прекрасно понимает. И там все остальные тоже не дураки. Фортран развивается именно так, а не по-другому не потому, что комитет так хочет. Просто учёные, которые им пользуются, предъявляют непростые требования.

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

Один господин из этого комитета мой коллега.

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

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

Судя по ахинее которую вы здесь активно несете второй день, «мой коллега» - очень плохая рекомендация.

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

Вред от комитетов состоит в навязывании всему миру даже не то что «своей точки зрения», (точка зрения бывает у людей, у комитета её нет), а скорее мнений тех, у кого достаточно нахрапа, чтобы одолеть сопротивление. Впрочем, сопротивляются комитеты обычно не слишком активно, это же что-то делать надо, аргументы придумывать, силы и нервы тратить. Проще согласиться, «и кино сразу кончится».

Когда у кого-то есть «непростые требования», нужен не комитет, нужны просто люди, которые пишут компилятор. Если есть несколько конкурирующих реализаций языка, то каждая из команд, отвечающая за свою реализацию, должна сама принимать решения, как те или иные запросы удовлетворить, либо не удовлетворять их вовсе. При этом, разумеется, вменяемый программист не станет использовать такие расширения языка, которые мало кем поддерживаются, если только в них реально не возникнет вот прямо жутчайшая потребность. Как следствие, любую «новую возможность» можно будет считать проникшей в язык только когда её (причём одинаково) станут поддерживать в большинстве реализаций, т.е. де факто при достижении полного консенсуса между создателями реализаций языка, а сам язык как явление будет развиваться максимально консервативно, как это и должно быть. Всевозможные одиозные инициативы «улучшения языка» так и останутся расширениями отдельных компиляторов, там им и место. Когда же собирается комитет, по факту это всегда сборище случайных людей, сотрудников второго сорта (потому что те, которые первого сорта, нужны в своей организации, в комитет их никто не отпустит), которые никак не отвечают за свои действия и никак не заинтересованы в качестве результата, не им же это реализовывать и не им же на этом писать. Чтобы провести через комитет самую лютую дичь, достаточно просто обладать определённой степенью напористости и наглости (и, как правило, с чувством ответственности за свои действия это вообще никак не сочетается), что мы, собственно, и наблюдаем. Не знаю как насчёт фортрана (хотя появление там «свободного синтаксиса» у меня вызывает вопрос, почему ЭТО всё ещё называют «фортраном», что тут вообще общего с тем языком, который когда-то придумал Бэкус), но вот от комитетов, выкатывающих один за другим «стандарты» Си и Си++ (да и posix туда же, в принципе), пока что я пользы никакой не видел, напротив, эти «стандарты» состоят из лютых бредней чуть менее чем полностью, и использовать оттуда нельзя вообще ничего, вот то есть вообще, совсем – если считать, что эти два языка «изменились», т.е. согласиться с тем, что они есть то, что написано в стандартах, то их оба придётся немедленно закопать (вот только писать тогда будет не на чем, увы). А ещё, например, вот такие штуки случаются: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30475 (если не видели, читайте до конца, доставляет)

Про учёных мне можно, пожалуй, не рассказывать, я сам вообще-то, э… http://www.stolyarov.info/stolyarov.html

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

Так байка не в том, что какая-то древняя лампочка все ещё существует. Дело в контексте :-)

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

В llvm 13 есть, только его никто не собрал пока. А как внешний проект он в других есть компиляторах.

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

Лучше быть анонимом чем тобой. Ты настолько туп что не стыдишься собственной тупости.

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

Перестаньте наконец жрать наркоту каждый день.

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