Фортран I

Фортран I
Фортран
Семантика:

императивный

Появился в:

1957 г.

Автор(ы):

Джон Бэкус

Типизация данных:

строгая, статическая

Основные реализации:

GFortran, Open Watcom, XL Fortran

Повлиял на:

ALGOL 58, PL/I

Фортра́н (Fortran) — первый реализованный язык программирования высокого уровня. Создан в период с 1954 по 1957 год группой программистов под руководством Джона Бэкуса в корпорации Планкалкюль, претендующий на пальму первенства, был изобретён ещё в 1945 году, но не был реализован вплоть до 2000 года.) Название Fortran является аббревиатурой от FORmula TRANslator, то есть, переводчик формул. Фортран широко используется в первую очередь для научных и инженерных вычислений. Одно из преимуществ современного Фортрана — большое количество написанных на нём программ и библиотек подпрограмм.[1] Среди учёных, например, ходит такая присказка, что любая математическая задача уже имеет решение на Фортране, и, действительно, можно найти среди тысяч фортрановских пакетов и пакет для перемножения матриц, и пакет для решения сложных интегральных уравнений, и многие, многие другие. Ряд таких пакетов создавались на протяжении десятилетий и популярны (главным образом в научной среде) по сей день.

Большинство таких библиотек является фактически достоянием человечества: они доступны в исходных кодах, хорошо документированы, отлажены и весьма эффективны. Поэтому изменять, а тем более переписывать их на других языках программирования накладно, несмотря на то, что регулярно производятся попытки автоматического конвертирования FORTRAN-кода на современные языки программирования.

Современный Фортран (Fortran 95 и Fortran 2003) приобрёл черты, необходимые для эффективного программирования для новых вычислительных архитектур; позволяет применять современные технологии программирования, в частности, ООП.

Содержание

Фортран в СССР

Фортран в СССР появился позже, чем на Западе, поскольку поначалу в СССР более перспективным языком считался Алгол. Во внедрении Фортрана большую роль сыграло общение советских физиков со своими коллегами из [2]

Первый советский компилятор с Фортрана был создан в 1967 году для машины Минск-2, однако он не получил большой известности. Широкое внедрение Фортрана началось после создания в 1968 году компилятора ФОРТРАН-ДУБНА для машины БЭСМ-6. Фортран — основной язык для АСВТ и СМ ЭВМ, часто использовался вместе с препроцессором РАТФОР. Машины ЕС ЭВМ, появившиеся в 1972 году, уже изначально имели транслятор Фортрана («позаимствованный» с IBM/360 вместе с другим программным обеспечением).

Стандарты

Фортран — жёстко стандартизированный язык, именно поэтому он легко переносится на различные платформы. Существует несколько международных стандартов языка:

FORTRAN 66 (1966)
На базе стандарта фирмы IBM FORTRAN IV
FORTRAN 77 (1978)
Множество улучшений: строковый тип данных и функции для его обработки, блочные операторы IF, ELSE IF, ELSE, END IF, оператор включения фрагмента программы INCLUDE и т. д.
Fortran 90 (1991)
Значительно переработан стандарт языка. Введён свободный формат написания кода. Появились дополнительные описания IMPLICIT NONE, TYPE, ALLOCATABLE, POINTER, TARGET, NAMELIST; управляющие конструкции DO … END DO, DO WHILE, CYCLE, SELECT CASE, WHERE; работа с динамической памятью (ALLOCATE, DEALLOCATE, NULLIFY); программные компоненты MODULE, PRIVATE, PUBLIC, CONTAINS, INTERFACE, USE, INTENT. Появились новые встроенные функции, в первую очередь, для работы с массивами. В языке появились элементы ООП. Отдельно объявлен список устаревших черт языка, предназначенных для удаления в будущем.
Fortran 95 (1997)
Коррекция предыдущего стандарта.
Fortran 2003 (2004)
Дальнейшее развитие поддержки ООП в языке. Взаимодействие с операционной системой.
Fortran 2008

Компиляторы

С момента первоначальной разработки языка, компиляторы Фортрана производит фирма IBM. В настоящее время фирмой IBM поставляется оптимизирующий компилятор VS Fortran для мэйнфреймов IBM System z, история развития различных версий которого восходит ещё к 1964 году, а также компилятор XL Fortran для платформ на базе архитектуры AIX, Blue Gene (выпускалась также версия для Mac OS X, когда компьютеры

До 1997 основным производителем компиляторов Фортрана для IBM PC совместимых компьютеров была корпорация «DEC», вошедшая в 1998 году в состав «HP».

Компания «DEC» поставляет компилятор, интегрированный в среду разработки Digital Visual Fortran, основанную на Microsoft Visual Studio. Наиболее известными продуктами этой линейки являются FPS 4.0 (Microsoft Fortran Power Station), DVF 5.0 и 6.0. Каждый компилятор может поддерживать несколько стандартов Фортрана. Слияния компаний явились причиной того, что последующие продукты появлялась на рынке под торговыми марками Compaq и HP. В настоящее время HP продаёт среду разработки версии 6.6 для Intel/win32. Поддержка Фортрана реализована также для всех высокопроизводительных платформ HP.

Другим крупным поставщиком систем разработки на Фортране является фирма «

Долгое время лучшим компилятором Фортрана для PC считался компилятор фирмы «Open Watcom развивающий компилятор на открытой основе.

Известен и развивается также компилятор фирмы Intel Fortran Compiler, который позволяет оптимизировать код под платформу Intel IA-32 и IA-64.

Среди бесплатных компиляторов Фортран следует выделить компилятор от Sun Microsystems, входящий в состав Sun Studio, который генерирует эффективный код под x86 и x86-64[3] и доступен как для ОС Solaris, так и GNU/Linux.

Фонд свободного программного обеспечения GCC, но не поддерживающий всех языковых конструкций современных стандартов Фортрана. Также существует проект g95 по созданию на основе GCC компилятора Fortran-95.

Возможности и структура программы

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

Перфокарта с разметкой колонок для Фортрана.

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

Именно поэтому в стандарт Фортрана, начиная с Fortran 90, в добавление к фиксированному формату исходного текста появился свободный формат, который не регламентирует позиции строки, а также позволяет записывать более одного оператора на строку. Введение свободного формата позволило создавать код, читабельность и ясность которого не уступает коду, созданному при помощи других современных языков программирования, таких как C или GOTO, так и в операторах циклов, и в операторах описания форматного ввода/вывода FORMAT. Большое количества меток и операторов GOTO часто делало программы на Фортране трудными для понимания.

Именно этот негативный опыт стал причиной, по которой в ряде современных языков программирования (например,

Однако современный Фортран избавлен от избытка меток за счёт введения таких операторов, как DO … END DO, DO WHILE, SELECT CASE. Более того в современный стандартах языка оставлен лишь классический оператор GOTO, применяемый во многих языках и поныне. Вычисляемый оператор GOTO, а также конструкция ENTRY — множественного входа в процедуры, были исключены.

Также к положительным чертам современного Фортрана стоит отнести большое количество встроенных операций с массивами и гибкую поддержку массивов с необычной индексацией. Пример:

real,dimension(:,:) :: V
...
allocate(V(-2:2,0:10))  ! Выделить память под массив, индексы которого могут 
                        ! меняться в пределах от -2 до 2 (первый индекс)
                        ! и от 0 до 10 - второй
...
V(2,2:3)=V(-1:0,1)      ! Повернуть кусочек массива
write(*,*)V(1,:)        ! Напечатать все элементы массива V, первый индекс которых равен 1.
deallocate(V)

Пример программы

Программа «Hello, World!»

Фиксированный формат (символами «ˆ» выделены пробелы в позициях строки с 1 по 6):

^^^^^^PROGRAM hello
^^^^^^PRINT*, 'Hello, World!'
^^^^^^END

Свободный формат:

program hello
print *, "Hello, World!"
end
Замечания.
  • Оператор PROGRAM не является обязательным. Строго говоря, единственный обязательный оператор Фортран-программы — оператор END.
  • Выбор прописных или строчных букв для написания операторов программы произволен. С точки зрения современных стандартов языка Фортран, множество прописных букв и множество строчных букв при написании операторов языка совпадают.

Взаимодействие с другими языками

Многие системы программирования позволяют компоновать полученные в результате трансляции фортрановской программы объектные файлы с объектными файлами, полученными от компиляторов с других языков, что позволяет создавать более гибкие и многофункциональные приложения. Для языка Фортран также доступно большое количество библиотек, содержащих как подпрограммы решения классических вычислительных задач (BLAS), задач организации распределенных вычислений (MPI, pvm), так и задач построения графических интерфейсов (СУБД (Oracle).

Примечания

См. также

Ссылки

Литература

  • Роберт У. Себеста. 2.3. Компьютер IBM 704 и язык Фортран // Основные концепции языков программирования = Concepts of Programming Languages / Пер. с англ. — 5-е изд. — М.: Вильямс, 2001. — С. 63—69. — 672 с. — 5000 экз. — ISBN 5-8459-0192-8 (рус.), ISBN 0-201-75295-6 (англ.)

Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Фортран I" в других словарях:

  • Фортран — Семантика: императивный Появился в: 1957 Автор(ы): Джон Бэкус Типизация данных: строгая, статическая Основные реализации …   Википедия

  • ФОРТРАН — Семантика: императивный Появился в: 1957 г. Автор(ы): Джон Бэкус Типизация данных: строгая, статическая Основные реализации: GFortran, Open Watcom, XL Fortran Повлиял на …   Википедия

  • фортран — Язык программирования, используемый главным образом для научных расчетов. Первая версия разработана фирмой IBM в 1956 г. В настоящее время заменен на Фортран 77, следующая версия – Фортран 8Х стандартизируется ANSI. Информационной структурой… …   Справочник технического переводчика

  • ФОРТРАН — (акроним английского выражения «formula translation» трансляция формул), язык ПРОГРАММИРОВАНИЯ высокого уровня, обычно используемый в научных целях. ФОРТРАН широко используется уже более сорока лет и значительно развился по сравнению с тем, каким …   Научно-технический энциклопедический словарь

  • ФОРТРАН — [сокр. < англ. Formula Translation перевод формул] инф. язык программирования для решения инженерных задач; один из первых языков для ЭВМ, особенно для фирмы IBM. Создан в США в 1954 г. Словарь иностранных слов. Комлев Н.Г., 2006. фортран (англ.… …   Словарь иностранных слов русского языка

  • ФОРТРАН — [от английского For(mula) формула и tran (slation) переводить], один из первых наиболее распространенных языков программирования. Ориентирован на решение преимущественно научно технических задач. Разработан в 1957 (США). Большинство современных… …   Современная энциклопедия

  • фортран — сущ., кол во синонимов: 1 • язык (247) Словарь синонимов ASIS. В.Н. Тришин. 2013 …   Словарь синонимов

  • ФОРТРАН — (от англ. forfmula), tran(sta tor) преобразование формул) англ. /ст?гап;нем.Гог?гап;фр./ог?гап; Один из языков программирования, используемый для описания решения инженерных и научных задач с помощью чисел, числовых переменных и их массивов.… …   Энциклопедия социологии

  • ФОРТРАН — Язык программирования высокого уровня, предназначенный для упрощения программирования на ЭВМ. [http://slovarionline.ru/anglo russkiy slovar neftegazovoy promyishlennosti/] Тематики нефтегазовая промышленность EN FORmula TRANslation …   Справочник технического переводчика

  • Фортран — Процедурный язык высокого уровня для численных методов. [http://www.morepc.ru/dict/] Тематики информационные технологии в целом EN FORTRANFortran …   Справочник технического переводчика


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»