Как стать автором
Обновить

Комментарии 15

И ни слова про LISP, ни слова про Smalltalk.


В 1977-м году Джону Бэкусу вручили премию Тьюринга. В честь этого обычно номинант читает лекцию (как и при получении Нобелевской премии). Джон Бэкус, создатель Fortran, потратил её на это — тотальный разнос в пух и прах Фортрана и прочего императивного байто**ства, которое было модно тогда и, к сожалению, до сих пор.
https://dl.acm.org/doi/10.1145/359576.359579?fbclid=IwAR04lbp21P_v7ZSMsOudEds8hPip4Q7FVRb_sRwsiMueZOTM5ywZlln1hcs


Inherent defects at the most basic level cause them to be both fat and weak: their primitive word-at-a-time style of programming inherited from their common ancestor—the von Neumann computer, their close coupling of semantics to state transitions, their division of programming into a world of expressions and a world of statements, their inability to effectively use powerful combining forms for building new programs from existing ones, and their lack of useful mathematical properties for reasoning about programs.
Перфокарты придумали ещё для ткацкого станка в 19-м веке.
Это были перфоленты.
> Ракета летела три месяца и долетела. Когда поднырнула, створка фотоаппарата не открылась, потому что за ее открытие отвечали именно эти строчки. Так много миллиардов долларов в буквальном смысле улетели в воздух.

Не мог в то время один запуск к Венере стоить несколько миллиардов. Вся программа Аполлон стоила 27 миллиардов.

> конспект доклада швейцарского ученого Петера Наура

Питер Наур — датский ученый

> Дело в том, что в Паскале, как и в Си, кстати, можно массив описать от нуля до ста, до тысячи, но нельзя до N — нет динамических массивов.

Это смотря в какой версии С. В С99 можно на стеке.

Как все хорошо знакомо. Фортран, ПЛ/1, Ассемблер. Модули на них приходилось еще и комплексировать. Так родилась книга:
Орлов В.Н. Комплексирование программ в ОС ЕС
Москва, Финансы и статистика, 1986. 133 с.


Книга посвящена проблеме организации связей между программами, написанными на различных языках программирования. Рассмотрены общие соглашения о связях и особые соглашения, принятые в различных трансляторах. Основное внимание уделено теоретическим и практическим аспектам связи программ, написанных на разных языках (Ассемблере, Фортране, ПЛ/1) с учетом специфики транслятора ПЛ/1, уровня F и оптимизирующего транслятора ПЛ/1.

Этому изданию предшествовало издание в 1981 году учебного пособия в Военной Академии им Ф.Э. Дзержинского. Спасибо 25 кафедре и в первую очередь Соколову А.П. И Лебедеву В.Н., Патрикееву Ю.Н:
image


Ну и конечно Паскаль и АДА. Аж в 1990 году мы издаем в "Финансах и статистике"
От Паскаля к Аде/ Т.Ю.Бардинова, В.Ю.Блажнов, А.А.Маслов, В.Н.Орлов. — 1990
Москва, Финансы и статистика, 1990. 255 с. Твердый переплет.


Аннотация: В книге рассматриваются основные приемы программирования на языках Паскаль и Ада. Изложение материала сопровождается большим количеством примеров программ, иллюстрирующих аналогичные возможности обоих языков программирования.


Одна из первых книг по языку программирования ADA/АДА.:
image

И эта вроде как у меня была, а точно была формата едва не А4 в жесткой обложке — bolknote.ru/all/2208 вот такая. Я был студентом и такие книжки шли «на ура».
Репост ( с любезного разрешения автора) начала обсуждения статьи в T-m «чате» по Ada:

В Алголе 68 были ограничения, (...). В Паскале — нет.
Сергей Дюков:
Вирт вышел из группы разработки языка Алгол 68, потому что был не согласен с концепцией формального описания языка через бесконечную контекстно-зависимую грамматику. Там получалось всё очень сложно и очень непонятно. Авторы формального описания языка Алгол 68 утверждали, что выбранная ими КЗ-грамматика позволяет описывать семантику языка, но это было далеко не так. После подстановки МЕТА-лексем в МЕТА-правила получалась КС-грамматика и при автоматизации построения компилятора почти вся семантическая информация терялась. Исходная КЗ-грамматика давала лишь некую гибкость построения промежуточной КС-грамматики. Например это позволяло выбрать естественный язык для набора ключевых слов, выбрать символы либо ключевые слова для операторных скобок, выбрать символы для индексных скобок и т.д., то есть выбрать и настроить лексику языка.

В связи с сложностью формального описания язык Алгол 68 в Америке популярности не получил.
В СССР вышла книга «Неформальное введение в язык программирования АЛГОЛ68», в которой, по сути, была описана грамматика языка после подстановки набора МЕТА-лексем в МЕТА-правила и, главное, была описана реальная семантика конкретного варианта языка Алгол68. Благодаря этой книге, Алгол68 в СССР был довольно популярен.

Вирт создавал язык ПАСКАЛЬ как язык обучения студентов программированию, как регулярной дисциплине. Формальное описание языка получилось очень компактным и понятным. Можно сказать — просто гениальным! Этот язык был скорее развитием языка АЛГОЛ60.

Из-за навязчивых вопросов и предложений (в основном бывших студентов), Вирт, буквально через два года, создал для системного программирования язык MODULA. Вот его можно назвать неким развитием АЛГОЛ68. Его описание было также компактным, простым и понятным. Для описания синтаксиса Вирт применил синтаксические диаграммы.

Язык МОДУЛА ( В.В.М.: Modula, 1975г.) описан в книге Янга «Алгоритмические языки реального времени».
В СССР язык Modula-2 был довольно популярным.
Спасибо за статью и за ссылку на видео.

А ещё был Форт. Одно из первых моих соприкосновений с ИИ.
Фортран был моим первым языком, потом Ассемблер. Фортран — это был один из языков, который придерживался строгих правил. Да, и с ним человек мог совершить кучу ошибок. Но сам язык — в своей сущности можно с ассемблером сравнить. По строгости, по типизации данных, невозможности сваливать всё в кучу. И многие, кого я знал и владеющие Фортраном — думали и решали задачи совсем по другому, чем те поколения, которое начинали/ют на Pascal, Basic, C++, Java, Phyton итд. Это было ещё время инженеров. А у инженеров совсем другой подход ко многим вещям. А начиная с Фортрана или Ассемблера — потом и на «простых» языках совсем по другому программируешь.

Инженерный подход к языкам имел свой отвечаток на качество, документацию итд. Никого не хочу обидеть. Не имею в виду отдельных лиц- а именно массовое проявление. По своей сути — сейчас шлёпают программы, не пишут. Потому что знают — совсем на маленький промежуток времени. Поэтому и не стоит сильно над этим корпеть. И это стало массовой культурой — не создавать архитектуру, до миллимитра доводить всё и поддачивать. Нет. Дешовое или сырое — ничего, пользователь проглотит. А подавится — тоже ничего. Сошлёпаем новую версию.

Спасибо за то, что перенесли мыслями в очень интересные времена.
Уже есть такой язык — Ди, его придумал Андрей Александреску.

D придумал не Александреску, а Вальтер Брайт, у которого за плечами разработка компиляторов Zortech C++ и Digital Mars C++. Александреску к разработке D подключился лет через 6-7 после начала работ над D, году в 2005-ом или 2006-ом.

Жалко, что в статье не нашлось места для такого популярного в СССР языка как Алмо. Лично мне очень нравилось на нем программировать.


Язык системного программирования (машинно-ориентированный язык), задумывался как язык-посредник при трансляции с различных языков. Для каждой аппаратной платформы достаточно было написать транслятор Алмо — и появлялась возможность работать с множеством языков программирования, которые имели трансляцию в Алмо. Были созданы реализации языка для основных отечественных машин того времени (М-20, БЭСМ-6, Минск 2, Урал 11) и трансляторы с Алгола-60 и ФОРТРАНа в Алмо, причем все трансляторы также были написаны на Алмо и “раскручены” на всех этих машинах. Язык Алмо имел в своей основе некоторую абстрактную машину, отражавшую особенность существовавшего тогда класса машин, и в этом отношении Алмо-подход предвосхищал появившиеся позже Р-код, М-код и прочие подобные подходы. Машинная ориентированность явно прослеживалась в языке — регистровые объекты, постфиксная запись выражений, оперирование с битами машинных слов и т.д.
Что давало кольцо на кинопленке, как это все работало?
ну как-же — это ведь цикл. Или под-программа.
если вы пишите программу то это выглядело где-то так:

100 СТАРТ
101 1 команда
102 2 команда
103 call к 500
104 3 команда

500 1 команда под-программы
501…
510 return

и чтобы не замарачиваться, этот отрезок вырезался и вставлся после. Особенно, когда между частью кода и этим отрезком вставлялись другие команды. Простая экономия времени. тогда не было Visual Studio :)
Пленка использовалась для ввода программы в ОЗУ? Где в Вашем описании КОЛЬЦО, ЦИКЛ? Про то как повторно использовать кусок пленки ( копи паста рабочих окраин )как бы понятно, кольцо для чего?
Короче, ПЛ/1 и в Европе сильно не любили, не только в СССР
Осмелюсь заметить, что нелюбовь к ПЛ/1 в СССР Вами преувеличена. Во всяком случае, он был куда более любим, чем Кобол. Когда стоял выбор — Фортран или ПЛ/1, то Фортран выбирали, в основном, те, кто к нему привык. Остальным же было ясно, что ПЛ/1 — более современный и продуманный язык.

А вот на вашу эмоциональную реплику в стиле Эллочки-Людоедочки («Кошмарный язык!») ответил разработчик отечественного компилятора ПЛ/1 под платформу Wintel Дмитрий Караваев: «Не поминайте всуе PL/1». И опровергает Ваши слова о «сотне автоматических преобразований типов в другие типы».
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре , чтобы оставить комментарий