Фортран - всё ещё торт?

Стив Лайонел (Steve Lionel) - разработчик компилятора языка Фортран, инженер Intel, евангелист, а также активный блоггер на американском ISN. За его увлечение и продвижение Фортрана его зовут "Доктор Фортран", в чем можно убедиться, набрав в гугле "Dr. Fortran". Я бы хотел перевести интервью, которое Доктор Фортран дал несколько дней назад сайту Intelligence In Software.

Стив Лайонел считает, что Фортран, несмотря на почтенный 54-летний возраст, остается достаточно важным языком, даже в наш век, когда большинство программистов пользуются языками типа PERL, Python или Java.

Вопрос: Фортран всё еще актуален? Кажется, что в последнее время этот язык обсуждается достаточно редко.

Стив: Фортран абсолютно актуален. Этот язык сам по себе достаточно стар, но это не значит, что он не изменился за это время. Фортран обновлялся уже пять раз, и каждое изменение несет новые возможности, например, специфичные для определенных платформ расширения языка, которые программисты так хотели позаимствовать из других языков.

В: Какие возможности Фортран получил из других языков?

Стив: В 2003 году, например, в Фортран были добавлены классы и возможности полиморфизма, унаследованные из С++.

В: А какие еще сильные стороны есть у языка?

Стив: В Фортран 2008 были включены уникальные инструменты для параллельного программирования. Они были и в других языках, но в Фортране они реализованы по-другому. В языке есть гигантский набор хорошо написанных и отлаженных функций, которыми удобно пользоваться.

В: Пишутся ли на Фортране новые приложения?

Стив: Да, их много. Если посмотреть на приложения для предсказания ураганов, большинство моделей написаны на Фортране. Известный фреймворк для предсказания погоды WRF (The Weather Research and Forecasting Model) в основном написан на Фортране. На нем написан и известный симулятор автомобильных аварий (PAM-CRASH), а также много инженерного кода, кода для оптического моделирования, язык используется и в ядерной физике. Фортран де-факто остается важным языком в высокопроизводительных вычислениях (HPC).

В: Так почему же так мало людей пишут на Фортране?

Стив: Я не хочу создавать впечатление, что всё написано на Фортране. Он занимает меньшую часть рынка, чем 20 лет назад, но Фортран не умирает. Да, сейчас C и C++ лучше подходят для многих задач, чем Фортран.

В: Для каких задач Фортран всё еще лучше других языков?

Стив: Фортран не стоит использовать для, например, обработки строк. Но если вы работаете с большими наборами чисел с плавающей точкой или делаете параллельную обработку чего-то, то Фортран - это отличный выбор! Его сила в разнообразных встроенных операциях над массивами и высокопроизводительных функциях для работы над большими объемами данных, которые несмотря на почтенный возраст отлично работают.

В других языках стандарт меняется слишком часто, что приводит к проблемам несовместимости. В Фортране таких проблем нет.

---

От автора:

Я поговорил с одним из программистов Intel и почитал несколько статей в интернете, из чего складывается мнение, что с языком ситуация не такая уж и радостная.
С одной стороны, существует как минимум два коммерческих компилятора Фортрана - Intel® Composer XE и PGI Workstation, такие библиотеки как MPI, OpenMP (даже последняя версия 3.1), Intel® MKL поддерживают Фортран-интерфейсы, существует CUDA Fortran компилятор. Значит ли это, что язык не умирает? Очевидно, да.

С другой стороны, похоже, Фортран поддерживается только ради старого кода. Молодых программистов (даже в научных институтах) сложно заставить писать на старом добром Фортране, но менее прогрессивная часть ученых всё еще руководствуется принципом "не трогайте то, что работает, а новое пишите на том же языке (это объективно проще, чем писать обертки для старого кода)". Это относится и к промышленному программированию: например, CAD CATIA, которая используется компанией Boeing для разработки самолетов, имеет часть, написанную на Фортране, и они, как мне кажется, не соберутся переписывать ее на Си в ближайшее время.

По мотивам: Steve Lionel on Why Fortran Still Matters

На закуску: интересное видео, в котором Стив рассказывает о Intel® Fortran Compiler:

Pour de plus amples informations sur les optimisations de compilation, consultez notre Avertissement concernant les optimisations.