НовостиСобытияКонференцииФорумыIT@Work
Идеи и практики автоматизации:

Блог

Воспоминания о будущем Фортрана

Андрей Колесов
06.10.2011 12:14:41

Цитата
"Какие языки программирования будут применяться для расчетных научных задач в XXI веке?"
"Разные. Но главным среди них будет Фортран"


Эту цитату – ответ кого-то из ИТ-авторитетов, не помню сейчас, - я нашел еще в середине 1990-х, а само высказывание, наверное, было сделано еще раньше. Я ее вынес в начало Web-раздела по Фортрану, сделанного в апреле 1999. И вот теперь, во втором десятилетии XXI века, убедился в ее истинности.

Вспомнить о цитате пришлось на пресс-конференции на российской конференции Intel Software '2011, прошедшей в конце сентября в Москве (вот статья и фотоотчет об этом).

Надо сказать, что тема средств разработки – довольно сложная и не привлекает особого внимания общественности и СМИ. А средства разработки Intel – еще более сложная (по сравнению с IBM или Microsoft), поскольку является сильно технической, связана низкоуровневыми проблемами ИТ-архитектуры. Поэтому особого активности на встрече Intel с журналистами явно не наблюдалось. Оживление возникло только, когда было упомянут Фортран в составе нового инструментального пакета Intel.

Причем оживление это было инициировано несколькими представителями старшего поколения и вопросы их сводились к таким: "Как? Он еще жив? Почему?". Остальная (бОльшая) часть журналистов с удивлением слушала возникший диалог, не очень понимая о чем идет речь (кажется, некоторые и слово-то такое услышали впервые).

Я же поспринимал инфо "Интела", как само собой разумеющуюся. Во-первых, потому, что я сам был уверен в перспективах Фортрана еще лет 20 назад, а во-вторых, хоть и не пишу на эту тему уже десять лет, но все же слежу и в курсе.

Вот ведь какая интересная штука. Фортран – это один из старейший языков верхнего уровня (не ассемблер), он создан к середине 1950-х IBMом. Внешне – сильно неказистый и уступающий по многим параметрам более молодым, сильным и перспективным (Algol, PL,…).
И где они теперь – молодые и перспективные? А Фортран – вот он.

P.S.. Кстати, на публикацию о Small Basic
Денис Котляров (Microsoft) дал подробный ответ-комментарий. Будем следить за развитием этой темы.

Комментариев: 14

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии

SP
07.10.2011 13:58:55

Нет, ну это то понятно - это лирика, но а где фундаментальная работа с техническими подробностями?
Писать то есть про что:
Закон Мура перестал работать. Идет увеличение ядер. Чтобы программы работали быстрее их надо распараллеливать. Что говорит интел по этому поводу. Как можно что то сделать не переписывая код, а именно только средствами компилятора. Мне интел шлет все время рекламки, показывающие, как только лишь перекомпиляция программ на Intel Fortan Composer дает прирост 40% производительности. Врут? Подобрали задачку? А что делать в области конечных разностей, где надо решать системы линейных уравнений. Что надо все солверы переписывать или нет? А если нельзя не переписывать? Что же будет тогда с Фортраном? Ведь число людей, умеющих писать на нем уменьшается (наверное?), если возьмутся переписывать, то уж будут что делать на более современных языках. Тогда он умрет? А может нет? Мой аспирант, вернувшийся с конференции, говорил с каким то британцем, который компилирует Modflow компилятором, задейсвующим мощности гарфических карт (текста я не видел, только пересказ). Значит Фортран идет в ногу со временем?
Когда наконец общественность увидет от тебя такую статью?

moleculator
07.10.2011 14:00:24

Особенно следует подчеркнуть, что долгожителем является fortran77, а его "более молодые, сильные и перспективные" отпрыски типа f90+ не очень-то востребованны и по своей сути являются попыткой привить "всякие излишества" из С, ООП, etc. (типа корове седло).
Кстати, "односторонние межпроцессорные коммуникации" из MPI2.0 очень уж похожи на common-блоки 77-го фортрана.

integr1
07.10.2011 19:44:42

Хотелось бы прочитать более подробную статью
про Intel® Parallel Studio XE 2011,
Intel® Cluster Studio 2011 и Co-array Fortran.

Константин
08.10.2011 00:31:51

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

moleculator
08.10.2011 15:48:39

Костя, ну вы прям с дуба упали что ли? Суть фортрана не в написании "красивых окошечек с кнопочками", а в "ФОРмулаТРАНсляции".. А для этого вполне достаточно какого-нить гнуто-консольного компилятора, 'notepad-а', принтера и бумаги.

Ну, а уж если совсем невтерпеж - дык все эти вижуалфортраны (в том числе и от Интела) имеются в наличии и даже книжки есть хорошие (автор Бартеньев).

08.10.2011 22:23:26

Совершенно сошгласен. "Окошки", пользовательский интерфейс - это смерть для Фортрана. Тут дело даже не в том, что он предназначен для расчетов (хотя это тоже верно), Еще важнее - он должне быть реально машинно-независиым.

Все решается банально просто. Расчетные модули пишутся на Фортране, а пользовательский интерфейс - на чем угодно. Пользовательский интерфейс меняется, а расчетные модули живут вечно smile:-)

У меня некоторые программы на Фортране в неизменном виде кочевали с СМ-1 на ЕС ЭВМ, потом на "Электроники", оттуда на IBM PC....

Андрей
10.10.2011 16:02:36

"У меня некоторые программы на Фортране в неизменном виде кочевали с СМ-1 на ЕС ЭВМ, потом на "Электроники", оттуда на IBM PC...."
Андрей! Ну неизменными они кочевать навряд ли могли все же дескрипторы устройств ввода-вывода (консоль и клавиатуру) надо было менять. Я так себе обеспечил 5 лет непосещения ТАУ и же с ней. Перевел за вечер программы для лабораторных работ с СМ-4 на персоналки smile:) для всех специальностей в институте. smile;) А более продвинутые конкуренты пытались разобраться в текстах программ и переписать потом все это на визуалбейсик. )))

10.10.2011 22:25:26

Не знаю, что вы имеете в виду под дескприторами - слишком часто используемый термин.

Ничего менять не нужно было. 5-й логический номер - ввод, 6-й - вывод
Назначение логических номеров делалось вне Фортран-программы.



Андрей
11.10.2011 16:20:33

smile:) я это и имел в виду. Я сейчас не помню всех нюансов, но в первоначальных программах точно вывод был не 6-й. Я как раз поменял на 6-й. Да это сейчас не важно. smile:)

11.10.2011 22:18:48

Это все банально-просто. 6-й для вывода - это условность, можно его для ввода.
В общем - все это пустяки smile:)

Андрей
10.10.2011 15:56:21

Константин, выйдите из анабиоза. Я еще в 90-х писал GUI на фортране для занесения исходных данных под Win32.

integr1
08.10.2011 18:41:16

Удобное средство разработки для Фортран
Oracle Solaris Studio 12.2
Распараллеливает по технологиям OpenMP и MPI.

10.10.2011 10:52:55

Знакомый из академического института пишет довольно крупные рабочие проги только на Фортране. При том, что Дельфи знает неплохо (лекции читает), Си тоже, наверное. Одна из причин, думаю, в том, что в любой стандартной поставке Фортрана огромное число математических библиотек, а для мэйнстримовских сред разработки их надо где-то искать, устанавливать итд.

Павел
14.10.2011 16:55:30

Есть ли у ФОРТРАНА перспективы?

Думаю, что мало. Я когда то перешел с ФОРТРАНА на МАТЛАБ, и это оказалось очень продуктивным
по многим показателям, в том числе по возможностям синтеза непеосредственно в современные элементы (ПЛИС, ЦОС-процессорыи т.д.).

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии