Открыть сервис

Фортран как язык программирования

Фортран (от англ. Formula Translation — «перевод формул») — первый язык программирования высокого уровня, созданный для научных и инженерных вычислений. Разработан в компании IBM в 1954–1957 годах под руководством Джона Бэкуса. Название отражает исходное назначение: запись математических формул в форме, близкой к естественной, вместо машинных кодов. Фортран относится к компилируемым императивным языкам и до сих пор применяется в вычислительной математике, физике, метеорологии и инженерных расчётах.

История

Работы над языком начались в 1953 году, когда Джон Бэкус предложил IBM создать систему автоматического программирования для компьютера IBM 704. Первый коммерческий компилятор FORTRAN I появился в 1957 году. Уже тогда язык позволял писать программы в десятки раз быстрее, чем на ассемблере, при сопоставимой производительности кода.

Ключевые вехи развития:

  • 1958 — FORTRAN II: появились подпрограммы и функции, возможность раздельной компиляции.
  • 1962 — FORTRAN IV: логические типы, более строгие правила.
  • 1966 — первый стандарт ANSI (FORTRAN 66), унифицировавший диалекты разных производителей.
  • 1977 — FORTRAN 77: структурированное программирование, блоки IF–THEN–ELSE, работа со строками символов.
  • 1991 — Fortran 90: свободный формат записи, массивы целиком, модули, рекурсия, динамическая память.
  • 1997, 2003, 2008, 2018 — последующие стандарты, добавившие объектно-ориентированные средства, параллелизм (coarrays), интероперабельность с C.

С 1990-х годов официальное написание названия — Fortran, а не FORTRAN.

Особенности языка

Фортран изначально проектировался под численные методы, и это определило его сильные стороны.

Работа с массивами

Массивы — базовый тип данных, а не надстройка. Операции применяются к целым массивам без циклов, поддерживаются срезы и векторные выражения. Это делает код компактным и удобным для линейной алгебры.

Численные типы

Язык предоставляет типы INTEGER, REAL, COMPLEX, DOUBLE PRECISION с контролем точности. Стандарт Fortran 90 ввёл механизм KIND для задания разрядности чисел.

Производительность

Компиляторы Fortran традиционно генерируют очень быстрый машинный код для численных задач, нередко опережая компиляторы C и C++ на операциях с плавающей точкой. Это одна из причин сохранения языка в суперкомпьютерных расчётах.

Формат записи

Исторически существовали фиксированный формат (позиции строки имели строгое значение: метки, продолжение, комментарии) и свободный формат, введённый в Fortran 90. Старый код часто использует фиксированный формат, что затрудняет его чтение.

Синтаксис: краткий пример

Простейшая программа вычисления суммы ряда на современном Fortran:

``fortran program sum_demo implicit none integer :: i, n real :: s n = 100 s = 0.0 do i = 1, n s = s + 1.0 / real(i) end do print *, 'Sum =', s end program sum_demo ``

Директива implicit none запрещает неявное объявление типов — практика, обязательная в современном коде.

Применение

Фортран остаётся рабочим инструментом в областях, где важна скорость численных вычислений:

  • Вычислительная гидродинамика — моделирование потоков жидкости и газа.
  • Метеорология и климатология — глобальные климатические модели.
  • Физика — квантовая химия, физика плазмы, ядерные расчёты.
  • Инженерия — метод конечных элементов, прочностные расчёты.
  • Библиотеки линейной алгебры — LAPACK и BLAS написаны на Fortran и используются из других языков.

Значительная часть кода научных суперкомпьютеров мира написана на Fortran, что обеспечивает спрос на специалистов и поддержку компиляторов (GNU Fortran, Intel Fortran, NVIDIA Fortran).

Достоинства и недостатки

Достоинства:

  • высокая производительность численного кода;
  • встроенная поддержка массивов и математики;
  • стабильность стандартов и обратная совместимость;
  • развитые библиотеки для научных расчётов.

Недостатки:

  • устаревший синтаксис в легаси-коде;
  • ограниченные средства для работы со строками и структурами данных общего назначения;
  • меньшее распространение в прикладной и веб-разработке;
  • небольшое по сравнению с C++, Python сообщество.

Современное состояние

Стандарты Fortran 2008 и 2018 добавили средства параллельного программирования (coarrays), поддержку GPU через директивы OpenACC и OpenMP, а также совместимость с C. Язык продолжает развиваться усилиями комитета ISO/IEC JTC1/SC22/WG5. Несмотря на появление Python и Julia, Fortran сохраняет позиции там, где требуется максимальная вычислительная эффективность и существуют большие массивы проверенного кода.

IRONLIVE — база данных и аналитика по компаниям России.

На главную IRONLIVE →