Фортран какое программное обеспечение

Обновлено: 02.07.2024

Фортран (Fortran) — первый реализованный язык программирования высокого уровня (после Планкалкюля), правда, с одной небольшой оговоркой — для машин, построенных по классической схеме фон Неймана. Создан в период с 1954 по 1957 год группой программистов под руководством Джона Бэкуса (John Backus) в корпорации IBM. Через пару лет начались его коммерческие поставки. До этого программирование велось либо непосредственно в машинных кодах, либо на символических ассемблерах. Название Fortran является аббревиатурой от FORmula TRANslator, то есть, переводчик формул.

Фортран широко используется в первую очередь для научных и инженерных вычислений. Одно из преимуществ современного Фортрана — большое количество написанных на нём программ и библиотек подпрограмм. Среди учёных, например, ходит такая присказка, что любая математическая задача уже имеет решение на Фортране, и, действительно, можно найти среди тысяч фортрановских пакетов и пакет для перемножения матриц, и пакет для решения сложных интегральных уравнений и многие, многие другие. Ряд таких пакетов создавались на протяжении десятилетий и популярны по сей день (главным образом в научной среде).

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

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

История

В конце 1953 Джон Бэкус предложил начать разработку эффективной альтернативы ассемблеру для программирования на ПК IBM 704. Уже к середине 1954 была закончена черновая спецификация языка Fortran. Первое руководство для Fortran появилось в октябре 1956 вместе с первым компилятором, поставленным в апреле 1957. Компилятор был оптимизирующим, потому что клиенты отказывались использовать язык программирования высокого уровня, который был не в состоянии генерировать код с производительностью ниже, чем у ассемблера.

Язык был широко принят учеными для написания программ с интенсивными вычислениями. Включение комплексного типа данных сделало его особенно подходящим для технических приложений.

К 1960 году существовали версии Fortran для компьютеров IBM 709, 650, 1620, 7090. Его большая популярность побуждала конкурирующих изготовителей компьютеров создавать компиляторы Fortran для своих компьютеров. Таким образом, уже к 1963 существовало более 40 компиляторов для разных платформ. Именно по этому Fortran считают первым широко используемым языком программирования.

Поскольку FORTRAN оказался столь успешным языком, в Европе возникли опасения, что IBM будет доминировать в компьютерной отрасли. Немецкое общество прикладной математики (German society of applied mathematics — GAMM) создало комитет по разработке универсального языка. В то же время Association for Computing Machinery (ACM) организовала похожий комитет в США. Несмотря на то, что у европейцев было некоторое беспокойство по поводу господства американцев, оба этих комитета слились в один. Под руководством Питера Наура (Peter Naur) этот комитет разработал IAL (International Algorithmic Language). Предлагавшееся название ALGOL (ALGOrithmic Language) было вначале отвергнуто. Но поскольку оно стало общеупотребительным, официальное имя IAL пришлось впоследствии изменить на ALGOL 58. Новая версия появилась в 1960 г., и ALGOL 60 (с небольшими изменениями, сделанными в 1962 г.) с 60-х и до начала 70-х гг. прошлого века был стандартом академического языка программирования.

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

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

Стандарты

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

  • FORTRAN IV (позже положенный в основу FORTRAN 66 (1966);
  • FORTRAN 77 (1978)
    • множество улучшений: строковый тип данных и функции для его обработки, блочные операторы IF, ELSE IF, ELSE, END IF, оператор включения фрагмента программы INCLUDE и т. д.
    • значительно переработан стандарт языка. Введён свободный формат написания кода. Появились дополнительные описания 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. Появились новые встроенные функции, в первую очередь, для работы с массивами
    • в языке появились элементы ООП
    • дальнейшее развитие поддержки ООП в языке. Взаимодействие с операционной системой

    Компиляторы

    До 1997 основным производителем компиляторов Fortran для IBM PC совместимых компьютеров была корпорация Microsoft. Впоследствии она отказалась от их разработки в связи с низкой прибыльностью. На данный момент компиляторы поставляет фирма DEC, вошедшая в 1998 г. в состав Compaq и вместе с последней в 2002 г. слившаяся с 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. Поддержка Fortran реализована также для всех высокопроизводительных платформ HP.

    Другим крупным поставщиком систем разработки на Fortran является фирма Lahey, предлагающая интегрированные решения для Windows и Linux.

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

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

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

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

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

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

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

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

    Именно этот негативный опыт стал причиной, по которой в ряде современных языков программирования (например, Java) метки и связанные с ними операторы безусловного перехода вообще отсутствуют.

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

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

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

    Наследие Fortran

    Fortran использовался более пятидесяти лет и существует огромная часть принадлежащая ему и по сей день. Fortran — основной язык для некоторых задач требующих огромных вычислений, таких как моделирование погоды и климата, гидрогазодинамика, вычислительная химия, квантовая хромодинамика, моделирование динамики солнечной системы, вычисление орбит искусственных спутников и многие другие задачи.

    Переносимость

    Несовместимые расширения были не единственной проблемой. Существовал ряд проблем с численными вычислениями. Позже была развита и внедрена практически универсальная идея двоичной арифметики с плавающей запятой.

    Доступ к исполняемой среде (например, к командной строке, переменным среды) был весьма затруднителен, пока на это не обратили на это внимание в стандарте 2003 года.

    Сейчас относительно просто реализовать полностью переносимую программу на Fortran.

    Это зрячая версия , которая была отмечена 21 августа 2021 года . Есть 2 незавершенных изменения , которые еще предстоит просмотреть.

    Fortran - это процедурный язык программирования , который также является объектно-ориентированным языком программирования с 2003 года , который используется, в частности, для численных расчетов в науке, технологиях и исследованиях. Название произошло от FORMula TRANslation и было написано заглавными буквами до версии FORTRAN 77.

    В июле 2021 года Fortran был 14-м по популярности языком программирования в индексе TIOBE .

    оглавление

    история

    Фортран считается первым из когда-либо реализованных языков программирования высокого уровня . Это восходит к предположению, которое Джон В. Бэкус , программист из IBM , сделал своему начальству в 1953 году.

    За разработкой языка последовала разработка компилятора командой IBM под руководством Бэкуса. Проект стартовал в 1954 году и изначально рассчитывался на шесть месяцев. Фактически, Харлан Херрик, изобретатель получившей впоследствии резкую критику инструкции Goto , смог выполнить первую программу на языке Fortran 20 сентября 1954 года. Но только в 1957 году компилятор был найден готовым к выпуску на рынок и поставлялся с каждой системой IBM 704 . Бэкус с самого начала настаивал на оснащении компилятора способностью оптимизировать его: он предвидел, что Fortran будет преобладать только в том случае, если будет достигнута скорость выполнения, аналогичная скорости выполнения предыдущих программ на ассемблере .

    Версии


    Листинг программы FORTRAN 77 с выводом компилятора (созданный в 1987 году на CDC 175 в центре обработки данных RWTH Aachen )


    Фортран расширялся несколько раз. Многие новые языковые элементы были первоначально введены одним производителем, а затем включены в международный стандарт. Следующими друг за другом версиями были FORTRAN I, FORTRAN II, FORTRAN IV, FORTRAN 66, FORTRAN 77, Fortran 90, Fortran 95, Fortran 2003, Fortran 2008 и Fortran 2008. Начиная с FORTRAN 66, Fortran стандартизирован ISO . Обновление стандартов - сложный процесс, который часто занимает гораздо больше времени, чем предполагалось изначально: преемник стандарта FORTRAN 77, опубликованного в 1978 году, который назывался Fortran 8x, первоначально планировался на 1982 год, позже - на 1985 год, и был окончательно принят под название Fortran 90 от 11 апреля 1991 года как новый стандарт и преемник FORTRAN 77. В 2018 году Fortran был выпущен в 2018 году. Улучшена совместимость с C и функциями, связанными с параллельным программированием. Дальнейшие нововведения касаются арифметики с плавающей запятой на микропроцессорах, а также ввода и вывода шестнадцатеричных чисел .

    Элементы языка

    В ходе этих расширений многие языковые элементы были заимствованы из языков программирования, которые были созданы позже. Ранние версии FORTRAN до версии 4 имели только две разные инструкции Goto и вызов подпрограмм как структуру управления потоком . Структурированное программирование с циклами стало возможным с FORTRAN 77. В Fortran 90, в дополнение к фиксированному формату строки из эпохи перфокарт , был разрешен более свободный формат, используемый более поздними языками программирования. Из Fortran 90 вводятся элементы, которые также присутствуют в Ada , например, например, необязательные параметры и возможность идентификации параметров процедуры не только по их положению в списке параметров, но и по их имени. Начиная с Fortran 2003, также поддерживаются полиморфные типы данных и наследование , так что можно программировать объектно-ориентированно . Так как Fortran 2008, с Coarray Fortran, распараллеливание был построен на том языке , который следует за PGas схему.

    Возможные вызовы, например, Б .:

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

    варианты

    Некоторыми языками программирования, производными от Fortran, являются Ratfor, F и HPF (High Performance Fortran).

    характеристики

    Фортран был и оптимизирован для численных расчетов. С самого начала в Фортране был оператор мощности, ** которого нет во многих других языках высокого уровня, и тип данных для комплексных чисел . Стандартные векторные и матричные операции Fortran 90 . Кроме того, регистр Fortran нечувствителен , т.е. ЧАС. В отличие от таких языков, как C или C ++ , компилятор не различает верхний и нижний регистр. Это в стиле программиста, пишет ли он в верхнем или нижнем регистре, но в целом вы можете видеть все чаще (например, в учебниках) тенденцию писать все в нижнем регистре.

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

    Массивы в присваиваниях и выражениях, а также встроенные функции массивов

    Массивы с одинаковым количеством элементов и одинаковым рангом могут использоваться в выражениях и присваиваниях, также смешанных со скалярами.

    Стандарт языка предопределил различные функции массива. Например, функция MAXVAL возвращает максимальное значение массива и MAXLOC индекс максимального значения. Внутренние функции DOT_PRODUCT и MATMUL дают скалярное произведение и матричное умножение .

    Неявное объявление переменной

    После использования математической записи переменные в Фортране объявляются без объявления с использованием их первой буквы: идентификаторы , начинающиеся с одной из букв i, j, k, l, m, n, обозначают целочисленную переменную или целочисленное значение функции, все остальные идентификаторы обозначают числа с плавающей запятой. Это неявное объявление типа переменных может быть перезаписано объявлением отдельных переменных, оно может быть заменено строкой, например

    можно изменить, а неявное соглашение можно изменить командой

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

    Передача аргументов

    До Fortran 77

    До FORTRAN 77 включительно подпрограммы нельзя было объявлять до их использования. Объявление может определять только тип возвращаемого значения функции. Компилятор обычно не проверяет, был ли вызов подпрограммы выполнен с правильными аргументами. Передача аргументов подпрограммам ( subroutine или function ) обычно осуществляется по адресу. Автоматическое преобразование типов не происходит.

    Большинство систем Fortran также не выполняют проверку типов во время выполнения. Это частый источник ошибок при использовании устаревшего стиля программирования.

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

    В подпрограмме drucke_zahl() это meine_zahl потому, что с m неявным запуском при объявлении Integer . Вызов выполняется во время выполнения с real аргументом 3.14 . Затем целочисленная переменная дополняется meine_zahl битами представления с плавающей запятой 3.14 - что приводит к случайным абсурдным числовым результатам.

    Многие компиляторы Fortran передают параметры по ссылке . Иногда это приводит к непредвиденным результатам, например, в следующем примере программы 2:

    Некоторые компиляторы выводят число 42. Однако программа не совсем правильная.

    Инструменты программирования, такие как ftnchek, позволяют отдельно проверять соответствие списков аргументов и в этих случаях выдают предупреждение. Текущие компиляторы также выполняют такие проверки или генерируют ошибку времени выполнения при присвоении значения константе.

    Современный Фортран

    В Fortran 90 и последующих версиях можно определять типы параметров подпрограмм с помощью интерфейсов ( interface ) и модулей ( module ). Таким образом, компилятор может проверить, совпадают ли переданный тип параметра и ожидаемый тип. Однако это уведомление не является обязательным, как в случае с другими языками программирования, например Ada. Язык программирования F, производный от Fortran 95, обеспечивает это; В F разрешены только вызовы подпрограмм, use список параметров которых известен, например, с помощью операторов. В подпрограмме вы также можете указать, является ли параметр входным параметром ( intent(in) ), выходным параметром ( intent(out) ) или обоими ( intent(in out) ). В Fortran 90 вы объявляете панель подпрограмм следующим образом:

    Если подпрограмма попытается i изменить значение фактического параметра , компилятор выдаст ошибку.

    Кроме того, Fortran может передавать 90 массивов, включая их размеры, которые затем можно использовать в подпрограмме:

    Затем можно передавать части массивов, например Б. с

    Это обеспечивает массив с элементами x(1), x(3), x(5), x(7), x(9) из foo .

    Распределение динамической памяти

    Динамическое выделение памяти означает возможность запроса памяти (особенно для таких полей, как матрицы) только во время работы программы, что означает, что размер массивов не нужно указывать при компиляции программы. Простой пример:

    До FORTRAN 77 динамическое выделение памяти невозможно или возможно только с помощью нестандартных расширений производителя компилятора. Начиная с Fortran 90, управление динамической памятью включено в стандарт языка.

    Другой пример динамического резервирования памяти: Создание и редактирование связанного списка:

    Ориентация объекта

    В Фортране наследование реализовано за счет расширения типов. В Фортране указатель или аргумент подпрограммы может быть CLASS аргументом. При необходимости тип можно SELECT TYPE отличить по.

    Пользователь, который использует переменную x типа или класса, foo может затем вызывать подпрограммы foo%add , foo%subtract и foo%get_val прямой доступ к foo%i ним через ключевое слово private невозможен.

    Компилятор


    Компиляторы Fortran доступны практически для всех компьютеров, от рабочих станций до суперкомпьютеров .

    Проприетарное программное обеспечение

    Коммерческими поставщиками компиляторов Fortran являются производители компьютеров, такие как B. IBM, SUN, HP, Intel или производители специализированного программного обеспечения, такие как Absoft, NAG, Lahey, Salford. Чистые компиляторы FORTRAN 77 в настоящее время в основном больше не производятся, поскольку FORTRAN 77 почти полностью содержится в языковом стандарте Fortran 95 (только циклы DO с РЕАЛЬНЫМИ переменными итерации и дескрипторы редактирования Hollerith больше не доступны в Fortran 95 и более поздних версиях).

    Некоторые из перечисленных выше компиляторов бесплатны для частных пользователей или некоммерческого использования, например, Linux-версия компилятора Intel Fortran , Sun Studio Express (с компиляторами Fortran, C и C ++ для Linux и Solaris), для Microsoft Windows компиляторы Salford и DEC Fortran для OpenVMS .

    Бесплатно программное обеспечение

    Начиная с версии 4.0, GNU Compiler Collection (GCC) , доступный практически для всех платформ, содержит компилятор для Fortran 95 ( GNU Fortran ). Более старые версии GCC по-прежнему содержат компилятор FORTRAN-77 g77. Работа над бесплатным компилятором G95 была прекращена в 2012 году, но он все еще доступен. Из этого в 2003 году появился gfortran как новый компилятор GNU Fortran.

    В комплект разработчика OpenWatcom входит также компилятор FORTRAN 77.

    Транскомпилятор

    Там Trans компилятор , такие как f2c для автоматического перевода Fortran 77 в C . Однако исходный текст, созданный на основе этого, трудно читается людьми. Компилятор NAG также использовал C в качестве промежуточного языка в прошлом; однако требуемая библиотека времени выполнения не была доступна в исходном коде.

    Языковая поддержка

    Большинство современных компиляторов поддерживают стандарт 2008 или 2018.

    Литература по истории Fortran

    Литература по Фортрану

    веб ссылки

    Викисловарь: Фортран - объяснение значений, происхождение слов, синонимы, переводы

    • Компендиум Fortran Wiki для всех версий Fortran
    • Ссылки и информация Fortran.de
    • Стандарты Fortran Коллекция ссылок на сайте GNU Fortran
    • Магазин Fortran Обширная информация, включая исторические данные и стандарты (на английском языке)

    Индивидуальные доказательства

      Эта страница последний раз была отредактирована 21 августа 2021 в 21:30.


    Язык программирования Fortran используется в основном для научных вычислений. Изобретенный в 1954 году, это старейший язык программирования высокого уровня, за которым последовал Lisp (1958), Algol (1958) и COBOL (1959). Число научных библиотек, написанных на "Фортране", и создание специальных переводчиков-компиляторов позволяют использовать язык и сегодня. Кроме того, были созданы множественные калькуляторы для векторизации, сопроцессоров, параллелизма, которые вкрапляют этот язык для использования в промышленном производстве современного мира.

    Исторические вехи Fortran

    Исторические вехи Fortran

    Название языка первоначально прописывалось заглавными буквами FORTRAN и использовалось для обозначения языковых версий вплоть до Fortran 77, в отличие от бесплатных версий синтаксиса, начиная с Fortran 90. В стандарте Fortran 77 строчные буквы не являются частью языка, но большинство компиляторов поддерживают их, в дополнение к стандарту.

    Сегодня язык программирования Fortran является доминирующим в программировании, используемом в инженерных приложениях. Поэтому важно, чтобы инженеры-выпускники могли читать и изменять код Fortran. Время от времени, так называемые эксперты, прогнозируют, что язык потеряет свою популярность и скоро перестанет использоваться вообще.

    Эти прогнозы всегда терпели неудачу. "Фортран" - самый устойчивый компьютерный язык программирования в истории. Одна из основных причин, по которой язык программирования Fortran выжил и выживет - это инерция программного обеспечения. После того, как компания потратила много ресурсов и, возможно, миллионы долларов на программный продукт, вряд ли она будет переводить программное обеспечение на другой язык.

    Основным преимуществом Fortran является то, что он стандартизован международными органами ANSI и ISO. Следовательно, если программа написана в ANSI, то она будет запущена на любом компьютере с компилятором Fortran 77. Это важная информация. Таким образом, программы объектно ориентированного языка программирования Fortran существуют на разных программных устройствах.

    Различие языковых версий

    Различие языковых версий

    Этапы создания языковой платформы:

    Многочисленные промышленные коды были написаны в Nastran, NAG и IMSL- Fortran библиотеке. Совместимость новых версий с предыдущими важна. По этой причине Fortran 90 полностью совместим с Fortran 77. Однако в следующих версиях стандарта уже были введены несовместимости.

    Совершенные языки Fortran 90

    Вскоре последовали более совершенные языки Fortran 90 и Fortran 95, обновленные до текущего стандарта Fortran-2003. При том, что современные компиляторы работают неограниченно во всех текущих версиях Windows и даже поддерживают 64-разрядные процессоры. Между тем, производители признали тенденцию времени и предлагают компиляторы для Linux в виде объектно ориентированного языка программирования Actor Fortran.

    Предпосылки использования языка программирования

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

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

    Многие научные программы теперь написаны на языках C и C ++, компиляторы которых доступны на большинстве машин. Другие скомпилированные языки иногда используются для научных вычислений, и особенно для таких программ, как Scilab или Matlab. Последние также включают библиотеки BLAS и LAPACK, разработанные в программировании Fortran. Matlab изначально была программой в Fortran, распространяемой в университетах и исследовательских центрах.

    Современные компиляторы

    Современные компиляторы

    Существует также недорогая версия LF95 Express без собственной IDE. Текущая версия - 7.1. в Linux вызывается компилятором Lahey / Fujitsu Fortran 95 v6.2 для Linux и доступна в двух разных версиях. Например, версия Pro включает совместимость с OpenMP v2.0, простой графический движок Winteracter Starter Kit, математическую библиотеку и научную библиотеку подпрограмм Fujitsu 2.

    Другим производителем является Absoft. Компиляторы и C ++ существуют не только для Windows и Linux, но также и для OS X на Macintosh. Эти компиляторы интересны разработчикам, которые нуждаются или хотят поддерживать все три платформы. К сожалению, Absoft различает 32- и 64-разрядные версии под Linux, в настоящее время используется версия 10.0 Fortran 95 для 64-разрядной Linux.

    Возможно, рынок был слишком мал для софтверного гиганта, но Digital занял часть кода в 1997 году и использовал свой опыт работы с компиляторами Digital Unix и OpenVMS. Это было рождение еще очень успешного Digital Visual Fortran. В какой-то момент Digital затем перешел в Compaq, компилятор был доработан до текущей версии Compaq Visual Fortran (CVF) v6.6.

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

    Организационные структуры программ

    Организационные структуры программ

    Программа Fortran представляет собой последовательность строк текста. Текст должен следовать определенному синтаксису. Например: круг радиуса r, площадью c.

    Эта программа считывает реальный радиус и определяет площадь круга с радиусом r:

    'Радиус r:'read (*, *) r;

    area = 3.14159 * r * r;

    Программа Fortran обычно состоит из основной программы или драйвера и нескольких подпрограмм, процедур или подпрограмм. Структура основной программы:

    • название программы;
    • декларации;
    • заявления;
    • стоп;
    • конец.

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

    Правила позиции столбца

    Fortran 77 не является языком свободного формата, но имеет очень строгий набор правил для форматирования исходного кода. Наиболее важными правилами являются правила расположения столбцов:

    Восклицательный знак может появляться в любом месте в строке. Иногда заявление не вписывается в одну строку, тогда можно разбить оператор на две или более строк и использовать знак продолжения в позиции.

    Пустые пробелы игнорируются, начиная с "Фортрана 77". Поэтому, если удалить все пробелы в Fortran 77, программа по-прежнему синтаксиально правильная, хотя при этом почти нечитаемая для операторов.

    Переменные, типы и декларации

    Переменные, типы и декларации

    Имена переменных в Fortran состоят из 1-6 символов, выбранных из букв a-z и цифр 0-9. Первым символом должна быть буква. Fortran 90 допускает имена переменных произвольной длины. Fortran 77 не проводит различия между верхним и нижним регистром, на самом деле он предполагает, что все входные данные являются верхним регистром. Тем не менее, почти все компиляторы F 77 будут принимать строчные буквы. Каждая переменная должна быть определена в объявлении. Это устанавливает тип переменной. Наиболее распространенными списками переменных являются:

    • integer;
    • real;
    • double precision;
    • complex;
    • logical;
    • character.

    Фортран 77 имеет только один тип для целочисленных переменных. Целые числа обычно хранятся в виде 32-битных (4 байта) переменных. Поэтому все целочисленные переменные должны принимать значения в диапазоне [-m, m], где m составляет приблизительно 2 * 10 9.

    F 77 имеет два разных типа для переменных с плавающей запятой, называемых реальной двойной точностью. Некоторые численные вычисления требуют очень высокой точности, и следует использовать двойную точность. Обычно реальная - 4-байтовая переменная, а двойная точность - 8 байтов, но это зависит от машины.

    Программа площади круга

    Синтаксис оператора параметра (name = constant, . name = constant). Правила для оператора параметров:

    Некоторые веские причины использовать параметр - помогает уменьшить количество опечаток, легко изменить константу, которая появляется много раз в программе.

    Логические выражения

    Логические выражения

    Логические выражения могут иметь только значение .TRUE. или .FALSE. и могут быть сформированы путем сравнения арифметических выражений с использованием реляционных операторов.

    Нельзя использовать символы, такие как « = y'elsewrite(*,*) 'x is positive but x 4 декабря, 2018

    Язык программирования Fortran, созданный в 1957 г., переживает резкий всплеск популярности. В рейтинге TIOBE он еще летом 2020 г. занимал самое последнее 50 место, но к апрелю 2021 г. оказался на 20 строчке. Несмотря на почтенный возраст, Fortran продолжает развиваться и использоваться в различных сферах – его самая актуальная версия вышла в конце 2018 г.

    Живее всех живых

    Язык программирования Fortran после многих лет забвения вновь стал интересовать разработчиков. В рейтинге языков TIOBE за апрель 2021 г. он вошел в топ-20, опередив многие известные языки, включая Objective-C и Rust.

    Fortran демонстрирует взрывной рост популярности, пришедший на смену постепенному забвению. Так, если в апреле 2020 г. он занимал 34 место, то к июню 2020 г. почти выбыл из рейтинга, скатившись на 50 строчку. В итоге менее чем за год Fortran отыграл 30 позиций, но составители рейтинга TIOBE пока не прогнозируют его дальнейшие успехи или, наоборот, неудачи.

    fort601.jpg

    За 18 лет существования рейтинга Fortran поднимался в нем максимум до 10 места. Этот личный рекорд он поставил в марте 2002 г., 19 лет назад, после чего его популярность стала падать. В 2005 г. был зафиксирован кратковременный рост интереса к нему, но затем вплоть до 2015 г. он держался примерно на одном уровне. С 2015 по 2017 гг. популярность Fortran вновь подскочила и затем снова рухнула. Не исключено, что новый рывок этого языка окажется началом следующего длительного периода роста его востребованности.

    История Fortran

    Fortran входит в число старейших языков программирования – он был создан в 1957 г. специалистами компании IBM. Название 64-летнего языка расшифровывается как FORmula TRANslator (переводчик формул).

    Несмотря на свой почтенный возраст, Fortran по-прежнему востребован в ряде сфер, включая инженерные вычисления. Его разработка продолжается, и на момент публикации материала самой актуальной его версией была Fortran 2018 (ISO/IEC 1539-1:2018), вышедшая в конце ноября 2018 г.

    fort602.jpg


    Конкуренты из прошлого

    Fortran – не единственный язык программирования середины XX века, набирающий популярность в третьем десятилетии XXI века. В апреле 2020 г. в мире и, в особенности, в США резко взлетел спрос на разработчиков, пишущих на COBOL (COmmon Business Oriented Language).

    Интерес к COBOL подхлестнула пандемия коронавируса, повлекшая за собой рост числа безработных. ПО, написанное на этом языке, используется в США в системе занятости, и в настоящее время оно требует обновления и оптимизации. COBOL младше Fortran на два года – он появился в 1959 г.

    fort603.jpg

    В середине апреля 2020 г. IBM, создатель Fortran, даже объявила о готовности провести обучающие курсы по языку COBOL, лишь бы увеличить суммарное число программистов во всем мире, знающих этот язык. В конце июля 2020 г. специалисты Института инженеров электротехники и электроники (Institute of Electrical and Electronics Engineers, IEEE) опубликовали рейтинг языков программирования в своем ежемесячном журнале IEEE Spectrum. Он включает 55 позиций, и COBOL занял в нем 43 строчку.

    fort604.jpg

    В рейтинге TIOBE COBOL тоже присутствует – по состоянию на апрель 2021 г. он находился в нем на 24 месте. В этом списке COBOL достигал максимум 8 места – сделать это ему удалось в августе 2011 г. Спустя ровно 11 лет, в августе 2011 г., COBOL оказался на 47 месте, и пока это наихудший его результат за все 18 лет существования рейтинга.

    Читайте также: