Статьи: Возможности и структура


Как было сказано, разработка языка FORTRAN была подчинена одной главной цели - обеспечению эффективности выполнения программ. Языковые структуры достаточно просты и по большей части не элегантны, но поставленная цель, тем не менее, достигается. При обсуждении языка FORTRAN можно считать, что FORTRAN 77 и FORTRAN 90 являются совершенно другими языками. В FORTRAN 90 уже добавлены почти все современные возможности управления и представления данных, которые отсутствуют в классическом FORTRAN, поэтому FORTRAN 90 является языком того же уровня, что и языки Pascal и С.

Программа на FORTRAN состоит из главной программы и набора подпрограмм, каждая из которых компилируется отдельно от других. Окончательное объединение оттранслированных программ в выполняемую форму происходит при загрузке.

Каждая подпрограмма компилируется в статически размещаемый сегмент кода и запись активации. Во время выполнения программы уже не происходит никаких изменений в распределении памяти, так как распределение памяти осуществляется статически до начала выполнения программы. Некоторые изменения этой модели выполнения сделаны в FORTRAN 90 - в этой версии языка допускается динамическое распределение памяти. В FORTRAN определено сравнительно мало типов данных: четыре типа числовых данных (целые, вещественные и комплексные числа, а также вещественные с двойной точностью), булевы данные (также называемые логическими), массивы, строки символов и файлы.

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

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

На идеологию языка FORTRAN 66 значительное влияние оказала базовая архитектура аппаратной части компьютера, на котором он был реализован. В FORTRAN 77 были добавлены современные структуры управления (например, оператор условия IF ... THEN ... ELSE), а в FORTRAN 90 эта концепция была разработана до такой степени, что при написании программ на нем теперь можно полностью отказаться от операторов GOTO. При создании FORTRAN 90 появилась концепция устаревшего свойства, то есть свойства, которое больше не соответствует современному уровню программирования и от которого следует отказаться в следующей версии этого языка. Примером может служить оператор арифметического IF1. Поскольку большая часть свойств FORTRAN 66 на данный момент является устаревшей, ко времени следующего пересмотра стандарта FORTRAN будет вполне современным языком.

В FORTRAN предусмотрены два уровня среды ссылок: глобальный и локальный. Однако в FORTRAN 90 добавлена концепция вложенных подпрограмм.

Глобальная среда ссылок может быть разбита на несколько общих областей (называемых COMMON-блоками; теперь они также находятся в списке устаревших конструкций языка), которые совместно используются несколькими подпрограммами, но только объекты данных допускается использовать таким образом. Параметры в подпрограммы и функции передаются единообразно по ссылке.

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

Структура программ изначально была ориентирована на ввод с перфокарт, и имела ряд удобных именно для этого случая свойств. Так, 1-я колонка служила для маркировки текста как комментария, со 2-ой по 5-ю располагалась область меток, а с 7-й по 72-ю располагался собственно текст оператора или комментария. Если этот текст не вписывался в отведённое пространство, в 6-ой колонке ставился признак продолжения, и затем текст продолжался на следующей карте. Расположить два или более оператора в одной строке было нельзя. Когда перфокарты ушли в историю, эти достоинства превратились в серьёзные неудобства.

Своего рода «визитной карточкой» старого Фортрана является огромное количество меток, которые использовались как в операторах безусловного перехода GOTO , так и в условном операторе IF и операторах циклов. Это делало программу на Фортране довольно трудной для прочтения. Именно этот негативный опыт стал причиной, по которой в ряде современных языков программирования (например Java) метки и связанные с ними операторы безусловного перехода вообще отсутствуют...

Статьи

Rambler's Top100

Copyright © fortran-online.info, 2007