Фортран — один из старейших языков программирования, появившийся ещё в 1957 году. При этом в майском рейтинге TIOBE 2025 он на 11-м месте. Да-да, язык, которому больше 60 лет, не просто жив — он до сих пор решает задачи в суперкомпьютерах, моделирует климат и ядерные реакции, двигает вперёд науку и не собирается на покой. Разбираемся, почему Fortran всё ещё в строю и стоит ли учить его в 2025 году.
История
Фортран (от FORmula TRANslator, формульный транслятор) разработали в IBM в 1950-х годах, чтобы автоматизировать численные расчёты и не писать километры машинного кода вручную. Первая версия появилась в 1957 году, и это была настоящая революция.
В то время почти весь код писался на ассемблере. Чтобы умножить два числа, приходилось творить магию с регистрами и адресами памяти. А тут внезапно можно было просто написать A = B * C, и это работало.
Фортран стал первым в истории массово используемым языком высокого уровня. Он буквально научил компьютеры понимать формулы, что открыло новую эру — программирование стало доступно не только инженерам-электронщикам, но и математикам, физикам, экономистам.

IBM продвигала Fortran как стандарт для научных расчётов, и он быстро стал основой практически всех крупных инженерных и исследовательских проектов: от аэродинамики до ядерной физики.
В 1960–1980-х годах Фортран был де-факто языком номер один в науке. Практически всё ПО на суперкомпьютерах писалось на нём, и если кто-то занимался чем-то, где нужно было считать сложные штуки, — без Фортрана было не обойтись.
Как развивался
Что удивительно, с развитием разных языков Фортран не просто выжил, а пережил десятки других языков, стал международным стандартом и до сих пор активно используется там, где нужны большие и точные вычисления. Он регулярно обновляется, и каждый апдейт — это настоящее развитие:
- Fortran 66 — первый официальный стандарт.
- Fortran 77 — структурное программирование, нормальные комментарии — и жизнь программистов стала чуть легче.
- Fortran 90 / 95 — появились модули, рекурсия, динамические массивы и более читаемый синтаксис.
- Fortran 2003 / 2008 — добавили ООП, интерфейсы, параллельные вычисления.
- Fortran 2018 — ещё больше фишек для высокопроизводительных вычислений.
- И наконец, Fortran 2023 — последняя версия, опубликованная в ноябре 2023 года, куда добавили поддержку новых вычислительных моделей.
У языка живое сообщество, выходят новые компиляторы: Intel Fortran, GNU Fortran (gfortran), IBM XL Fortran и другие. А ещё вокруг языка выросла современная экосистема:
- Появились обёртки на Python — например, f2py в составе NumPy позволяет вызывать Fortran-код прямо из питоновского скрипта.
- Поддерживаются современные IDE и CI-инструменты, включая CMake, Visual Studio, VS Code и CLion.
- Есть библиотеки и пакеты, адаптированные под нужды научных расчётов, с нормальной документацией и поддержкой.
Сегодня программисты часто пишут логически тяжёлые вычисления на Fortran, а интерфейс и интеграцию делают на Python. Получается быстрый, стабильный, поддерживаемый стек: классика и современность.
Разные серьёзные компании, например Airbus, используют связку Fortran + Python + C/C++ в моделировании аэродинамики, потому что это до сих пор лучшее сочетание скорости, надёжности и гибкости.

Синтаксис
У Фортрана простой и строгий синтаксис, заточенный под вычислительные задачи. Что-то напоминает Pascal, что-то — Python, но с академическим уклоном. Любая программа начинается с ключевого слова program
, дальше идёт тело, и всё заканчивается end program
с указанием имени:
program hello
print *, "Hello, Fortran!"
end program hello

Переменные объявляются явно, и тип всегда указывается заранее — язык строго типизированный. Например:
real :: temperature ! Число с плавающей точкой
integer :: count ! Целое число
logical :: is_valid ! Булево значение: .true. или .false.
character(len=20) :: name ! Строка фиксированной длины
И никакой ерунды с undefined
, null
и NaN
.
Цикл do
в Fortran — это аналог for
в других языках, но со своим синтаксисом:
do i = 1, 5
sum = sum + numbers(i)
end do
В Fortran тоже можно (и нужно) комментировать код, но способ зависит от версии языка. В современных версиях (Fortran 90 и выше) комментарии начинаются с ! и могут стоять где угодно в строке — хоть в начале, хоть в конце:
print *, "Hello, Code!" ! Это комментарий справа от кода
! А это комментарий на всю строку
А вот в старом Fortran 77 всё было суровее: комментарии — это строки, которые начинаются с C, с или с * в первом символе строки и только в первой колонке. Без шуток:
C Эту строку компилятор просто игнорирует
* Такая же история
Ещё были «неофициальные» дебаг-комментарии d
, D
. И просто пустая строка тоже считалась комментарием — не потому, что была комментарием по смыслу, а потому, что игнорировалась компилятором. Тогда даже позиция символа в строке была важна: код начинался строго с 7-й позиции, первые 6 — для нумерации строк и спецсимволов. Так что форматирование было похлеще, чем в Python с его табуляцией. Но в современных версиях всё намного проще.
Для повторного использования логики есть подпрограммы (subroutine) и функции (function). Они похожи на то, что есть в других языках — просто объявляются по-другому и вызываются более старомодно. В Фортране функция принимает аргументы и возвращает результат, но без return: он присваивается напрямую через имя функции:
real function square_root(x)
real :: x
square_root = sqrt(x)
end function square_root
Здесь square_root
— имя функции, и оно же — переменная, в которую внутри тела функции мы записываем результат.
Есть в Фортране ещё модули — они позволяют группировать процедуры и переменные, чтобы не плодить лишний код. В общем, архитектурно Fortran давно научился быть масштабируемым, а не просто «языком одного скрипта».
Всё это делает Fortran комфортным для тех, кто уже знает Python, C++, Java и даже JavaScript.
Примеры программ на Fortran
Теперь напишем программу целиком, с указанием типов, циклом и комментариями. Оцените, насколько легко читается такой код, — кажется, что мы пишем на чём-то современном и простом:
program sum_example
implicit none
integer :: i, sum
integer, dimension(5) :: numbers
! Инициализация массива
numbers = (/1, 2, 3, 4, 5/)
sum = 0
! Считаем сумму элементов
do i = 1, 5
sum = sum + numbers(i)
end do
print *, "Сумма элементов массива: ", sum
end program sum_example

А вот пример с subroutine — подпрограммой, которая ничего не возвращает, но меняет переданные ей значения:
program swap_example
implicit none
integer :: a, b
a = 10
b = 20
! До вызова подпрограммы
print *, "До swap: a =", a, ", b =", b
! Вызов подпрограммы
call swap(a, b)
! После вызова
print *, "После swap: a =", a, ", b =", b
contains
! Подпрограмма меняет местами два числа
subroutine swap(x, y)
integer :: x, y, temp
temp = x
x = y
y = temp
end subroutine swap
end program swap_example

Здесь swap
— это подпрограмма, которая ничего не возвращает, но работает по ссылке: значения a
и b
меняются местами прямо в теле основной программы. Вызов делается через call
.
Особенности
Компиляторы Фортрана десятилетиями затачивались под линейную алгебру, работу с матрицами и числами с плавающей запятой. На практике это означает: он производит вычисления быстрее, чем Python, а иногда даже быстрее, чем C++.
Например, если нужно перемножить две огромные матрицы, то код на Fortran будет коротким и суперэффективным:
real, dimension(1000,1000) :: A, B, C
C = matmul(A, B)
Fortran исторически работает на суперкомпьютерах. Он умеет использовать все ядра, все потоки, всю память — и компиляторы выжимают из железа максимум. Его до сих пор используют в проектах NASA, метеоцентрах, ядерной физике, моделировании климата и т. д. Та же LAPACK — библиотека линейной алгебры, на которой держится половина научных расчётов в мире, — написана на Fortran.
Почему не переписали всё это, допустим, на Python? Потому что Fortran работает быстрее. А ещё потому, что в научном коде накопились миллионы строк легаси, которые никто не хочет (и не может) разбирать заново. Поддержка старого кода — это отдельная профессия. Переписывать его дорого, рискованно и иногда просто бессмысленно: он решает задачу, решает быстро. А раз работает — не трогай.
Поэтому современный подход — не «снести всё и переписать», а аккуратно обернуть Fortran в Python и работать с тем, что уже доказало свою эффективность десятилетиями.
Fortran — один из немногих языков, у которого в стандарты вшита поддержка параллельных вычислений. Это такой способ разделить задачу на куски и выполнять их одновременно на разных ядрах или компьютерах. Например, когда есть тяжёлые расчёты (моделирование климата всей планеты или симуляция турбулентности воздуха вокруг самолёта), — то без параллелизма не обойтись.
В Фортране есть встроенный инструмент Coarrays, который позволяет писать параллельный код без дополнительных библиотек и сложных настроек. Синтаксис почти не меняется, просто добавляем [*]
рядом с переменной — и теперь на каждом потоке есть своя копия данных, которые потом можно синхронизировать, пересылать и собирать в итоговый результат.

Зачем нужен
Коротко: чтобы считать быстро, точно и много.
Fortran стал первым языком, который дал инженерам, физикам и математикам возможность писать вычислительный код не на ассемблере, а на человекопонятном языке. Программистам не нужно было больше ковыряться в машинных командах — они могли просто описывать формулы и расчёты. Fortran задал стандарт для научного программирования:
- точность при работе с числами с плавающей запятой;
- высокая производительность;
- предсказуемое поведение;
- понятный синтаксис, близкий к математической записи.
Даже сегодня синтаксис, похожий на Fortran, используется в высокоточных инженерных решениях. В Airbus, например, система теплового моделирования THERMISOL описывает тепловые узлы в структуре, напоминающей Fortran, а затем компилируется в полноценный Fortran-код для суперточных расчётов.
Где используется сейчас
Фортран до сих пор движок науки и сложных расчётов, на нём симулируют ядерные реакции и погодные катаклизмы. Вот где его реально используют:
- Прогнозирование погоды. Большая часть расчётов в глобальных моделях — GFS (США), ECMWF (Европа), ICON (Германия) — до сих пор на Fortran. Потому что прогноз за сутки вперёд — это миллионы уравнений, и ни один язык не делает это быстрее.
- Астрофизика и ядерные симуляции. От симуляции взрыва сверхновой до поведения плазмы в термоядерных реакторах. Например, LLNL (Ливерморская лаборатория) и CERN — у них тонна научного кода всё ещё на Fortran.
- Финансовые расчёты. Некоторые крупные банки до сих пор поддерживают старые системы расчёта рисков и валидации моделей, где вся математика была изначально написана на Fortran.
- Климатические симуляции. Сценарии глобального потепления, таяния ледников, парниковых газов — всё это считается на супермашинах, где до сих пор крутятся десятки миллионов строк на Fortran. Например, модель CESM (Community Earth System Model) — на нём.
- Университеты и исследовательские центры. Академическая наука обожает Fortran за его точность, лаконичность и стабильность. Многие курсы по численным методам до сих пор включают задания на нём — просто потому, что это работает.
Короче, если нужно посчитать, как поведёт себя вселенная через 10 секунд после Большого взрыва или куда полетит обломок спутника на орбите — это, скорее всего, сделают на Фортране.
Стоит ли изучать Fortran
Учить Fortran просто ради галочки не надо. Но если вы хотите работать в области, где сложные расчёты, моделирование, высокая производительность и суперкомпьютеры, — он может оказаться мощным инструментом в арсенале.
В России язык до сих пор используют в университетах и НИИ — в МГУ, МФТИ, МИФИ, в Академии наук, в Институте прикладной математики, в ядерных и гидродинамических симуляциях. Где-то это легаси-код, который просто никто не переписывает. А где-то вполне живой проект, где обновляют расчёты, подтягивают новые библиотеки и всё ещё пишут новые модули.
Вам слово
Приходите к нам в соцсети поделиться своим мнением о Фортране и почитать, что пишут другие. А ещё там выходит дополнительный контент, которого нет на сайте — шпаргалки, опросы и разная дурка. В общем, вот тележка, вот ВК — велком!