Если кто-то скажет, что Fortran — это язык из далёкого прошлого, который давно неактуален, — не спешите соглашаться. В 2025 году Fortran живёт, развивается и даже дерзко смотрит в будущее. Давайте разберёмся, что же происходит с этим ветераном программирования и почему он по-прежнему важен для науки и индустрии.
Почему Fortran не сдаётся?
Fortran появился в далеком 1957 году, и с тех пор стал главным оружием учёных, инженеров и исследователей для тяжёлых вычислительных задач — от моделирования климата до аэродинамики. Он оптимизирован под численные вычисления, быстро работает и умеет эффективно использовать многопроцессорные системы.
Но в мире технологий многое меняется быстро, и Fortran пришлось не просто догонять время, а переосмысливать себя. В 2025-м он получил новый импульс к развитию благодаря обновлённым стандартам и современным инструментам.
Стандарты Fortran 2023 и 2025: что нового?
Рабочие группы WG5 и сообщество активно трудятся над стандартами, которые добавляют в язык новые возможности:
Расширенная поддержка встроенных функций для работы с тригонометрией и строками;
Улучшения в области обобщённого программирования и деклараций;
Новые конструкции для удобной работы с массивами и условными выражениями;
Поддержка OpenMP 6.0, что даёт мощный инструмент для параллельных вычислений.
Эти изменения не просто косметика — они делают Fortran более удобным для современных задач, упрощают разработку и увеличивают производительность.
Компиляторы и инструменты: прогресс налицо
Intel Fortran Compiler 2025.1
Intel продолжает активно развивать свой флагманский компилятор, который теперь поддерживает новые возможности стандарта и улучшенную работу с OpenMP. Это значит, что код на Fortran будет работать ещё быстрее и надёжнее.
LFortran — свежий взгляд на Fortran
LFortran — компилятор на базе LLVM, который развивается стремительными темпами. Он интерактивный, поддерживает современный стандарт и подходит для научных вычислений. Его сообщество активно растёт, и он уже начинает вытеснять старые инструменты.
Fortran Package Manager (FPM)
Управление пакетами — давно привычная вещь для большинства языков, и Fortran не исключение. FPM помогает организовать код, автоматизировать сборку и тестирование. Версия 0.12.0 принесла поддержку новых компиляторов и улучшила совместимость.
Что обсуждают на форумах и в сообществе?
Современные разработчики Fortran живо интересуются интеграцией с нейросетями, ускорением вычислений на GPU, а также переносом старого кода на новые архитектуры. На форумах нередко обсуждают вопросы совместимости, оптимизации и проблемы с обучением новых специалистов.
Кстати, несмотря на все сложности, сообщество готовится к конференции FortranCon 2025 — отличная возможность обменяться опытом и вдохновиться идеями.
А что с кадрами?
Главная задача на ближайшее время — привлечь молодых специалистов. Fortran давно не самый популярный язык в вузах, и его стоит популяризировать через современные проекты и образовательные инициативы. Только так можно обеспечить стабильное развитие языка и сохранить существующие научные разработки.
Итог: Fortran остаётся с нами
Fortran в 2025 году — это не просто язык прошлого, это живая, развивающаяся экосистема. Он по-прежнему востребован там, где нужна скорость, точность и надёжность.
Если вы работаете с научными вычислениями, то Fortran — отличный выбор, который ещё долго будет актуален. И кто знает, возможно, он станет вашим союзником в проектах будущего.
Fortran из 1990 — классика, строго и просто
PROGRAM FACTORIAL
INTEGER N, I, FACT
PRINT *, 'Введите число:'
READ *, N
FACT = 1
DO 10 I = 1, N
FACT = FACT * I
10 CONTINUE
PRINT *, 'Факториал равен ', FACT
END
Используется старый стиль с номерами строк и без современного форматирования;
Нет объявлений модулей и более сложных конструкций;
Всё максимально просто, но достаточно громоздко и без современных удобств.
Fortran в 2025 — современный стиль, лаконично и понятно
program factorial
implicit none
integer :: n, i, fact
print *, 'Введите число:'
read(*,*) n
fact = 1
do i = 1, n
fact = fact * i
end do
print *, 'Факториал равен ', fact
end program factorial
Нет необходимости использовать номера строк;
Строгая типизация с
implicit none
для предотвращения ошибок;Использование
end do
вместо меток;Код стал читаемее и поддерживается всеми современными компиляторами.
Дополнение — пример с использованием современных возможностей Fortran 2025 (массивы и функции)
program factorial_modern
implicit none
integer :: n
print *, 'Введите число:'
read(*,*) n
print *, 'Факториал равен ', factorial(n)
contains
recursive function factorial(x) result(res)
integer, intent(in) :: x
integer :: res
if (x <= 1) then
res = 1
else
res = x * factorial(x - 1)
end if
end function factorial
end program factorial_modern
Здесь показано:
Использование рекурсивной функции;
Вложенные процедуры
contains
;Чистый современный стиль с явными типами.
Комментарии (6)
NeoNN
21.07.2025 07:32Из таких простых примеров непонятно, где же этот язык все-таки лучше для научной среды, если его синтаксис меняется так, что даже сами динозавры уже не будут уметь на нем писать без обратной совместимости. С ума сойти, массивы в 2025 завезли. Также непонятно, каким образом код разворачивается в продакшн среде. Ну написал я что-то, дальше-то что? Как интегрировать с остальными модулями и языками?
Mr_Boshi
21.07.2025 07:32В научной среде огромное количество легаси кодов на фортране. Иногда с ним приходится работать только из-за этого. Когда надо дописать модуль, расширить функционал. А лучше новые версии тем, что ближе к современному стилю написания кода и при этом совместимы с этими древними кодами.
Wosk1947
21.07.2025 07:32Как мне кажется, В 2025 году, чем связываться с древней инфраструктурой фортрана из-за каких-то научных библиотек, которые есть только на фортране, легче взять эти библиотеки и транспилировать в C, инструменты для этого есть, а дальше обернуть для вызова из питона, то есть современного стандартного инструмента для научной среды. Понятно, что научные сотрудники далеко не всегда на такие маневры способны, потому что они не программисты в том смысле, что они зачастую не умеют совершать инфраструктурные операции - транспиляции языков, написание интеропов, настройки сборочных конвееров и т.д. То есть у научного сотрудника компетенция в программировании обычно ограничено написанием изолированного скрипта на одном языке. Но под такие дела можно в лабораторию пригласить студента с какого-нибудь соседнего программистского факультета в качестве практики или за плюс к стипендии.
Nuflyn
21.07.2025 07:32хоть и не фанат фортрана из-за его громоздкого синтаксиса, все же сложно не признать, что в своей области (численные методы, вычислительная метеорология, гидродинамика) он чувствует себя более чем неплохо
fulvert
Судя по приведённому примеру кода это basic или pascal. И к чему огород городить новым языком?