Комментарии 59
"давно культурный феномен" - но, похоже, феномен крайне малоизвестный...
Поиск русского назвния Фортран языка на Github показывает немного результатов, в отличии от Fortran слова на Github
Fortran находится на 47-месте в рейтинге решённых задач на площадке rosettacode.org (на пару строчек выше чем Форт (Forth)
По текущему индексу TIOBE Fortran находится на 15-ом месте
P.S. Фортран язык был первым языком на радиотехнических специальностях вузов СССР и преподавался с первого семестра (на ЕС СМ в диалоговом терминале), Поддержки исполняемых массивов из стандарта Fortran77 в нём не нашлось. В синтаксисе Фортран можно было переходить по одному из трёх ветвлений (>0 0 <0)
В синтаксисе Фортран можно было переходить по одному из трёх ветвлений (>0 0 <0)
Удивительнее всего, что в первоначальном драфте из 1954 IF был куда нормальнее, то есть были знаки =, > и >=, ну и две ветки (номера строк), по которым переходить. Эта конструкция, как и GO TO, были заимствованы из работы одного из коллег Цузе.
Но такой синтаксис требовал добавления нового знака >, с этим были проблемы, и IF получился из трёх веток в зависимости от знака выражения в скобках.
Вообще-то логический IF (к упомянутому арифметическому) появился в FORTRAN IV (который и стал стандартом 66) и без всех этих знаков.
.NE., .EQ., .LT., .LE., .GT., .GE.
.NOT., .AND., .OR.
Так у меня ж написано, прямо в главке о Фортран IV:
Нормальный IF (с ELSE) также не завезли, но в условии IF уже можно писать логические выражения.
.NE., .EQ., .LT., .LE., .GT., .GE.
Я до сих пор иногда позволяю себе использовать именно такую форму в логических выражениях из чисто эстетских соображений. Не похоже ни на что другое и выглядит, на мой вкус, красиво, хотя далеко не всегда.
Арифметический IF напрямую транслировался в систему команд IBM 704: Transfer on Minus, Transfer on Zero, Transfer on Plus.
И правда, оказалось, что 704 различал +0 и –0, и первый был больше второго, поэтому при сравнении аккумулятора на плюс-минус результат мог быть indeterminate если получился ноль в результате. Проще было добавить проверку на ноль в IF и исполнять её первой в скомпилированном коде.
Спасибо за наводку, если вам интересно, вот тут спеки https://bitsavers.org/pdf/mit/computer_center/Coding_for_the_MIT-IBM_704_Computer_Oct57.pdf
Библиотека Numpy (Python, Pandas) с 50 млн. загрузок в месяц (это много) - использует в т.ч. Fortran. Быстрая матричная арифметика, востребованность API, огромное комьюнити - то что нужно для вечной жизни технологии и языка.
В восьмидесятых во всех технических вузах союза фортран преподавали.
Именно на нём я в своё время написал программу для расчёта эпюр и вся моя группа была у меня безмерно благодарна:)
Да и в начале 90х в Питерском Политехе в полный рост Фортран преподавали...
А бедным студентам-программистам хотелось C++ :)
3
Очень много писал на Фортране в институте и на работе. Первый основной язык был.
> В 1950, уже выпустившись, новоиспечённый математик волею случая прогуливался мимо 590 Мэдисон, IBM building ... – его звали Джон Бэкус – заинтересовался и зашёл посмотреть, попросил поговорить с шефом, решил две задачки – и был принят на работу программистом SSEC.
> Через год Бэкуса перевели на только что появившуюся IBM 701, писать софт для расчёта траекторий баллистических ракет. Занятие это он очень не любил и искал способ ускорить
получается Бэкуса перевели на "только что появившуюся 701" примерно в 1951, хотя IBM начала поставлять 701 в 1953 году,
заметим "писать софт для расчёта траекторий баллистических ракет" Джон Бэкус не только не любил, но просто этим не занимался, контора где он работал (IBM Watson Scientific Computing Laboratory) в то время занималась расчетом эфемерид Луны типа на 20-30 лет вперед для астрономии, навигации и пр.,
>IBM 701 при этом расходился как горячие пирожки (аж 19 машин за два года),
их всего 19 было сделано, убогая машина с памятью на катодных трубках, для примера 704 с памятью на сердечниках было продано примерно 136
"только что появившуюся 701" примерно в 1951, хотя IBM начала поставлять 701 в 1953 году
Правительство разрешило любые компьютеры продавать на гражданку только в 1951, проект существовал и до этого, но был засекречен и не предназначался на продажу, не был продуктом. Анонсировали уже готовый к производству 701 в 1952. Поставлять начали в 1953, под предзаказы.
не только не любил, но просто этим не занимался
Even though he was a programmer—a newly minted title even he didn’t understand at the time—Backus said he “didn’t like writing programs, and so, when I was working on the IBM 701 (an early computer), writing programs for computing missile trajectories, I started work on a programming system to make it easier to write programs.” It would be called “Speedcoding.”
https://www.ibm.com/ibm/history/ibm100/us/en/icons/fortran/
занималась расчетом эфемерид Луны
Эфемериды Луны он считал на SSEC, это было его первое задание в фирме, он сам про это рассказывал в позднем интервью.
> проект существовал и до этого, но был засекречен и не предназначался на продажу, не был продуктом.
историю 701 знаю неплохо, "the defense calculator", первая поставка в Los Alamos 1953, leasing порядка $15k в месяц, продукт конечно, такой же как более серьезная машина Q7, вопрос был к выражению "как горячие пирожки", это вероятно больше к другим моделям подходит
>он сам про это рассказывал в позднем интервью.
здесь Вы правы, Watson Lab с 1953 года стала многим другим заниматься
ps
стандартное определение -
"A product is any item or service you sell to serve a customer's need or want"
В СССР была выпущена аж полноценная серия образовательных комиксов для младших школьников, сразу единой книгой почти на 200 страниц, «Энциклопедия профессора Фортрана» – жаль поздно, в 1991.
Вот только к языку она не имела никакого отношения.
Фортран это и правда культурное явление.
Помню в конце 90-х нам в вузе преподавали Фортран 77, причём один семестр лабораторные мы делали на древнючих терминалах подключенных к машине с каким то не менее древним юниксом.
Язык в то время уже странный, строки шириной на 80 символов -- количество знаков в перфокарте, первые 8 символов -- метка строки для переходов. Довелось делать интерфейс для программы написанной. В readme.txt было прекрасное, на мой взгляд, замечание, что алгоритм написанный автором на другие языки программирования не переносится. Я предполагаю, что автору очень понравилось, что в Фортран можно все вычисления делать без явных циклов, просто используя массивы в выражениях (сейчас это скорее норма, да и тогда были языки, где можно так делать, но возможности были не сильно не на слуху).
На 3-м курсе делал лабораторные по численным методам, опять же на Фортране, использовал уже Фортран 90, который по синтаксису напоминал поздние Бэйсики. Блоки, отступы для читабельности и т.п. Делал отображение графиков, смеха ради, само отображение делал на Делфи, скомпилировал dll'ку и подцепил к Visual Fortran'у.
В 2010 году нам в вузе преподавали все тот же Фортран 77. Видимо, пока не уйдет последний старец, Фортран будет здесь.
Удивительно, что Фортран столько времени ещё преподают. Я учился в вузе в конце 80х - начале 90х и знал только одного истинного фаната Фортрана, при каждой встрече в институте он мне доказывал, что Фортран намного лучше, чем Бэйсик, которому и учили на занятиях (я правда не возражал). На кафедре ИВТ (где я тогда подрабатывал) в почёте был Паскаль, в том числе и за возможность включать вставки ассемблерного кода, это было эффективно для работы с периферийным железом.
в пошлом году у дочки в школе подслушал разговор учителя с завучем относительно планируемого открытия кружка по Фортрану заради олимпиад (физматшкола). Прям захлестнуло ностальгией - первая книжка по программированию, которую прочитал, была "Мак-Кракен Д., Дорн У. Численные методы и программирование на Фортране"
Привет тебе от них, стоят у меня на полке :)
В конце 80 вытащил из кучи макулатуры в пункте приема. Числа по ней учил, жаль, уже на информатике в школе забили Бейсиком Паскалем, а в универе уже Борланд Сями.
Охреневшие у вас люди в конце 80-х макулатуру сдавали. В конце 80-х отец был единственным из своего отдела, кто эту книгу смог купить в личное пользование. Остальные в библиотеку ЦАГИ на нее в очередь писались. Или в читальный зал - пройди пешком 2 остановочки от самой дальней проходной, и сиди, выписывай команды и конструкции. А я, как белый человек, мог писать прям за компом, держа книгу на коленях.
К 1978 Фортран в СССР укоренился настолько, что в доме моих родителей появилась книжка Карпова про Фортран. Какими судьбами она там оказалась, я выснить не смог – программированием никто не интересовался.
Элементарно - в СССР многие книги были дефицитом, и бывало так, что купить редкую книжку можно было только с каким-то "довеском" в виде плохо продаваемой другой книги. У меня так появилось много довольно странных для нашей семьи книг, которые мне тем не менее нравились больше тех дефицитных, ради которых они и были куплены. Так, например, у меня в руках оказались шикарные книги про астрономию, энергетику, устройство ДВС, книжка про написание собственного компилятора и еще много похожего (мама очень много книг покупала :))
с каким-то "довеском" в виде плохо продаваемой другой книги.
Может это был способ вытащить граждан из своих информационных пузырей?)
О, это же речь про продуктовые заказы!
Когда вместе с дефицитом, например - чай со слоником, растворимый кофе и тд шло что-то не очень популярное, крупы, макароны(?) (извините - забыл уже:)
Ну, что-то подобное и с книгами было, по крайней мере там где я жил, мне так довольно много любопытной литературы досталось, кстати частично и программированием я занялся из-за одной из таких книжек. Не помню уже название - там подробно описывалось как работать с программируемыми калькуляторами и "бытовыми компьютерами" - Бейсик и куча простых программ на нем. Я не имея компьютера, тогда массу программок написал в тетрадке, потом когда дорвался до настоящего компа, долго их набивал и отлаживал, очень меня это дело увлекло тогда.
"книжка про написание собственного компилятора" — это какая? название не вспомните?
Ох, не помню уже, у родителей лежит дома, но они от меня за 1000 км и сами не найдут. Книжка отличная, правда довольно академичная, там автор вводит свой ЯП для описания алгоритмов и там не только компиляторы, вспомнилось. Сначала описывается написание простого однопроходного ассемблера, потом многопроходного, потом уже компилятор для чего-то вроде Паскаля, и в конце простая ОС. Но книга старая, поэтому ОСь там что-то вроде старой DOS или чего-то такого.. Мне книга нравилась, правда из-за довольно абстрактного изложения и малого моего опыта в программировании я тогда ничего из описанного не повторил.
Если не забуду, в следующий раз когда буду у родителей посмотрю название.
ок, буду признателен. Просто примерно в те же годы интересовался темой, но как-то с литературой было туго, две книжки — одна ФиСовская (автор — Хантер), другая МИРовская, и отсиненые статьи на английском, которые заказывали не помню уже как. Ахо и Ульман формально тоже были изданы еще году в 1984, но ни в одной библиотеке в городе их почему-то не было
спасибо @forthuse получилось найти по обложке
https://coollib.net/b/538492-leland-l-bek-vvedenie-v-sistemnoe-programmirovanie/read
Если запомнилась обложка книги, то можно её поискать через поиск книг по изображению на Google
Фортран книга (если она была с содержимым на Фортран языке)
Забавно, но я таки ее нашел! :)
https://coollib.net/b/538492-leland-l-bek-vvedenie-v-sistemnoe-programmirovanie/read
"Настоящие программисты не используют Паскаль", -- не прекращает радовать!
В 1986 году мне посчастливилось выпустить в издательстве "Финансы и статистика" (Москва) книгу "Комплексирование программ в ОС ЕС":
Четыре главы в этой книге были посвящены комплексированию модулей, написанных на Фортране, с модулями, написанными на Ассемблере и ПЛ/1. Мне гравилось программировать на Фортране.
А мне не нравилось, но пришлось много :)
В РАФОС/ОСРВ (RT11/RSX11M) ABI был настолько логичен и строен, что вряд ли бы кому-то пришло в голову писать об этом целую книгу — пары страниц было достаточно.
пары страниц было достаточно.
Кстати, для описания языка Си Эндрю Таненбауму потребовалось всего с десяток страниц.
Крутецкая книжка, спасибо!
В первой половине 80-х учил Фортран, Алгол и Пи-эль 1. Однако, диплом писал уже на функциональном языке ГАРФ, придуманном в ВИНИТИ Ильёй Ханаановичем Шмаиным. Вот какой-то документ по ГАРФ (в формате doc), но не уверен, можно ли по нему что-то понять.
https://www.mediafire.com/file/h303jm3czojl17x/GARF-1_ed%2526comm_VB_Jan06.DOC/file
Я не понял какая связь всего текста с обозначенными в лиде чернокожими женщинами. Как говорится: "тема ... не раскрыта". Поясните, пожалуйста.
Защищал кандидатскую в 16 году, программу для демонстрации алгоритма писал на фортране по просьбе руководителя, который хорошо его знал и мог принять участие в парной разработке. Язык зашёл, тем более что не пришлось ставить старых IDE, обошлось нажатием пары кнопок в Visual Studio, который быстро подгрузил компилятор и линтер для данного языка. Плюс записал себе в качестве ачивки в резюме =)
Фортран как культурное явление