Название FORTRAN — это сокращение от FORmula TRANslator («переводчик формул»). Созданный в эпоху громоздких мейнфреймов, он был призван освободить инженеров и учёных от необходимости программировать в машинных кодах или на ассемблере. Если BASIC открыл компьютеры для студентов, то FORTRAN — для серьёзной науки и инженерии.

Примерная хронология развития стандартов:
1954 — начало работ; 1957 — FORTRAN I;
1958 — FORTRAN II; 1962 — FORTRAN IV;
1966 — FORTRAN 66 (первый стандарт ANSI);
1978 — FORTRAN 77;
1991 — Fortran 90;
1996 — Fortran 95;
2004 — Fortran 2003;
2010 — Fortran 2008;
2018 — Fortran 2018 (последний на сегодня стандарт).

История создания: революция IBM

В начале 1950-х годов программирование было уделом избранных. Код писался на машинном языке или ассемблере, был медленным, сложным и крайне подверженным ошибкам. В 1953 году Джон Бэкус, математик, работавший в IBM, выступил с революционной идеей: создать язык, позволяющий записывать вычисления в привычном алгебраическом виде, и компилятор, который бы транслировал эти записи в эффективный машинный код для компьютера IBM 704.

В 1954 году группа Бэкуса приступила к работе. Их проект назывался FORTRAN. Первый компилятор появился в 1957 году. Это был инженерный подвиг: компилятор состоял из 25 000 строк кода на ассемблере и выдавал настолько оптимизированный машинный код, что программисты, писавшие вручную, с трудом могли его превзойти. К концу 1957 года было продано около 30 машин IBM 704, и более половины их владельцев использовали FORTRAN.

Интересный факт: Компилятор FORTRAN I был настолько хорош, что его рекорд по оптимизации кода продержался почти 20 лет. А написание программы для расчёта параметров ядерного реактора, которая раньше занимала недели, сократилось до нескольких часов.

Эволюция версий: от FORTRAN I до современного Fortran

FORTRAN развивался вместе с компьютерами. Можно выделить несколько эпох:

Уровень языка: от научного инструмента до современного монстра

FORTRAN изначально проектировался как язык для численных расчётов. Его главная сила — скорость. В отличие от BASIC, компилятор FORTRAN создаёт очень быстрый машинный код, оптимизированный под конкретную архитектуру.

Структура программы (на примере FORTRAN 77)

Программа в FORTRAN состоит из последовательности операторов, каждый из которых пишется на новой строке.

      PROGRAM TRIAG
C     -------------------------------------------------------------
C     Вычисление площади треугольника по трем сторонам и его углов
C     -------------------------------------------------------------
      LOGICAL FLAG
C
      READ (*, *) A, B, C
      WRITE (*, *) A, B, C
C
      FLAG = ((A+B) .GT. C) .AND. ((B+C) .GT. A) .AND. ((C+A) .GT. B)
C
      IF (FLAG) THEN
          P = 0.5 * (A + B + C)
          AREA = SQRT(P * (P-A) * (P-B) * (P-C))
          ANGA = ANGLE(B, C, A)
          ANGB = ANGLE(C, A, B)
          ANGC = 180.0 - (ANGA + ANGB)
          WRITE (*, *) AREA, ANGA, ANGB, ANGC
      ELSE
          WRITE (*, *) 'error'
      END IF
C
      END

Пояснения к коду:

Подпрограммы и функции: модульность по-фортрановски

C     Вычисление величины угла
      REAL FUNCTION ANGLE(X, Y, Z)
      REAL X, Y, Z
      PARAMETER (PI = 3.1415926535)
C
      TEMP = (X*X + Y*Y - Z*Z) / (2.0 * X * Y)
      IF (TEMP .GT. 1.0) TEMP = 1.0
      IF (TEMP .LT. -1.0) TEMP = -1.0
      ANGLE = (180.0 / PI) * ACOS(TEMP)
C
      RETURN
      END

Что здесь важно:

Ключевые особенности и синтаксис (на примере FORTRAN 77)

Применение: Царство науки и инженерии

FORTRAN — это рабочий язык огромного количества научных и инженерных расчётов. Почему он до сих пор востребован?

  1. Наследие: Огромное количество критически важного кода написано на FORTRAN и продолжает работать.
  2. Производительность: Компиляторы Fortran создают самый быстрый код для численных расчётов на процессорах x86-64.
  3. Современные стандарты: Fortran 2003, 2008, 2018 вобрали в себя лучшие практики параллельного программирования и ООП.
  4. Удобство для распараллеливания: Благодаря статической памяти и отсутствию «диких» указателей, программы на Fortran проще распараллеливать.

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

Реализации: Кто сделал FORTRAN

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

  1. «Самый ненавидимый компилятор»? В своей ранней версии FORTRAN I был неудобен: он занимал много памяти, медленно компилировался и не оптимизировал ввод-вывод. Но программисты всё равно его любили за то, что он экономил недели ручного кодирования.
  2. Образование: WATFIV и его предшественник WATFOR были разработаны для массового обучения. Они могли компилировать простую студенческую программу за доли секунды, давая подробные отчёты об ошибках, что позволяло студентам быстро учиться и исправлять код.
  3. Скорость: Компилятор WATFOR переводил программы со скоростью до 100 строк в секунду.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *