Я — школьный учитель информатики с многолетним стажем. За эти годы я наблюдал за эволюцией технологий: Pascal сменился Python, веб-разработка вытеснила десктопные приложения, а сейчас в фокусе — машинное обучение. Казалось бы, после такого опыта я могу уверенно отличить перспективную технологию от архаичной. Однако недавно, просматривая рейтинг TIOBE, я с удивлением обнаружил Fortran в топ-20. Более того, он поднялся из третьего десятка почти в топ-10, обогнав Swift и Ruby. Это заставило меня пересмотреть стереотипы: язык, который многие считают музейным экспонатом, явно не собирается уходить в историю.
Развенчание мифа об устаревании
В IT-сообществе Fortran часто воспринимают как инструмент для академиков в изолированных лабораториях. Но возраст не всегда равен устареванию — скорее, это признак надёжности, проверенной временем. Современный Fortran сильно отличается от версии FORTRAN 77. Стандарт 2018 года ввёл объектно-ориентированное программирование и поддержку параллельных вычислений, а также обеспечил полную совместимость с C. В 2023 году вышел новый стандарт Fortran 2023, добавивший условные выражения (например, a > 0 ? a : 0), удобные функции для работы со строками и тригонометрические операции в градусах. Язык продолжает развиваться, адаптируясь к текущим вызовам.
Два подхода к производительности
Если оценивать Fortran с позиции веб- или мобильной разработки, он действительно кажется инородным. Но в области научных вычислений ситуация иная. Python удобен для быстрой разработки, как синхронный перевод, но теряет в скорости при обработке миллиардов операций. Fortran же компилируется в оптимизированный машинный код, подобно тщательно подготовленному тексту.
Не случайно ядро библиотек вроде NumPy построено на C и Fortran. В Airbus инженеры по-прежнему применяют комбинацию Fortran, Python и C/C++ для моделирования аэродинамики. А в Yandex Fortran использовался при создании CatBoost — популярной библиотеки градиентного бустинга. В моей практике я видел, как студенты, экспериментируя с численным моделированием, быстро осознавали преимущество Fortran в задачах, где каждая миллисекунда на счету.
Синтаксис, ориентированный на математику
Одно из ключевых преимуществ Fortran — естественная запись математических формул. В Python или C++ для сложения массивов требуется цикл или специальная библиотека, а в Fortran это выглядит просто:
fortran
REAL, DIMENSION(1000000) :: A, B, C C = A + B
Такая конструкция не только элегантна, но и даёт компилятору подсказку для векторизации и оптимизации под современные процессоры. Умножение матриц реализуется одной командой:
fortran
C = matmul(A, B)
Язык строг к типам данных и управлению памятью, что критично для точных научных расчётов. Встроенная поддержка параллелизма через Coarrays позволяет масштабировать код на множество ядер. Стандарт 2023 года добавил оператор reduce в конструкциях do concurrent, упрощая параллельные алгоритмы. В моих уроках я подчёркиваю, как эти особенности помогают избежать ошибок, типичных для более «гибких» языков.
Fortran в современном мире
Fortran — это специализированный инструмент для высокопроизводительных вычислений, где важны точность и скорость: от прогнозирования погоды до расчёта прочности конструкций самолётов и обучения моделей машинного обучения. Он также подходит для начинающих благодаря логичности и отсутствию скрытых механизмов — отличный выбор для освоения основ программирования без отвлекающих «волшебств».
Заключение
Fortran демонстрирует, как технология может сохранять актуальность десятилетиями, эволюционируя в ключевых областях. Для меня как педагога неожиданностью стало отсутствие современных русскоязычных материалов по Fortran. Новички часто сталкиваются с примерами из 1980–1990-х и теряют интерес. Поэтому я собрал свои методические наработки в курс на Stepik — изначально для учеников, но он оказался полезен шире, возможно, как единственный системный ресурс на русском.
Я надеюсь, эта статья поможет переосмыслить роль Fortran. Это не артефакт прошлого, а мощный инструмент, который в 2025 году остаётся «ракетой» для задач, требующих предельной производительности и точности.
Комментарии (9)

OlegZH
04.11.2025 18:29Тааак! А можно ли его сегодня где-то взять? Покрутить. (Придётся наводить справки...)

kbtsiberkin
04.11.2025 18:29gfortran в определённых пределах отлично соответствует стандарту 2008 года. Шуршат машинки на работе, считают.

Dick_from_mountain
04.11.2025 18:29Это тут где-то был назойливый фанат Фортрана, который предлагал меряться скоростью выполнения любых задач с сишниками? Вот реально ко всем приставал.

kbtsiberkin
04.11.2025 18:29Как-то так вышло, что в 10-11 классе нас, в физико-программистском классе, интенсивно гоняли по Pascal и Delphi. А в университете с 2006 года сразу началось погружение в FORTRAN-90 для более фундаментальных специальностей (радиофизическое и информационное направление учили C/C++), сперва курс базового программирования, потом - численных методов. И так и остался он как главный рабочий инструмент теперь. Сейчас студентов нашего физмата в базе учат на Python. Догоняю как могу, но иногда удаётся переманить кого-нибудь на темную сторону древних языков. Обычно остаются довольными.

Tzimie
04.11.2025 18:29Я начинал с FORTRAN IV
EC ЭВМ
Однако все таки в современном мире надо писать такие расчеты на Julia

alexxisr
04.11.2025 18:29на мой взгляд хаскеловское
summedList = zipWith (+) list1 list2
для суммирования 2 массивов выглядит еще более нативным для математика.
а C = matmul(A, B) - вобще выглядит просто как вызов функции, что есть даже в ассемблере.
вобщем как-то неубедительно.

DenisArd
04.11.2025 18:29Тоже в школе учил Паскаль, а в институте - Фортран, но как стал работат, мне,как инженеру, для расчетов основными инструментами стали математические пакеты: Matlab, Mathcad, Smath. Думаю, именно Матлаб в значительной степени вытеснил Фортран из инженерной практики. По векторной и матричной алгебре он точно не уступает Фортрану, и даже превосходит его, при этом достаточно прост в изучении.
Bertram11
Это мой первый язык с которым я познакомился в университете. Делал по нему презентацию) Помню как старался все оформить красиво)