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

FORTRAN

FORTRAN (также Фортран) — это один из первых языков программирования высокого уровня, созданный в 1950-х годах корпорацией IBM. Название является акронимом от «Formula Translation» (перевод формул). FORTRAN был разработан для научных, инженерных и математических вычислений и стал стандартом де-факто в этих областях на десятилетия. Язык известен своей высокой производительностью при работе с массивами и числами с плавающей запятой, а также обширными библиотеками для численного анализа.

История

Создание и ранние версии

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

Первая версия, известная как FORTRAN I, включала такие конструкции, как оператор IF для условных переходов, циклы DO и подпрограммы. В 1958 году вышла FORTRAN II, которая добавила независимую компиляцию подпрограмм. FORTRAN III (1960) был экспериментальной версией, не получившей широкого распространения.

Стандартизация и FORTRAN IV

FORTRAN IV (1961) стал следующей значимой версией, устранившей многие недостатки предшественников. В 1966 году Американский национальный институт стандартов (ANSI) опубликовал первый стандарт языка — ANSI X3.9-1966, который закрепил две версии: FORTRAN (основной) и Basic FORTRAN (упрощенный). Эта версия стала широко используемой на мэйнфреймах и миникомпьютерах.

FORTRAN 77

В 1978 году был принят стандарт FORTRAN 77 (ANSI X3.9-1978), который стал одним из самых долгоживущих и популярных. Он добавил:

Современные версии: Fortran 90/95 и далее

Стандарт Fortran 90 (ISO/IEC 1539:1991) стал кардинальным обновлением. Он ввел:

Fortran 95 (1996) был небольшим обновлением, добавившим конструкцию FORALL и чистые процедуры. Дальнейшие стандарты (Fortran 2003, 2008, 2018) добавили объектно-ориентированное программирование, совместимость с C, параллельные вычисления (Coarrays) и другие современные возможности. Современный язык официально называется Fortran (с прописной буквы), хотя исторически использовалось написание FORTRAN.

Характеристики и особенности

Синтаксис и структура

Исторически FORTRAN использовал фиксированный формат, где столбцы 1-5 отводились под метки, столбец 6 — под символ продолжения, а столбцы 7-72 — под код. Современный Fortran поддерживает свободный формат, аналогичный другим языкам.

Ключевой особенностью является мощная поддержка операций с массивами. Язык позволяет выполнять поэлементные операции, срезы и редукции (например, SUM, MATMUL) непосредственно, без явных циклов, что повышает производительность и читаемость.

Типы данных

Fortran имеет богатый набор встроенных типов:

Стандарты Fortran 90+ позволяют определять производные типы и перегружать операторы.

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

Fortran традиционно считается одним из самых быстрых языков для численных расчетов. Это объясняется:

Применение

Научные вычисления

Fortran остается доминирующим языком в областях, требующих интенсивных вычислений с плавающей запятой:

Инженерные расчеты

Многие коммерческие и исследовательские инженерные пакеты, особенно в аэрокосмической и автомобильной промышленности, используют Fortran для ядер своих вычислительных модулей. Примеры включают NASTRAN (анализ методом конечных элементов) и различные библиотеки для линейной алгебры (BLAS, LAPACK).

Финансовое моделирование

Несмотря на распространение C++ и Python, Fortran все еще используется в некоторых областях количественного финансирования для моделирования рисков и ценообразования деривативов, где требуется максимальная скорость.

Критика и недостатки

Устаревшие конструкции и синтаксис

Критики отмечают, что исторический синтаксис Fortran (особенно в версиях до 90) был громоздким и способствовал написанию «спагетти-кода» из-за обилия операторов GO TO. Хотя современные стандарты поддерживают структурированное программирование, огромное количество существующего кода написано на старых версиях.

Отсутствие современных парадигм

До Fortran 2003 язык не поддерживал объектно-ориентированное программирование. Даже после добавления этой возможности, реализация считается менее элегантной по сравнению с C++ или Java. Кроме того, в языке отсутствует встроенная поддержка регулярных выражений, многопоточности (до Coarrays) и развитая стандартная библиотека для работы с данными.

Проблемы с совместимостью

Различия между версиями языка (особенно между FORTRAN 77 и Fortran 90) могут создавать проблемы при переносе кода. Компиляторы от разных производителей могут по-разному интерпретировать некоторые конструкции, особенно в областях, не охваченных стандартом.

Значение и наследие

FORTRAN стал первым широко распространенным языком программирования высокого уровня. Он доказал, что компиляторы могут генерировать эффективный код, и заложил основы для многих современных языков. Идеи, такие как независимая компиляция, форматы ввода-вывода и мощные числовые типы, были новаторскими для своего времени.

Несмотря на возраст, Fortran остается критически важным инструментом в научном сообществе. Огромные библиотеки проверенного кода, написанные за десятилетия, и высокая производительность компиляторов делают его незаменимым для задач, где скорость вычислений является приоритетом. Многие современные суперкомпьютеры и вычислительные кластеры продолжают использовать Fortran для своих основных приложений.

Интересные факты

Источники

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

На главную BFOmetr →