В 1954 году, Джон Уорнер Бэкус, руководитель группы разработчиков в IBM, опубликовал статьи, которые положили начало разработке языка программирования FORTRAN. Его работы включали «Предварительный отчет» и «Спецификации для IBM Matmal Transmula TRANslating System». Спустя два года, команда под его руководством представила первый компилятор для Fortran, спроектированный для IBM 704 и содержавший 25 тысяч строк кода.
Изначально, название Fortran писалось заглавными буквами — FORTRAN — и такая форма использовалась во всех версиях до Fortran 77. С выпуском Fortran 90 начали использовать новый способ написания, который был принят и для бесплатных версий языка. Особенность Fortran 77 заключалась в том, что язык официально не поддерживал строчные буквы, однако многие компиляторы предоставляли такую возможность в качестве дополнительной функции.
Эволюция языка программирования Fortran
Процесс разработки первого компилятора для Fortran, начатый в 1954 году и завершенный в 1957 году, ознаменовал собой введение новой эры в программировании. В то время как высокоуровневые символьные системы еще не существовали, и операционные системы были просты, первый компилятор для Fortran был разработан специально для IBM 704 и быстро доказал свою эффективность по сравнению с ассемблером, что способствовало его широкому распространению.
Fortran продолжил развиваться, и в 1958 году был представлен Fortran II, а затем Fortran IV в 1961 году, в который были введены улучшенные операторы COMMON и EQUIVALENCE. Стандартизация языка началась в США в 1962 году, что позволило использовать Fortran на всех современных компьютерах, включая системы Apple и TRS80. Первый международный стандарт для HLL был установлен в Fortran 66 в 1967 году, который значительно расширил применение языка.
Важным аспектом Fortran 66 было использование конструкций if, goto-statement и спагетти-кода, что было популярно в 60-е и 70-е годы. Однако до версии Fortran 90, пробелы в коде между 7-м и 72-м столбцами игнорировались, что приводило к различным интерпретациям кода.
Fortran 90, совместимый с Fortran 77, внес значительные изменения, обеспечивая совместимость с предыдущими версиями, хотя в последующих разработках это требование могло не соблюдаться. Современные версии Fortran, включая Fortran 2003, обновлены и поддерживают современные 64-битные процессоры, а также разработку под Linux с использованием объектно-ориентированной системы Actor Fortran. Это подтверждает, что Fortran остается важным инструментом в современной программной инженерии.
Основы структуры программ на языке Fortran
Программирование на Fortran включает использование библиотечных элементов, таких как основной текст программы, модули, внешние подпрограммы и процедуры. В структуру программы входят компьютерные инструкции и данные, которые могут быть дополнены различными модулями.
Вот основные элементы программы на Fortran:
- В начале каждой программы обязательно указывается program, а завершается она с помощью end program, с последующим названием программы.
- Использование директивы implicit none позволяет программе проверять корректность объявлений типов переменных; её следует размещать в начале каждой программы.
- Комментарии в коде обозначаются символом !, за которым следует текст комментария, игнорируемый компилятором.
- Для вывода информации на экран используется оператор print *.
- Чтобы облегчить чтение кода, рекомендуется использовать отступы.
Что касается символов в языке Fortran, то они могут быть как прописными, так и строчными, поскольку Fortran не чувствителен к регистру, за исключением строковых литералов. Набор символов включает:
- Буквы от A до Z.
- Цифры от 0 до 9.
- Символ подчеркивания _.
- Специальные символы, такие как =: + - * / () [],. $ ' ! " % & ; <> ?.
Идентификаторы в Fortran, используемые для определения переменных, действий или других элементов, могут содержать до 31 символа, начинаться должны с буквы и могут включать буквы, цифры и подчеркивания. Также важно помнить, что ключевые слова зарезервированы и не могут использоваться в качестве идентификаторов.
Преимущества и недостатки Fortran
Fortran выделяется среди языков программирования благодаря своей истории и специализации на научные и инженерные задачи. Это первый высокоуровневый компилируемый язык, который продолжает активно развиваться, демонстрируя свою релевантность в современном мире программирования, несмотря на возраст и появление более новых технологий. Его продолжительное использование свидетельствует о наличии значительных преимуществ.
Преимущества Fortran:
- Fortran идеально подходит для начинающих из-за своего простого и понятного синтаксиса, что делает его отличным вводным языком для изучения программирования.
- Изучив Fortran, пользователи часто легче переходят к освоению других языков программирования.
- Язык предлагает широкий спектр инструментов на бесплатной основе, что устраняет необходимость в лицензировании.
- Fortran может похвастаться обширной библиотекой и разнообразием приложений благодаря своей долгой истории использования во всем мире.
- Язык стандартизирован на различных платформах и новые версии сохраняют совместимость с предыдущими.
- Fortran имеет инструменты для трансляции кода на различные машины, и его компиляторы доступны практически на всех ПК, поддерживая сложные параллельные вычисления.
- Система позволяет создавать компактные и эффективные программы, что было особенно важно, когда компьютеры не отличались высокой производительностью.
- Fortran особенно полезен для студентов технических и физико-математических специальностей.
Недостатки Fortran:
- Имеются строгие требования к форматированию кода, например, ограничения на длину строки в Fortran 77 и необходимость отступов в начале строк, что могло усложнять работу на ранних компьютерах.
- Ограниченный набор команд для управления структурой программы, например, трудности с написанием приложений без оператора GOTO.
- Относительно слабые средства для описания данных, что может ограничивать выразительные возможности языка.
Таким образом, Fortran остается важным инструментом в арсенале программиста, особенно для научных и инженерных приложений, несмотря на некоторые ограничения в управлении структурой программ и описании данных.
Развитие компиляторов для Fortran
Исторически компиляторы для Fortran разрабатывались специалистами Microsoft до 1997 года, однако из-за низкой прибыльности компания прекратила их создание. После этого лидирующую роль в разработке программного обеспечения для Fortran приняла компания DEC, которая позже стала частью Compaq, а затем и HP. Эти компиляторы, интегрированные с Digital Visual Fortran и основанные на Microsoft Visual Studio, включая известные версии FPS 4.0 и DVF 5.0, 6.0, соответствуют нескольким стандартам языка Fortran.
Компания Lahey занимает важное место на рынке, предлагая компиляторы для операционных систем Windows и Linux. Ранее, компания Watcom предложила высоко оцененную среду для программирования Fortran, которая позже превратилась в открытый проект Open Watcom.
Intel Fortran Compiler отличается возможностью оптимизации кода для платформ Intel ia32 и ia64, продолжая активно развиваться. Среди бесплатных вариантов выделяется компилятор от Sun Microsystems, входящий в Sun Studio, который эффективно работает на платформах SPARC, x86 и x86_64, и совместим как с Solaris, так и с GNU/Linux.
GNU также предлагает открытую среду для программирования на FORTRAN 77, совместимую с GCC, хотя этот компилятор не поддерживает все современные стандарты Fortran. Проект g95 разрабатывает среду для Fortran 95, основываясь на компиляторе GCC, что подчеркивает продолжающуюся актуализацию и адаптацию Fortran к современным требованиям программирования.
Влияние и будущее языка программирования Fortran
Fortran занимает заметное место в ландшафте программирования, составляя примерно 0.74% всех поисковых запросов, связанных с языками программирования, что выделяет его среди других языков, таких как Lisp, Scala и Rust, у которых этот показатель значительно ниже. Разработку компиляторов для Fortran осуществляли такие технологические гиганты, как IBM, Microsoft и Oracle, что способствовало его совместимости с операционными системами Windows, Mac OS и Linux. Современные технологии даже позволяют использовать Fortran на мобильных устройствах через приложения, такие как CCTools для Android, а также на iPhone с определенными настройками.
Fortran по-прежнему широко используется в научных кругах для выполнения задач, связанных с прогнозированием погоды, исследованием сейсмической активности, молекулярной динамикой и океанографией, благодаря его способности эффективно обрабатывать и представлять данные.
Текущим основным конкурентом Fortran является MATLAB, который предлагает большую универсальность и удобство. Однако MATLAB имеет свои недостатки, такие как высокая стоимость и ограничения по программному обеспечению, что может сделать его использование излишним в некоторых случаях.
Прогнозирование будущего развития IT и языков программирования всегда непредсказуемо, но Fortran сохраняет свою уникальную нишу, специализируясь на задачах, важных для научного сообщества. Это сфокусированное направление позволяет Fortran удовлетворять специфические потребности своих пользователей.
Вероятно, Fortran и в дальнейшем сохранит свою специализацию, несмотря на изменения в технологических трендах, что обеспечит его применение еще как минимум одним поколением программистов, предвещая появление новых версий этого стойкого языка программирования.