Фортранські сови

Фортран ( ДЛЯ mula TRAN перекладач ) - мова програмування, що в основному використовується для наукових обчислень. Винайдена в 1954 році, це найстаріша мова програмування високого рівня, за якою слідують, зокрема, Лісп (1958), Алгол (1958) та COBOL (1959). Кількість наукових бібліотек, написаних у Фортрані, та постійні зусилля, спрямовані на компілятори, щоб впродовж десятиліть використовувати нові можливості комп'ютерів (векторизація, співпроцесори, паралелізм) підтримували використання цієї мови не без важливих еволюцій.
Історичний
Джон Бакус, інженер-радіотехнік, залучений чотирма роками раніше до IBM, опублікував статтю в 1954 році під назвою Попередній звіт, Технічні характеристики для системи перекладу математичних формул IBM, FORTRAN. Потім потрібні два роки зусиль, щоб команда, яку він очолює в IBM, написала перший компілятор Fortran (25 000 рядків, для IBM 704).
Ім'я мови іноді умовно пишуть з великої літери (FORTRAN) для позначення версій мови до Fortran 77, на відміну від версій вільного синтаксису, починаючи з Fortran 90. Крім того, у стандартній формі Fortran 77, нижній регістр літери не є частиною мови, хоча більшість компіляторів підтримують їх як розширення стандарту.
У 2010-х роках мова фортрану залишалася широко вживаною з кількох причин:
- наявність дуже великої кількості бібліотек функцій, що розвивалися та вдосконалювались протягом багатьох років;
- існування програмного забезпечення Fortran, яке вимагало дуже значних ресурсів для його розробки і перехід якого на іншу мову вважається занадто дорогим;
- існування потужних компіляторів, які створюють дуже швидкі виконувані файли.
Однак зараз багато наукових програм написані на мовах C і C ++, компілятори яких доступні на більшості машин. Інші компільовані мови іноді використовуються для наукових обчислень, і особливо програмне забезпечення, таке як Scilab або Matlab. Останні також включають бібліотеки BLAS та LAPACK, розроблені у Fortran,. Спочатку Matlab була програмою у Фортрані, яка розповсюджувалась серед університетів та дослідницьких центрів. Крім того, розробляються мови програмування для полегшення паралельного програмування на суперкомп’ютерах - області, де Фортран широко використовується. Ми можемо навести X10, розроблену IBM з 2004 р., І Chapel, розроблену Cray з 2009 р. Інша мова, Fortress, з’явилася в 2006 р. І розроблена Sun Microsystems, була відмовлена в 2012 р. Ці три мови є частиною проекту Високопродуктивні обчислювальні системи DARPA.
Fortran, створений на момент перфокарт (зокрема, із системою FMS), оптимізує макет своїх джерел у цій перспективі, аж до Fortran 90, який вводить "безкоштовний" синтаксис. До Fortran 90 код починається з 7-го стовпця і не повинен перевищувати 72-го. Тоді це виглядає так:
- стовпець 1 може містити літеру С із зазначенням коментаря. Символ * також приймається;
- стовпці з 1 по 5 можуть містити (необов’язково) числову мітку інструкції, значення якої може бути обмежене 32 767 або 9 999 залежно від компілятора (у Fortran II Advanced Scientific Instruments ASI 210 та ASI 2100 комп’ютери);
- у графі 6 вказується продовження попередньої інструкції;
- стовпці 73 - 80 використовуються для ідентифікації та нумерації перфокарт (часто три ініціали проекту, керівника проекту або програміста, за якими йдуть п’ятизначні номери, присвоєні від десяти до десяти, щоб дозволити вставки в останню хвилину).
Багато промислових кодексів написано у Fortran (бібліотеки Nastran, NAG та IMSL тощо), і сумісність нових версій з попередніми є суттєвою, за рахунок збереження концепцій, які вже не є суттєвими. З цієї причини Fortran 90 повністю сумісний з Fortran 77. Однак наступні версії стандарту мають несумісність.
Мова BASIC, в оригінальній версії (1964), була розроблена як невелика освітня мова, що дозволяє студентам ініціювати програмування, перш ніж переходити до “серйозних” мов того часу: Fortran та Algol. Тому ми знаходимо деякі особливості мови фортран.
Укладачі
Безкоштовний компілятор GCC дозволяє компілювати Fortran 77 (компілятор g77, до gcc 3.4.6). Компілятор gfortran з'являється з GCC 4.0.0 у 2005 році. Він походить від вилки, зробленої в 2003 році G95 G95, іншого безкоштовного компілятора, розробку якого розпочали у 2000 році. Розробка G95 була зупинена з січня 2013 року (дата останньої доступності вихідного коду). У 2013 році gfortran повністю підтримує стандарт Fortran 95 та частину Fortran 2003 та Fortran 2008. Немає чого соромитись перед комерційними компіляторами, оскільки підтримка цих двох "нових" стандартів, виробники іноді більше зацікавлені у поліпшенні швидкості коду товару, ніж у останніх функціях, пропонованих стандартом.
Open64 - ще один безкоштовний компілятор Fortran 95, якого не слід плутати з AMD x86 Open64, який також є безкоштовним. Існує також безкоштовний компілятор Open Watcom, але він компілює лише Fortran 77, і не планується еволюція до більш пізнього стандарту.
Існує багато комерційних компіляторів, серед яких: Lahey, Absoft, PathScale (uk), Portland Group (en) (дочірнє підприємство NVidia), NAG тощо. Більшість виробників робочих станцій або комп'ютерів, призначених для інтенсивних обчислень, також пропонують компілятор Fortran: Intel, IBM, HP, SGI, Oracle (після поглинання Мікросистеми сонця), Unisys, Cray тощо. Сюди також входять виробники, які зараз не працюють, такі як CDC або DEC. Останній також придбав Compaq, який згодом об’єднався з HP; компілятор Intel Visual Fortran є наступником DEC Visual Fortran, ніж Compaq Visual Fortran.
Деякі з цих комерційних компіляторів мають безкоштовні версії для некомерційного використання: це випадок з Intel, Oracle, PathScale, Portland Group.
Приклад
Версії Fortran
Мова фортран зазнала багатьох змін:
Бібліотеки
Графічні бібліотеки
Стандарти Fortran не містять графічних інструкцій. Щоб подолати цей недолік, ми повинні використовувати бібліотеки: