FORTRAN I
Реализация языка программирования FORTRANПервый компилятор языка FORTRAN был вехой в компьютерной хронологии, в те времена компьютеры имели маленький объем памяти (порядка 15 КБ), были медлительными и имели примитивные операционные системы. И казалось что язык ассемблера единственно возможный для практического программирования. Компилятор FORTRAN I состоял из 25 тыс. строк кода и поставлялся с каждой машиной IBM 704, которая стала первым компьютером массового производства.
Разработчики FORTRAN не изобретали идею написания программы на языке высокого уровня и компилирование исходного текста в объектный код с оптимизацией, но они разработали первый успешный язык высокого уровня, который все еще широко используется, и оптимизирующий компилятор, которые генерировал очень эффективный код. Фактически компилятор FORTRAN I держал рекорд по оптимизации кода в течение 20 лет!
Новый язык давал большие возможности и позволял быстрее описывать программы. Так написание программы, вычисляющей параметры ядерного реактора, занимало несколько часов вместо недель. При этом новый язык требовал меньшего навыка программирования. Другим преимуществом стала переносимость FORTRAN. Можно сказать, FORTRAN I выиграл сражение против assembler и был принят научными и военными сообществами для использования.
Первый выпуск FORTRAN для IBM 704 содержал 32 операторов, включая:
-
операторы
DIMENSION
иEQUIVALENCE
- оператор присваивания
- арифметический условный оператор IF
-
условный оператор
IF
для проверки исключений; условный операторIF
для управления пультовыми переключателями и световыми индикаторами -
GOTO
, вычисляемыйGOTO
,ASSIGN
и назачаемыйGOTO
-
циклы типа
DO
-
форматированный ввод/вывод при помощи операторов
FORMAT
,READ
,READ INPUT TAPE
,WRITE
,WRITE OUTPUT TAPE
,PRINT
,PUNCH
-
неформатированный ввод/вывод при помощи операторов
READ TAPE
,READ DRUM
,WRITE TAPE
,WRITE DRUM
-
альтернативный ввод/вывод при помощи операторов
END FILE
,REWIND
,BACKSPACE
-
PAUSE
,STOP
,CONTINUE
-
оператор
FREQUENCY
(для обеспечения оптимизации)
Комментарии
]]>blog comments powered by Disqus
]]>