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

Фортран

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

История

Создание и ранние версии (1954—1966)

Язык был разработан в корпорации IBM группой под руководством Джона Бэкуса. Работа над проектом началась в 1954 году, а первый компилятор был выпущен в 1957 году для компьютера IBM 704. Целью проекта было создание инструмента, который позволил бы программистам записывать математические формулы в форме, близкой к общепринятой, и автоматически транслировать их в машинный код. До появления Фортрана программирование велось исключительно на ассемблере или машинных кодах, что было крайне трудоёмко и требовало высокой квалификации.

Первый компилятор сразу продемонстрировал впечатляющую эффективность: сгенерированный им код был лишь на 20 % медленнее эквивалентного кода, написанного вручную на ассемблере, при этом скорость разработки возрастала многократно. В 1958 году вышла версия Fortran II, в которую были добавлены подпрограммы (функции). Fortran III, созданный в том же году, не был выпущен как коммерческий продукт. В 1961 году появился Fortran IV, который стал первым по-настоящему стандартизированным диалектом, включавшим логические выражения, оператор COMMON для организации общей памяти и улучшенную работу с вводом-выводом.

Стандартизация и эпоха мейнфреймов (1966—1990)

К середине 1960-х годов существовало множество несовместимых диалектов Фортрана от разных производителей (IBM, CDC, Burroughs, Univac). Для обеспечения переносимости кода Американский национальный институт стандартов (ANSI) в 1966 году утвердил первый стандарт языка — Fortran 66 (ANSI X3.9-1966). Этот стандарт определил ядро языка, включавшее операторы DO, IF, GO TO, работу с массивами и подпрограммами.

В 1977 году был принят стандарт Fortran 77 (ANSI X3.9-1978). Он внёс ряд существенных улучшений: появились блочные конструкции IF-THEN-ELSE, оператор DO с переменной шага, символьный тип данных CHARACTER, открытие файлов через оператор OPEN и улучшенная обработка ошибок ввода-вывода. Fortran 77 стал основой для подавляющего большинства научных и инженерных кодов, написанных в 1980-х и 1990-х годах, и до сих пор многие старые программы продолжают поддерживаться.

Современный этап: Fortran 90/95 и далее (1990 — настоящее время)

Осознавая отставание от современных языков (Pascal, C), комитет ANSI и ISO приступили к радикальной модернизации. Результатом стал стандарт Fortran 90 (ISO/IEC 1539:1991). Он ввёл в язык принципиально новые возможности: свободный формат записи (отказ от строгой колоночной разметки), динамические массивы, модули (MODULE) для инкапсуляции данных и процедур, типы, определяемые пользователем (TYPE), перегрузку операторов, указатели, рекурсию, а также обширную встроенную библиотеку математических функций и функций для работы с массивами (векторизация).

Fortran 95 (1997) стал незначительным уточнением стандарта 90, в основном устранив некоторые устаревшие конструкции (например, оператор EQUIVALENCE и арифметический IF). Fortran 2003 (2004) ввёл объектно-ориентированное программирование (поддержку классов, наследования, полиморфизма), совместимость с языком C, улучшенную обработку исключений и поддержку стандарта IEEE 754 для вычислений с плавающей запятой. Fortran 2008 (2010) добавил параллельные вычисления на основе модели Coarray Fortran (CAF), которая позволяет эффективно программировать для систем с распределённой памятью. Fortran 2018 (2018) расширил возможности параллелизма и ввёл поддержку стандарта ISO C для взаимодействия с C-библиотеками.

Ключевые особенности и синтаксис

Фортран традиционно отличался строгим синтаксисом, ориентированным на математические формулы. В современных версиях (Fortran 90+) используется свободный формат, но исторически код писался в фиксированном формате, где каждая строка имела строгую структуру: позиции 1-5 — метки (номера строк), позиция 6 — признак продолжения строки, позиции 7-72 — собственно код, позиции 73-80 — идентификаторы (часто игнорировались компилятором).

Основные элементы синтаксиса включают:

Области применения

Фортран остаётся доминирующим языком в следующих областях:

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

Несмотря на свою производительность, Фортран подвергается критике по нескольким причинам:

Влияние на другие языки

Фортран оказал огромное влияние на развитие языков программирования. Концепция высокоуровневого компилируемого языка, оператор DO (цикл for), работа с массивами, подпрограммы — все эти идеи были впервые реализованы в Фортране. Язык ALGOL, а затем и Pascal, C, и Ada заимствовали многие синтаксические конструкции и принципы организации. Современные языки для научных вычислений, такие как Python (с библиотеками NumPy и SciPy) и Julia, во многом наследуют идеи Фортрана о векторных операциях и эффективных численных алгоритмах.

Источники

  1. Backus, J. (1978). «The History of Fortran I, II, and III». Annals of the History of Computing, 1(1), 21-37.
  2. ANSI X3.9-1966. American National Standard Fortran.
  3. ANSI X3.9-1978. American National Standard Programming Language FORTRAN.
  4. ISO/IEC 1539:1991. Information technology — Programming languages — Fortran.
  5. Metcalf, M., Reid, J., & Cohen, M. (2018). Modern Fortran Explained. Oxford University Press.
  6. Chapman, S. J. (2018). Fortran for Scientists and Engineers. McGraw-Hill Education.

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

На главную BFOmetr →