Can’t Get Dead FORTRAN 2018 ver; публікує Борн ІТ та Windows блог
Це було лише коротке повідомлення, яке потрапило в мою увагу минулого тижня: тепер випущена нова версія мови програмування FORTRAN - FORTRAN 2018. Це незначна модифікація стандарту FORTRAN 2008 року. Причина для короткого особистого огляду ІТ-технологій та моєї першої зустрічі з FORTRAN.
Минуло 60 років з того часу, як IBM вперше опублікувала мову перекладу FORmula (FORTRAN). Це було призначено для використання в науці, техніці та дослідженнях. Остання редакція вийшла у 2010 році у формі FORTRAN 2008. Нова редакція FORTRAN 2018 тепер опублікована як стандарт ISO/IEC TS 29113: 2012. Декілька подробиць можна знайти у Fortran Wiki.
Особиста зустріч з FORTAN
Зазвичай це не тема в блозі. Але FORTRAN - це моя перша зустріч із реальними існуючими комп’ютерними технологіями - і врешті-решт виною FORTRAN є те, що я опинився не далекобійником, а марним блогером. Це було в 1977 році, коли мені, як молодому студенту-інженеру, довелося пройти обов’язковий курс програмування у FORTRAN. Після того, як лектор навчив нас першим синтаксичним правилам, це означало розміщення на перфокартах невеликих програм (5 рядків) у «комп’ютерному залі», де знаходились два перфокарти Холлеріта.

(Перфокарта, джерело: Wikimedia)
Потім ці перфокарти були доставлені в сусідній ядерний дослідний центр Юліха (сьогодні Центр досліджень Юліха, недалеко від лісу Хамбах, що на той час вже було нашим занепокоєнням), щоб здійснити їх періодичним запуском. Наступного дня, сповнений очікувань, я вирушив до скриньки з повернутими перфокартами та роздруківками. І майже кожного разу на початку мене дивував багатосторінковий звіт про помилку. Тут у номері відсутня точка, там синтаксис інструкції був неправильним. Завжди потрібно було кілька спроб, перш ніж п’ятирядковий код FORTRAN був прийнятий основним процесором IBM із правильним синтаксисом.
Ну, мої синтаксичні помилки були не такими драматичними, як Лапус американського колеги. Вважається, що програма FORTAN з крапкою замість коми ставиться відповідальною за провал американської місії Mariner 1 до Венери в 1962 році (див.).
З цього моменту потрібно було виправити помилки в логіці програми, щоб програма зробила те, що я собі уявляв. З цього часу я взяв із собою дві речі:
- У якийсь момент я записав програми на папері, щоб мати можливість перевірити синтаксис кілька разів, перш ніж передати їх на перфокарти.
- І я дозволяю програмним інструкціям, записаним на папері, працювати в моєму розумі, так би мовити, на «паперовому комп’ютері», щоб знайти логічні помилки.
У якийсь момент це вийшло досить добре - під час курсу програмні вправи, як правило, проходили бездоганно найпізніше з другим пострілом. Я роблю це і сьогодні, коли у мене є більш складні справи. Однак вищевказана процедура призвела до того, що близько 90% учнів нашого класу відмовились від програмування після закінчення обов’язкових курсів та уникали теми.
Після перших спроб ходити і лаятися, я сам якось загорівся - тим більше, що з тих пір мені завжди було достатньо подряпин для своїх лекційних записів. А тильні сторони опечаток також можна було використовувати для складання елементів машин - під час вивчення фізичної інженерії мені також довелося прочитати велику кількість лекцій з машинобудування із завданнями з будівництва та точної інженерії.
Отже, вийшло так, що ще студентом я взяв PL/1 як факультатив, і лектор дозволив мені програмувати безпосередньо, інтерактивно в BASIC на комп'ютері Mulby 3 від аахенської компанії Kranz, який знаходився в кімнаті з перфокартами. На той час Білл Гейтс давно заснував Microsoft і кілька років програмував на Basic на комп'ютерах DEC PDP.
Я зв’язався з комп’ютерами PDP 11 лише під час дипломної роботи в 1979 році. Програмування не потрібно, але я був вражений цим матеріалом. Тому що «маленькі комп’ютери» або мали перфострічку для завантаження програм, або 8-дюймову дискету. А ще була операційна система RT 11 з такими командами, як DIR, PIP, COPY, DELETE тощо. Це так сильно відрізнялося від створення програм на перфокартах.
Пізніше я заважав PDP 11/04 з телетайпом для експлуатації в авіабудуванні. Моєю роботою було адаптувати тестові програми, написані на INTRAN (Fortran від Instron у режимі реального часу). Потім з 1981 року я почав використовувати мікрокомп'ютери (Intel 8085) для завдань управління та регулювання у великій хімії. Також в комплекті: FORTRAN, PL/M та асемблер. Я навіть писав там частини операційної системи в коді FORTAN.
Це було дуже давно, але 25 років тому я зняв «це взуття», щоб посередництвом між розробниками та користувачами стати переписувачем. Були короткі рецидиви у програмуванні на Turbo Pascal, Turbo Basic, Quick Basic, Visual Basic та C # - і все це в контексті книжкових проектів. Але останні судоми були 10 років тому - і я майже все забув. Після цієї екскурсії в перші дні: Будь-хто з вас, хто мав подібний досвід?
8 відповідей на Не вбивати: опубліковано FORTRAN 2018
3-4 роки тому мені було дозволено “насолоджуватися” лекцією Fortran 95 в університеті. Так що речі неможливо вбити навіть у розкладі курсів деяких університетів;-)
Мій перший контакт із програмуванням був у 1976 році під час навчання. З самого початку у мене виникли сумніви щодо того, чи було крайньою мудрістю, коли крапка замість коми перетворює цикл на дійсне призначення. Я також виявив ризикове присвоєння імен змінних типам за замовчуванням. Усі імена змінних, які починаються на I, J, K, L, M, N, мають цілочисельний тип, решта є дійсними. Це означає, що програма з масою землі (MERDE) не працює, але з вагою землі (GERDE) працює. Погана річ.
Також пропонований Algol-60 (орієнтований на блок, попередник Pascal, C, Java тощо) був страшним програмним забезпеченням. Сама мова має свої принади, але примхи у компіляторі можуть дратувати ...
Потім я вступив у контакт з асемблером Intel 8080. Це було більше схоже на мій світ. Але Фортран та Алгол у школі та монтажники на студентській роботі не працювали. Тому я шукав студентську роботу водієм. Це добре працювало разом.
Після навчання я знайшов роботу в компанії, яка працювала з мікрокомп'ютерами, спочатку з 8080 і 8085, потім 8086. Я програмував на асемблері та PL/M (варіант PL/1 для мікрокомп'ютерів). Існувала власноруч написана операційна система, здатна до багатопроцесорної та багатозадачної роботи, на якій було розроблено прикладне програмне забезпечення. Саме в цій компанії я насправді навчився правильно програмувати.
Кілька років потому я перейшов на консультацію з управління, що реалізує проекти. Паскаль як мову програмування слід заборонити. C, однак, цілком підходив. На той час я також познайомився з UNIX. Мені здалося, що концепція, що стоїть за цим, надзвичайна. На жаль, мене довго мучили Паскалем.
Потім я повернувся до розробки (від C до 8051). Це було абсолютно нормально. На той час (1993 р.) У мене був перший комп’ютер із CD-приводом. Дилер дав мені умовно-безкоштовний компакт-диск із іграми на ньому. Одну з «ігор» називали «Linux». BOAH, це UNIX. Я горів. Це зайняло кілька днів, тоді за допомогою розробників навіть графічний інтерфейс користувача був запущений і працював: X-сервер із FVWM. Чудово ..., але прикладних програм не було. Vi як текстовий процесор просто недостатньо.
Потім я став ІТ-менеджером. Все повно Windows: спочатку WfW 3.11, потім W95, NT 3.51 і NT 4.0 і безмежна робота. У мене закінчився час для мого кохання UNIX. Це змінилося лише тоді, коли я кинув роботу. S.U.S.E 7.0 з бета-версією KDE2 все одно зайняв півдня, щоб запустити X-сервер, але програми, які я так сильно пропустив, уже були. KWord і Co були придатними для використання. Через рік я просунув свій сервер із чотирма качками (як настільну систему) до даних nirvana, відформатувавши його на ext2. Навмисно. Мені вже не потрібні були ці речі, це мене досить турбувало.
Сьогодні я самостійно працюю в ІТ. Я все ще заробляю на життя Windows, але не використовую це для своїх цілей. Програмування, як правило, відбувається лише за допомогою трохи скриптів Bash. Але мені це посміхається, що незабаром я зможу відсвяткувати своє 40-річчя з Фортрана. Горе ні сліду.
На цьому суднобудівному заводі, ймовірно, все ще використовують Fortran у своєму відділі досліджень та розробок. Просто майте десятки програм для розрахунку кораблів у Фортрані та звідки береться робоча сила, щоб все перепрограмувати.
Я сам навчився програмуванню на Apple] [майже чотири десятиліття тому. І продовжуйте програмувати сьогодні із захопленням!