Языки программирования высокого уровня fortran

Язык программирования Фортра́н (Fortran)

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

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

Эволюция стандартов языка

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

Введено множество улучшений:

Введены операторы открытия и закрытия файла (OPEN, CLOSE) и вывода на стандартное устройство — PRINT.

Добавлены строковый тип данных и функции для его обработки.

Введён блочный оператор IF и конструкция IF THEN — ELSE IF THEN — END IF, а также оператор включения фрагмента программы INCLUDE.

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

Увеличена максимальная размерность массива с 3 до 7. Сняты ограничения на индексы массива.

Усовершенствованы и расширены возможности работы с процедурами.

Введено понятие внутреннего файла (каковыми являются массивы, числовые и строковые переменные). Внутренние файлы позволяют, в частности, осуществлять преобразование число-строка и строка-число стандартным операторами чтения и записи READ и WRITЕ.

Значительно переработан стандарт языка.

Введён свободный формат написания кода. Появились дополнительные описания IMPLICIT NONE, TYPE, ALLOCATABLE, POINTER, TARGET, NAMELIST.

Введены управляющие операторы и конструкции. Добавлены DO … END DO (вместо завершения цикла меткой), DO WHILE, оператор передачи управления на начало цикла CYCLE, конструкция выбора SELECT CASE (для замены громоздких конструкций IF и операторов GOTO), а также заключительный оператор программной единицы, модульной или внутренней процедуры END.

Введён инструментарий указателей и функции для работы с оперативной памятью (по аналогии с языком С).

Введены операторы работы с динамической памятью (ALLOCATE, DEALLOCATE, NULLIFY).

Добавлены программные компоненты MODULE, PRIVATE, PUBLIC, CONTAINS, INTERFACE, USE, INTENT.

Введено маскирование присваивания массивов (присваивание при выполнении наложенного на элементы массива логического условия без использования операторов условия), а также работа с сечениями массивов. Введён оператор и конструкция WHERE для частичной замены циклов (правая часть оператора присваивания не изменяется). Маскирование присваивания распространяется практически на все операторы, конструкции и функции, оперирующие с массивами.

Стандартные операции присваивания, сложения, вычитания, а также деления и умножения на число распространены на массивы и их секции, определяемые сечениями. В этом случае осуществляется поэлементное присваивание.

Появились новые встроенные функции, в первую очередь для работы с массивами. Функции для вычислений в массивах: ALL(лог. произведение) и MASK(логическое сложение), COUNT(число истинных элементов), PRODUCТ(произведение элементов массива), SUM(сложение элементов массива), DOT_PRODUCT (скалярное произведение), MATMUL (умножение матриц). Добавились справочные функции, а также функции переформирования и свёртки массивов.

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

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

Коррекция предыдущего стандарта. Введён оператор и конструкция FORALL, позволяющие более гибко, чем оператор и конструкция WHERE, присваивать массивы и заменять громоздкие циклы. FORALL позволяет заменить любое присваивание сечений или оператор и конструкцию WHERE, в частности, обеспечивает доступ к диагонали матрицы. Данный оператор считается перспективным в параллельных вычислениях, способствуя более эффективному, чем циклы, осуществлению распараллеливания.

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

Асинхронный ввод-вывод данных.

Средства взаимодействия с языком C

Усовершенствование динамического размещения данных

Стандартом предполагается поддержка средствами языка параллельных вычислений (Co-Arrays Fortran). Также предполагается увеличить максимальную размерность массивов до 15, добавить встроенные специальные математические функции и др.

Источник

The Fortran Programming Language#

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

Статическая и сильная типизация

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

Простота изучения и использования

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

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

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

Каков статус языка Fortran?

Fortran является зрелым языком и при этом находится в стадии активного развития. Последний стандарт языка — Fortran 2018. Следующий разрабатываемый стандарт, Fortran 2023, планируется выпустить в 2023 году. Существует более десятка открытых и проприетарных компиляторов Fortran . Кроме того, активно разрабатываются такие проекты с открытым исходным кодом, как Стандартная Библиотека (Standard Library) и Менеджер пакетов для языка Fortran (Fortran Package Manager).

Для чего используется Fortran?

Fortran в основном используется в областях, где вычисления традиционно использовались ранее – в науке и проектировании. К ним относятся численное прогнозирование погоды и состояния океана, вычислительная гидродинамика, прикладная математика, статистика и финансовое дело. Fortran является основным языком, использующимся в высокопроизводительных вычислениях (HPC) и используется в тестах производительности быстрейших суперкомпьютеров мира.

Стоит ли мне использовать Fortran для моего нового проекта?

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

Mailing list

Subscribe to our mailing list to discuss anything Fortran related, announce Fortran projects, discuss development of core fortran-lang.org projects (stdlib, fpm), and get the latest news.

Discourse

Join the discussion about all things Fortran on the fortran-lang discourse.

Twitter

RSS feed

RSS clients can follow the RSS feed.

Open source

Contribute code, report bugs and request features at GitHub.

У вас есть идея как улучшить язык? Вы можете написать новые предложения или внести вклад в существующие предложения для Комитета по стандарту языка Fortran на странице в GitHub.

Вы также можете помочь сделать Fortran лучше, внося свой вклад в разработку набора инструментов, таких как Стандартная Библиотека, Менеджер пакетов для языка Fortran, или этот веб-сайт.

Пишите программы на Fortran

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

Источник

Читайте также:  Керниган ритчи язык программирования второе издание
Оцените статью