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

Импортозамещение, которое мы потеряли: советские языки программирования и их создатели — часть 1 (1950-е — 1960-е)

Время на прочтение7 мин
Количество просмотров36K
Всего голосов 52: ↑47 и ↓5+42
Комментарии93

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

даже Kobol для применения в промышленности
??? Cobol (common business-oriented language), не?

Имелись ввиду промышленные предприятия, но не промышленные процессы. Кроме того использовали в торговле. Перефразирую, чтобы было понятнее. Спасибо.

Не Kobol, а COBOL

Спасибо, поправили.

На промышленных предприятиях существует, например, бухгалтерия? Не?

Для бухгалтерии был наш язык программирования "ЯМБ" (Язык Машин Бухгалтерских). Столкнулся с ним в 80-е, нужно было писать для бухгалтерии софт. Та еще головоломка, но по своему прикольный ЯП.

А где примеры программ на этих языках, по которым их можно оценить?

Транслятор Ляпунова использовался для создания программ в т.ч. на ЭВМ "Стрела". Этот компьютер работал в ЦУП, обеспечивал советскую космическую программу в 60-х.

На адресном ЯП реализовали всё ПО для ЭВМ "Киев", в т.ч. системы АСУ ТП, на нём же Михаил Шлезингер писал первые советские нейросети, которые согласно воспоминаниям ещё в 60-х научились распознавать геометрические фигуры. Предположительно первая в мире СУБД реляционного типа "Автодиректор" также была написана на адресном ЯП. Конструкции адресного ЯП сейчас используются в C++.

Но что же стало с программами на этих языках, где же примеры таких программ?

Рефал хорошо работает с обработкой данных, при создании систем ИИ, пользовался ограниченной популярностью в США в 80-х. Турчин много издавался там, одна из самых известных статей в США: V.Turchin, The concept of supercompiler, ACM Transactions on Programming Languages and Systems, vol. 8, pp.292-325 (1986). 

Жаль, не упомянули очень красивую "Рапиру".

И вспомнить ДССП (советский Forth) для троичных Сетуней тоже стоило-бы.

ДССП под PDP-11 вроде делался?

Я говорил о той ДССП, которая делалась для ЭВМ с двухстековой архитектурой. Вот для этих: https://habr.com/ru/articles/318468/ для них Forth-архитектура была "родной".

Если же поглядеть на публикацию https://computer-museum.ru/histsoft/dssp_sorucom_2011.htm

то там сказано, что ДССП переносилась, в том числе и на ЭВМ Электроника НЦ80, которые были архитектурно совместимы с pdp-11.

Спс. Обязательно гляну.

Больше всего по Рефалу, вот пример из Вики написанный на Рефал-5 (поздний диалект): на входе строка данных, в виде десятичного представления натурального числа N, после вычисления число Фибоначчи с номером N:

$ENTRY Go
{
     = <Prout <Symb <FN <Numb <Card>>>>;
}
FN
{
/* Вызов вспомогательной функции, реализующей остаточно-рекурсивный цикл. */
s.Number = <DoFN s.Number 0 1>;
}
/*
Функция реализует остаточно-рекурсивный цикл.
Инвариант цикла <DoFN s.Counter s.Current s.Next>
s.Counter -- число оставшихся итераций.
s.Current -- число Фибоначчи, соответствующее текущей итерации.
s.Next -- значение числа Фибоначчи на следующией итерации.
*/
DoFN
{
0 s.Current s.Next = s.Current;
s.Counter s.Current s.Next =
<DoFN <Sub s.Counter 1> s.Next <Add s.Current s.Next>>;
}

Синтаксис вполне можно понять

А еще был русский Алгол - "Альфа" назывался в Ак.Городке Н-ска

Особенностью языка стало использование указателей, в основу которых легли математические принципы, описанные математиком Колмогоровым

А можно это как-то пояснить? Какие математические принципы Колмогорова легли в основу указателей? Ведь указатель - естественный (и единственный) способ доступа к памяти в низкоуровневом программировании. Почему для переноса идеи в язык высокого уровня потребовался аж целый Колмогоров? Или тут имеется в виду что-то иное? Хорошо было бы увидеть публикацию, проливающую свет на это.

Рефал — «рекурсивных функций алгоритмический» — один из первых в мире функциональных языков программирования.

Формально, его, наверное, можно отнести к функциональным, но выглядит он не как реализация лямбда-исчисления, а как реализация подстановок формальных арифметик, без их интерпретации.

Язык был ориентирован на проведение символьных вычислений, в частности, обработку строк, перевод на различные искусственные и естественные языки, применение для создания многослойных нейронных сетей и других систем искусственного интеллекта.

Тут надо делать скидку на то, что под системами искусственного интеллекта тогда подразумевались, скорее, экспертные системы. А реализовывать многослойную НС на системе символьных подстановок... Ну, это, наверное, хороший результат в академическом смысле, но в практическом... Как говорится, на брейнфаке тоже можно.

Так для СССР оборвалась история одного из самых перспективных ЯП того времени.

Удивляют вот эти "догоним и перегоним" и "ссср родина слонов" заявления. Ну, какой он перспективный? Так-то он прожил долгую жизнь и известен многим в виде языка конфигов сендмейла. И те, кто застал этот, простите, кошмар хорошо помнят, что основной способ совладать с конфигом сегдмейла было использование кодогенерации с помощью макропроцессора m4. Не знаю никого, кто бы скучал по "программированию" конфигов сендмейла :)

А вообще, грустно, конечно. Были интересные начинания. Академические, конечно, но в конкурентной и кооперативной среде могли бы развиться во что-то интересное. Но огороженность и паранойя секретить всё и вся, погубили вообще всё (к вопросу об эффективности советских экономик). Хорошо хоть чисто научные достижения не удавалось полностью задвинуть и хоть какой-то вклад в мировое развитие наши сограждане таки внесли...

Спасибо за коммент. Про экспертные системы, согласен, но коннекционисты, даже на АПЛ работали за неимением чего-либо более перспективного. Шлезингер и Ивахнерко 4-х слойную нейросеть ещё 1964-м реализовали, если верить источникам имевшим отношение к АН УССР. Про Колмогорова немного позже отвечу.

Шлезингер и Ивахнерко 4-х слойную нейросеть ещё 1964-м реализовали,

Вот это, конечно, интересно. Книга Розенблатта переведена в 65-ом (но вышла, да в 62). И четырёхслойность перцептрона - это немного лукавство. Первый и последний слои использовались фактически как ввод-вывод, первый - для нормализации входных данных, последний - чисто пороговый, чтобы на выходе были только 0 и 1, а не вещественные числа. Поэтому трёхслойный перцептрон тогда не считался даже многослойным :). Вот в "четырёхслойном" было по сути два рабочих слоя. Интересно, как её обучали - бэк пропагейшн, кажется, впервые реализовали в районе 70-го.

Насколько я помню, Ивахненко, или кто-то ещё из советских коннекционистов, к началу 70-х, уже работал уже с восемью слоями. Уточню отпишусь, был источник по этому поводу.

Об эффективности плановой экономики тут ни слова нет, цикл не о том, что СССР был впереди планеты, но о значимом вкладе конкретных советских ученых, которые не благодаря, а скорее вопреки... Про параною и огороженость полностью согласен, но в 60-х были и периоды короткого просветления. Известны случаи прямой коммуникации с западными коллегами и, что ещё удивительней, о переводах советской литературы на Западе и наоборот. Изоляция всегда вредит, но не смотря на изоляцию эти люди добивались значительных вещей, причем не только академических, но и практических (жаль, что слабо масштабируемых).

Технической литературы в переводе было очень много, по компьютерным темам явно больше половины. Студенту для зачета по английскому нужно было взять в библиотеке иностранную периодику по специальности выдать 5тысяч знаков перевода в месяц.

Присоединяюсь к первому вопросу джентльмена - тоже кажется, что рядом с указателями никакой продвинутой математики нет, только базовая арифметика

Подробно ответил ниже. Если коротко, то речь не о продвинутой математике, а об авторстве конкретной идеи, использовать указатель, как переменную:
https://www.mathnet.ru/links/e5ca0fff8cc88945c77386cd95e741ea/rm7453.pdf

огороженность и паранойя секретить всё и вся

Это скорее про уклад мышления и жизненные установки, нежели напрямую про экономику.

@saipr(если я не ошибся) в одной из статей писал, что идея объединенной сети не была продолжена для гражданки, потому что кто-то увидел опасность в такой технологии.

saipr(если я не ошибся) в одной из статей писал, что идея объединенной сети не была продолжена для гражданки, потому что кто-то увидел опасность в такой технологии.

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


И именно результаты этой работы легли в основу опытно-конструкторской работы (ОКР) «Система унифицированных средств передачи данных ЛВС ЕС ЭВМ», шифр ЕС-8430. Выполнение этой работы предполагало разработку широкой номенклатуры изделий, производство и применение которых в народном хозяйстве страны позволило бы создавать вычислительные сети любой конфигурации, включающие в себя весь спектр ЭВМ (большие, малые, персональные). Это было то, к чему мы стремились.

Отчего же кооперативные и арендные предприятия не стали это воплощать?

Другие времена настали и не стало Советского Союза. Всё пришло импортной, свое забыли. Сегодня плоды пожинаем.

Отчего же кооперативные и арендные предприятия не стали это воплощать?

Потому что они разработали вот это:

...когда в мире уже повсеместно использовали это:

Потому что "товарищ" Горбачёв и другая кодла саботировали понятие "кооператив" разрешив свободный переток безналичных денег в наличку и тем самым легализовав отмывание денег. Подавляющее число кооперативов делало что-либо только на бумаге, в то время как настоящим занятием был отмыв денег, и позже долларизация этих отмытых денег, когда и это стало можно. Т е фактически Горбачёв и Ко продали страну в США за дёшево (те разумеется не отказались), а кооперативы и нттм сделали инструментом для этого. Зачем что-то там внедрять, когда можно задёшево купить на заводе, наклеить шильдик и продать? Или вообще как в случае с НТТМ деньги крутились только через бумагу, без каких либо действий, не считая конечно рекламной деятельности. Из этих кооперативов и нттм вышло большинство современных олигархов России. (Остальная половина появилась уже совсем преступным путём, через всякие дырки в механизмах приватизации)

Как должен действовать кооператив, чтобы выпускать товары, если продать их можно только гражданам за наличный расчёт (спрос только от граждан), а сырьё можно купить только у предприятий за безналичную оплату?


Разве у кооператива был какой-то другой способ, если купить сырьё и полуфабрикаты за наличный расчёт было никак нельзя?

Как Горбачев продал страну США, если деньги переводили из безанала в нал - советские граждане? Причем не преступники, а вполне уважаемые граждане страны.

НТТМ создавались с участием руководства комсомола и местных патртийных организаций, получается, что они обманули Горбачева, разворовали государственные деньги и еще и вывели за границу? Это какой-то заговор КПСС и ВЛКСМ получается, при том, что работать кооперативам с организациями было как-то нужно, а налом было нельзя.

  1. Нет, почему же обманули ? Мое мнение что он был "в доле". А на какие по вашему он так безбедно прожил в германии столько лет ? Да, среди партийного руководства были как интересанты такого развития событий так и обычные враги, которые напрямую работали на сша. Чубайс так и вообще отметился во всех этих лагерях - явно ставленик ЦРУ, сам признавался что ненавидит коммунизм и уничтожает его любыми путями, даже во вред своей стране и гражданам, и ещё и нехилый барыш с этогол поимел.

  2. Про "Налом нельзя" Ну так это всё было сделано специально. Закон о кооперативах и HTTМ был специально так написан. Всё можно было делать совершенно по длругому. Даже полный переход на рыночную экономику (чего уэ точно делать не нужно было) можно было выполнить гораздо с меньшими потерями.

  1. Горбачев жил в Подмосковье и не так чтобы шикарно - его фонд был вынужден сдавать помещения, скромное здание на метро Аэропорт. А сам он снимался в рекламе.

    Коммунизм - это сказка, его ненавидит любой бизнесмен, ибо это означают, что его раскулачат и расстреляют. Чубайс до 2022 работал в РФ и отлично зарабатывал в Роснано под присмотром ФСБ.

  2. Законы писали партийные работники, Горбачев не был диктатором. Есть протоколы заседаний ЦК КПСС - там все обсуждалось и механизмы принятия решений можно посмотреть.

  1. "его фонд " - простите, а на какие шишы он наоткрывал фондов ? Их было несколько, если что. Подобные фонды всегда открываются для отмыва черной кассы. Да, снимался в рекламе, что бы простаки и налоговая верили что 17-ти комнатная вилла в германии (https://www.gazeta.ru/social/2017/02/23/10540847.shtml) куплена на деньги от рекламы.

  2. "Коммунизм - это сказка, его ненавидит любой бизнесмен, ибо это означают, что его раскулачат и расстреляют. " - пожалуйста, не надо бездумно повторять бред за пропагандой. По поводу "раскулачивания" советую почитать, что делали кулаки на селе и почему остальная часть села не хотела их раскулачивать, а хотела молча насадить на вилы и тихо закопать. Большевики этому активно препятствовали, пытаясь проводить суды над кулаками и не менее строго наказывая крестьян за самосуды. Историю знать надо, уважаемый. Что касается бизнесменов (обычных владельцев всех этих ваших барбержопов и ларьков с непонятными сортами кофе), то национализировать у них нечего и вообще к моменту прихода левых сил подобный мелкий бизнес или закроется или будет поглощен монополиями. Сами мелкие бизнесмены будут активно поддерживать левых (возможно не коммунистов, а какой-то современный вариант эсеров или меньшевиков, кто то по непониманию, а кто то и в надежде заработать при новой власти за счет народа и на этот раз самому стать монополистом) Коммунисты же никогда не ставили целью национализировать всё до последней парикмахерской. Они лишь делают так, что бизнес основанный на эксплуатации работника закрывается по причине того, что работник начинает понимать свои права и отстаивать их, не более.

  3. "Горбачев не был диктатором " А где я говорил, что он это всё один сделал ? Нет, их была целая команда по одурачиванию населения.

  1. При его популярности найти деньги - не проблема. В мире хватало желающих пожертвовать. 7 миллионов долларов за 10 лет рекламы собрать достаточно не сложно.

  2. Не очень понимаю, о каких судах речь - миллионы кулаков и середняков были сосланы в Сибирь без всяких судов. Коммунисты в СССР сделали ровно то, что я писал - национализирови вообще все, до чего дотянулись. И устроили массовые репрессии. Тоже самое они делали по всему миру. Примеры нужны?

  3. Целая команда - это вся номенклатура во главе с КПСС? Коммунисты одурачили население и обобрали его. Никогда такого не было :)

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

Хотеть можно всякого, непонятно, какие были предпосылки к этому хотению. Ведь в реальности, скорее гражданские разработки секретили, чем военные разработки попадали в гражданский оборот, хотя бы внутригосударственный. Не говоря уже о вкладе во всеобщее айтишное благо. Так-то в декларациях всех проектов было про применение в народном хозяйстве. И ещё про руководящую роль партии и лично генерального секретаря очень центрального комитета. И то и другое - просто стандартные шаблоны, без которых проект разворачивали сразу. Ну, вы же знаете это гораздо лучше меня, камон! Ваши статьи - горькая иллюстрация того, как огромное количество усилий чрезвычайно талантливых людей потратить на достижение никому не нужных целей (а потом слить их).

Сделали ли бы ДжетБрейнс свою Идею, если бы решили сначала зачем-то переписать краденую jdk?

Ведь указатель - естественный (и единственный) способ доступа к памяти в низкоуровневом программировании

Вы ошибаетесь.

Даже в современных процессорах - вы не можете записать ничего в память без определенных ухищрений, по умолчанию данные будут записаны в кэш и потом уже выгружены в RAM - адресация которой не имеет ничего общего с выделенными вашей программе виртуальными адресами. А по дороге может случиться, что соответствующая страница была свопнута на диск - придется ее оттуда доставать, класть куда-то в реальную память, отображать на адресное пространство и так далее.
GPU и другая периферия - там свои заморочки в виде DMA, мэйлбоксов и т.п.

А в те годы - RAM у компьютера могло не быть вообще, память могла быть последовательной или допускать чтение/запись только блоками. И все то, что сегодня "скрывается" ОС и драйверами, позволяя использовать простые указатели - приходилось кодировать "ручками" (возможно, сохраняя в виде библиотек - как оно и происходит до сегодняшнего дня в мире embedded, где OC зачастую компилируется и линкуется вместе с вашей программой).

У нас в универе архитектуру компьютеров преподавал дедушка лет 70, умело поддерживавший образ соратника упомянутых в статье "корифеев". К сожалению, дедушка не умел в абстракции, задалбывая нас всякими 13-битными регистрами, в которых порядок битов нужно было помнить наизусть - потому что это какой-то суровый хак, типа "при сдвиге на один бит волшебного числа то-то и то-то включается, а что-то другое выключается или меняет состояние". Большинство группы имело опыт построения клонов Радио-86, Спектрума или чего-то подобного, и могло бы в принципе оценить такие решения - если бы дед обьяснял сначала, чего они пытались достичь, а не сразу ударялся в хаки и оптимизации.

Ну все равно, из того что вы описали адресация в ЭВМ даже с самой кривой и косой системой организации памяти это адресная арифметика + специальная табличка, согласно которой надо производить заману одних волшебных диапазонов адресов на другие. Табличка может быть напеяатана на бумажке, или быть реализована в простой библиотеке или храниться в голове, как у вашего крезёвого препода, но в любом случае операции с табличкой это система примитивных if then else и арифметических сдвигов.

А работы Колмогорова это какие то запредельные математические дебри на переднем краю математики с очень высокой степенью абстракции. Зачем для описания таблички адресных сдвигов нужен супер продвинутый мат. аппарат не очень понятно.

все то, что сегодня "скрывается" ОС и драйверами, позволяя использовать простые указатели - приходилось кодировать "ручками"

Да, но это всё возможно сложная, но, всё же, инженернная реализациия. Идея последовательной адресации памяти известна со времён концепции машины Тьюринга (30-е) и архитектуры фон Неймана (40-е).

если бы дед обьяснял сначала, чего они пытались достичь, а не сразу ударялся в хаки и оптимизации.

Вооот! В этом и состоит вопрос - почему для реализации хорошо известной концепции потребовалось разработавать специальный математический аппарат математиком уровня аж Колмогорова?

По поводу "сложного математического аппарата", речь, вероятно, не идёт, хотя нельзя сказать о том, что использование указателей было очевидным решением в 1953 году. В статье "К определению алгоритма" Колмогорова и Успенского.
на Тьюринга Колмогоров ссылается, в частности на:
A. M. Turing, On computable numbers, with an application to the Entscheidungsproblem, Proc. London Math. Soc. 42 (1936—1937), 230—265.
A.M. Turing , Computability and X-definitability, Journ. Symb. Logic 2 (1937) 153—163.

Но в отличие от Тьюринга, согласно Амиру бен-Амраму: "Во время вычислений в его модели машина могла добавлять и изменять ребра.", а "лента может быть почти произвольным графом".
Вот оригинал статьи (издание Успехи математических наук, 1958, том 13, выпуск 4, 3–28) :
https://www.mathnet.ru/links/e5ca0fff8cc88945c77386cd95e741ea/rm7453.pdf
Вопросом об авторстве указателей в алгоритмизации, задавались давно, думаю эта статья ответит на ваши вопросы:
https://rjlipton.wpcomstaging.com/2014/08/26/who-invented-pointers-amortized-complexity-and-more/

Про известность указателей. Колмогоров автор идеи о том, что указатель может быть переменной.

А есть хоть какие-то остатки исходного кода и самого транслятора? И почему потом все выкинули на помойку, а не продолжили дорабатывать, как PL/I и Фортран? Нелогично же.

Есть, в C++ используются.

Хм, в каком компиляторе С++ есть остатки исходного кода трансляторов из СССР?!

И почему в СССР его перестали развивать, если на нем была написана значительная кодовая база?

Формально, его, наверное, можно отнести к функциональным, но выглядит он не как реализация лямбда-исчисления, а как реализация подстановок формальных арифметик

Вообще-то, он выглядит как реализация нормальных алгорифмов Маркова, что эквивалентно лямбда-исчислению.

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

Избирательный подход. Много ли стран тогда вообще разработкой ЯП занимались? А сейчас? Как делалось почти все в США так и делается. Даже если Kotlin взять, например, без форсинга Гугла (из-за того, что с Ораклом посрался из-за джавы) оставался бы "перспективным".

Много ли стран тогда вообще разработкой ЯП занимались?

Стран? Страны не занимались разработкой ЯП. Ну, кроме советского союза, конечно. А так довольно большую часть популярных языков создали не американцы, Вирт с паскалем и его почти десятком других языков - швейцарец, Страуструп (С++) - датчанин, Мацумото (Ruby) - японец, Лердорф (php) - ещё датчанин, сейчас в Канаде, Гвидо ван Россум (python) - голландец (вроде, в гугле потом поработал), Одерски (Scala) - немец. Американцев тоже, конечно, много. Популярность языка основывается не на количестве ядерных бомб страны, которая за ним стоит, и даже не на богатстве фирмы, которая за ним стоит (алё, где ты, Dart, тебя форсили посильнее, чем Котлин), а на его востребованности и удобстве. Так что если бы язык был действительно перспективный (удобный, полезный, востребованный), наверняка бы взлетел. Но те, кто писал конфиги сендмейла, рефал таковым не назовут, как ни крути. Поэтому, нет, не перспективный.

Даже если Kotlin взять, например, без форсинга Гугла

Форсинг гугла разве что в андроиде. Но Котлин широко известен далеко за пределами андроида. И не мобайл разработчики его туда привнесли. :)

Перечитывая эту книгу, не могу найти в ней ничего свойственного советской науке, советскому общественному строю, советской партийной жизни. Возможно, причина связана с этим.

Претензия правомерна. Речь скорее о критических высказываниях, чем о литературе. @Wesha, спс, поправлю неточность.

Странно, что Райкин за подобные темы не был обозван десидентом :)

Райкин был сатириком, а не учёным.

Публичность у Райкина на порядки выше.

PL/I (Programming Language One) ... где будут повторно ”впервые” использованы указатели, появится лишь в 1976-м

А как же C в 1972?

Указатели и в куда более древнем Алголе были

Наверное, опечатка. Разработка PL/I началась в 1963 году. Первое публикование у нас - на Киевской конференции летом 1967 года.

Разработка началась в 64-м, верно, но стандарт PL/1 ANSI , X3.53-1976, был опубликован только в 1976 году. Поэтому датируют везде 1976-м годом.

Разработка началась в 64-м, верно,

...а полная спецификация была опубликована в 1965-м, и вторая версия - в 1967-м. Если говорить про 1976-й год, то это не столь знаковое событие в истории PL/1, чтобы называть это датой появления языка. Это просто один из промежуточных этапов его развития, стандартизация в ANSI. Точно так же, как и С++, когда он там пошёл в массы, в 1985-м? А стандартизован только в конце 1990-х, но мы же не называем годом появления С++ 1997-й год.

Хабр до сих пор не стандартизирован. Получается, что он по-прежнему в разработке, ещё не появился!

Ложная аналогия. Хабр - не язык программирования.

Верно. Тут вопрос использовались ли в версии 1965 или 1967 года, указатели? Я этого не могу подтвердить и не могу опровергнуть, а стандарт является таким подтверждением. Но замечание ценное, сделаю уточнение в тексте.

В 63-м собрали группу разработчиков, и в 63-м эта группа не создавала PL/l, a пыталась сделать расширение для Fortran. Ни о каких указателях в этот период не упоминали, на сколько мне известно.

Сам себя поправлю. Не в 1967, а в 1968 году в Киеве проходило мероприятие:

На котором был доклад о моделировании на PL/I.

Интересно, что все ключевые слова переведены на русский. Но пока вместо file - "ТЕКА".

В конце резюме: все как у "алголоязыков", но новое - работа с указателями. В конце ссылки на статью Харольда нашего Лоусона "Обработка списков на PL/1" от июня 1967 года и на спецификацию языка от IBM от января 1966.

Можно считать, что с этого момента широкая советская программисткая общественность была ознакомлена с указателями.

Здорово, но та часть широкой программистской общественности, которая работала с адресным языком, уже была ознакомлена с указателями. С 1954-го.

Позволю себе не согласиться. В 1954 году еще не было ни широкой программисткой общественности, ни потребности разрабатывать языки, ни потребности вводить в них указатели.

Это такое же преувеличение, как и утверждение, что PL/I появился только в 1976 году.

Но при этом, я не ставлю под сомнение способности отечественных теоретиков программирования.

Например, комитет по разработке подмножества "G" PL/1 выразил благодарность группе коллег за ценные советы и предложения. В этом списке три наших соотечественника, включая А. Ершова.

Others who made important contributions to this standard were:

Paul W. Abrahams
Kenneth Dritz
Andrei P. Ershov
A. Craig Franklin
Mimi Gerstell
Ev M. Greene
Richard Howells
L. Korneva
Peter Krupp
John Leffler
Howell A. (Skip) Richards
Gary Roberts
David Sahakian
W. Olin Sibert
Anthony P. Smith
Haruyuki Takeda
Richard Weaver

ни потребности разрабатывать языки,

?

 ни потребности вводить в них указатели

) Тогда зачем они были введены в адресном языке?

Надеюсь вы ставите под сомнение факт о том, что указатели, в том виде в котором они использовались в PL/I, появились впервые в адресном языке, а теоретическая основа их применения (указатель как переменная) впервые была описана Колмогоровым и Успенским в статье "К определению алгоритма"?

Я писал о 1954 годе. А статья Колмогорова и Успенского - лето 1958 года, когда уже обсуждался будущий Алгол. Т.е. начиналась совсем другая эпоха. Что касается PL/1 и указателей в нем, то все-таки урежьте осетра, это был 1966 год, а не 1976. См., например, известную книгу "Мифический человеко-месяц", там история его применения для ОС/360 затрагивается.

Научный приоритет, вполне может быть и наш. У нас отличная математическая школа. А вот на практике, сомневаюсь, что разработчики PL/1 сами бы не пришли к подобному и вообще слышали о Колмогорове. Там были больше инженеры, а не ученые. Да и слишком все на поверхности.

Резюме. Я возражаю против исходного утверждения

PL/I (Programming Language One) ... где будут повторно ”впервые” использованы указатели, появится лишь в 1976-м

Оно не отражает действительность. Да, вики несправедливо приписывает "изобретение" указателей Лоусону. Но несправедливо и утверждать, что без Колмогорова в PL/1 не появились бы указатели.

Я не утверждаю, что они появились бы без Колмогорова. В 1958-м появился полноценный вариант адресного языка. Про 76, я с вами согласен. Про статью "К определению алгоритма", публикация статьи в сборнике в 1958-м, статья написана и впервые опубликована в 1953-м, на сколько я помню в университетском издании. Многие авторы, как и я ссылаются на 1953-й по статье. Безусловно PL/1  стал языком, благодаря которому указателя стали широко распространены, но первым таким языком был APL (адресный язык программирования Ющенко и Королюка)

где будут повторно ”впервые” использованы указатели (опубликован в 1965-м, стандартизирован в 1976-м)

Сейчас абзац выглядит так. Я изменил его после первого вашего коммента.

И вот сижу теперь и все части читаю. Вы украли у меня утро субботы!

Извините. Я это читал на работе, потом пытался в виртуальной машине запустить и проникнуться духом времени.

На MUMPS я работать начинал...

А. Л. Брудно. Программирование в содержательных обозначениях. Для ЭВМ М-2 (машина эксплуатировалась 15 лет).

АЛМИР-65 — язык программирования, разработанный в СССР в 1965 году в Институте кибернетики АН УССР под руководством академика Виктора Глушкова. Название расшифровывается как «алгоритмический язык для машины инженерных решений». Из названия ясно, что АЛМИР-65 использовался на ЭВМ МИР (Машина для Инженерных Расчётов).

Мне даже на нем попрограммировать довелось. Два режима ввода программы: телетайп (типа пишущей машинки, на нее же осуществлялся вывод) и перфолента.

Переход на Fortran произошел по причине массового использования зарубежных библиотек. Например для БЭСМ-6 транслятор переписывали с импортного ровно с этой целью - для доступа к библиотекам CERN.

Что толку от языка программирования, если на нем некому писать? Fortran позволял получить доступ к результатам труда программистам со всего мира.

В 60-х годах родился язык АЛМО, язык системного программирования (машинно-ориентированный язык), который задумывался как язык-посредник при трансляции с различных языков на различные машинные платформы. Мне довелось программировать на нём. Более того мне довелось трудиться под руководством разработчиков трансляторов с этого языка для ЭВМ М-220, Весна и даже ЕС ЭВМ:
image

как мы писали в первом посте цикла

Тут не совсем понял. Про какой пост речь?

Спасибо, очень интересно.

Комментарии особенно интересные😉

Для БК-0010 и др. БК (совместимы с системой команд PDP-11) в конце 80-х два школьника из Ессентуков придумали язык ALLA и написали компилятор к нему.

На АЛЛА потом писались игры под БК, т. к. на интерпретаторе Фоткала особо игры не напрограммируешь.

Например, известная тогда игра BioWar была написана именно на ALLA.

на интерпретаторе Фокала особо игры не напрограммируешь

...поэтому реальные пацаны не выйоживались, а писали игры на ассемблере.

А никакой АЛЛЫ не помню. Т-язык — помню, Аллу не помню. Видать, не взлетела.

Кстати, BioWar для БК-0010 не помню (а за 0011 я не следил, у меня десятка была).

<< незкое быстродействие

Зарегистрируйтесь на Хабре, чтобы оставить комментарий