О МАМЕ КОМПИЛЯТОРОВ
Весной 1952 года вельми славная, очами союзная Грейс Хоппер закончила писать некоторую программу под названием A-0 для компьютера UNIVAC, по заданию доктора Джона Моучли (John William Mauchly хоть может и Маучли, а то и Мокли какой, да будет проклят факин инглиш) которого в то время
начинали прессовать американские кровавые органы (по этой причине он не мог выступить публично), и поведала об этом своём творении Городу и Миру на компьютерной конференции ACM 2 мая 1952 года в Питсбурге, что в в штате Пенсильвания, США, где впервые в истории обозвала энту программу компилёром (compiler). Широкие народные массы крайне узкой тогда компьютерной общественности не поняли смысла этого хаджа, не смотря на тот факт, что тогда курение было разрешено повсеместно, чем чуть не довели до слёз эту несчастную леди :( Глядя из дня сегодняшнего мы скорее назовём эту А-0 загрузчиком или линкером, но факт впервые прозвучавшего с трибуны конференции Association for Computing Machinery, и напечатаного в публикации ACM '52 Proceedings of the 1952 ACM national meeting (Pittsburgh) на страницах 243-249 слова compiler отрицать нельзя.
Вот реферат выступления Грейс на конференции:
While the materialization is new, the idea of mechanizing mathematical thinking is not new. Its lineage starts with the abacus and descends through Pascal, Leibnitz, and Babbage. More immediately, the ideas here presented originate from Professor Howard H. Aiken of Harvard University, Dr. John W. Mauchly of Eckert-Mauchly and Dr. M. V. Wilkes of the University of Cambridge. From Professor Aiken came, in 1946, the idea of a library of routines described in the Mark I manual, and the concepts embodied in the Mark III coding machine, from Dr. Mauchly, the basic principles of the "short-order code" and suggestions, criticisms, and untiring patience in listening to these present attempts; from Dr. Wilkes, the greatest help of all, a book on the subject. For those of their ideas which are included herein, I most earnestly express my debt and my appreciation.
Вельми забавно, но в туёй Америке полный текст оного доклада и сегодня продают за деньги (15 их долларов для не членов профсоюза)! Нужно заметить, что в 1952 году в университете Манчестера для их Марк 1 был написан автокод и его комплятор неким Аликом Глини (Alick Edwards Glennie да будет проклят факин инглиш, не понять как у него фамилия по-русски звучит!), но мы должны учитывать, что работу над А-0 Хоппер начала ещё в 1951 году, и уже в конце 51-го - начале 52-го имела почти работающую программу, и паче того джентельмены всегда должны пропускать леди вперёд. По этой саммой причине, пусть некоторые кто считает Алика первым покажут более раннюю публикацию, а пока будут презираемы всеми благовоспитаными людьми в приличном обществе! Однако сохраним за этим Аликом честь быть автором первой Шахматной Программы, хотя и не работавшей на компьютере, что нам намекает. Кстати родится 1 января 1925 года, и умереть 1 января 2003 аналогично можно записать нашему Алику в достижения.
А-0 (А это от Арифметика, а 0 это версия 0), написанный Грейс Хоппер с 1951 по 1952 год для UNIVAC I, был первым компилятором когда-либо разработанных для ЭВМ. Моё подозрение, думаю обоснованное, что работы на эту тему в СССР начались в инициативном порядке только после этой публикации. За А-0 последовали А-1, А-2, А-3 (которая была выпущен в свет как Arith-MATIC), АТ-3 (выпущена как Math-MATIC) и B-0 (выпущена как FLOW-MATIC). А-2 была разработана в подразделении UNIVAC, в компании Remington Rand в 1953 году и стала доступна для клиентов к концу этого года. Клиентам был предоставлен исходный код от A-2, и предлагалось направить свои усовершенствования и замечания обратно в UNIVAC. Вот уже когда мир получил пример бесплатного программного обеспечения с открытым исходным кодом! А некоторые всё говорят Стоман, да Столман! :(((
Sperry Rand выпустила коммерческую версию компилятора MATH-MATIC для UNIVAC. Грейс Хоппер продолжала творить рождать инновации, что привело к разработке первого компилятора для обработки бизнес-данных на английском языке, В-0 (FLOW-MATIC), работы над которым привели к тому, что в 1957 году FLOW-MATIC послужил моделью, с добавлениями из других источников, для того самого непобедимого и легендарного, вечно живого COBOL. Адепты 1С за это должны выпить в эти майские праздники стоя!!! Кстати впервые в мире как кросс платформный ЯВУ COBOL себя тоже покзал в декабре 1960 года, когда программу написанную на нём успешно запустили одновременно на двух совсем разных компьютерах UNIVAC II и RCA 501.
Обратите ваше внимание на мирных умиротворенных первых пользователей того самого COBOLа. Глядя на их лица становится понятно, почему Грейс Мюрей Хоппер предпочитала работать с такими кадрами, а не гражданскими учёными, хотя появлением на свет компиляторов и пропагандой оных, она невольно поспособствовала разгулу демократии в туёй Америке.
20 июня 2014 года в день 60-летия FORTRAN
завязалась дискуссия (оживлённая) о первом компиляторе, в ходе которой
realurix выдвинул на роль первого в мире компилятора наш ПП-1, но тщательная проверка показала, что не только он, но и наш ПАПА не попадают первыми по своим датам. В те времена написать программу без компьютера под который она пишется было действием бессмысленным (хотя на примере двух достаславных английских джентельменов Алика Глини и Алана Тьюринга мы могли наблюдать первую в мире партию в шахматы между человеком и шахматной программой, за человека играл Алик, а за программу Алан (он в рукопашную на бумаге выполнял все команды), но это согласитесь другая олимпиада. ЗЫ Алик вышел победителем в этой игре), а на 2 мая 1952 года в СССР были только две работающие машины - МЭСМ в Феофании и М1 в Москве. Запустить на МЭСМ с её памятью компилятор КМК это утопия, и на М1 тоже фантастика, но научная. Когда зарубежные специалисты ознакомились с ПП-1 они были охреневшими, как такую программу эти "крези рашен" на СТРЕЛе с её ресурсами запустить смогли. Вот такая вышла история.
ВНИМАНИЕ!!! Каждый кто хоть раз в жизни завершил процесс компиляции чего-нибудь, или даже просто начавший его (дальше как звёзды легли), если он честный или хоть как минимум добропорядочный человек, обязан сегодня выпить за это дело пару пива/рюмок/кофе с ликёром/чая с лимоном и поделится этой благой вестью со всеми окружающими, иначе он просто бездельник. Да он просто бездельник! Пушкин гарантирует это!!
PS в комментариях
можно вести лог с ходом процесса и места выпивания/распития, возможно допущенных ошибках, итп.