Владимир Биллиг — автор книги «Хроника языков программирования. Прошлое, настоящее, будущее» более 60 лет (1 000 000 в двоичной системе счисления) занимается программированием. После окончания физмата Днепропетровского университета начал свою карьеру в ВЦ НИИ МО в городе Калинин (ныне Тверь), участвовал в проведении космических экспериментов, был одним из основателей факультета прикладной математики и кибернетики в Тверском государственном университете, совмещая преподавательскую деятельность с работой в различных НИИ, в частности, в НИИ «Центрпрограммсистем» — известного в СССР центра сбора, классификации, оценки и распространения программных средств, как сейчас бы сказали — репозитория создаваемого в стране ПО. Биллиг был научным редактором и переводчиком книг профессора Бертрана Мейера — мэтра программирования, создателя объектного языка Eiffel, возглавлявшего департамент компьютерных наук в Швейцарской высшей технической школе Цюриха.

Прошлое нужно знать, в настоящем работать, а будущее строить — эта книга о прошлом, настоящем и будущем программирования, попытка автора-современника и соучастника процессов становления языков программирования воссоздать атмосферу тех лет, когда формировалась отечественная школа программирования. Как отмечает Биллиг: «Мне было интересно, вспоминая прошедшее, писать эту книгу, и я полагаю, что многим молодым и не очень программистам также будет интересна история языков программирования, рассказанная очевидцем событий».

 

В книге излагается история создания языков программирования, начиная от программирования в системе команд конкретной ЭВМ и ассемблеров и заканчивая современными языками высокого уровня работы с системами искусственного интеллекта. В поле внимания автора прежде всего вошли языки, определившие новые стили программирования, концепции и парадигмы, которые, даже уйдя со сцены, продолжают жить в языках-преемниках, поэтому повествование о языках программирования — это, по сути, и рассказ о его парадигмах. Кроме этого читатель найдет в книге рассказы о выдающихся программистах, оставивших заметный след в становлении индустрии ИТ. В книгу также включены фрагменты учебного характера, что позволяет оживить историю развития языков и получить представление о их базовых конструкциях. Книга состоит из четырех частей.

Первая часть посвящена периоду становления программирования и содержит десять лекций, раскрывающих понятие алгоритма, рассказывающих о первых ЭВМ и появлении алгоритмических языков: Фортран, Алгол, Кобол, Алгол-68 и Паскаль. Отдельная лекция посвящена парадигме структурного программирования, в основе которой лежит представление программы в виде иерархической структуры блоков. В развитие этой парадигмы внесли вклад такие известные специалисты, как Эдсгер Дейкстра, Тони Хоар и Никлаус Вирт, сформулировавшие основы создания программ с требуемой надежностью и работающих в точном соответствии с заданными спецификациями. В этой же части автор разбирает функциональное и логическое программирование, представленное языками Лисп, Рефал и Пролог. Завершает первую часть рассказ про объектно-ориентированные языки Симула и Smalltalk, вобравшие в себя лучшие идеи структурного, функционального и логического программирования. Не обошел вниманием автор и «последних из могикан» — языки PL/1 и Ада, максимально адаптированные для работы на платформе мейнфреймов.

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

В третьей части автор разбирает популярные сегодня языки программирования. Сюда включены лекции по Python, Си и C++, С#, Java и JavaScript. Завершает третью часть лекция по проблемно-ориентированным системам со встроенными языками программирования.

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

Существование множества естественных языков объясняется географией и разобщенностью живущих на земле племен. Казалось бы, формальный язык программирования мог бы быть единственным, объединяющим всех программистов. Однако языков программирования также было создано не меньше, чем естественных. Некоторые из них получали широкую известность, блистали в свое время, а затем уходили в небытие. Другие были популярны лишь у специфической аудитории. Сегодня процесс появления новых языков программирования замедлился, но новые языки по-прежнему появляются.

Книгу «Хроника языков программирования» не стоит рассматривать как учебник по программированию или пособие по какому-либо конкретному языку — это книга об истории развития языков программирования, рассказанная специалистом, которому за свою профессиональную карьеру пришлось программировать более чем на десятке разных языков. Не стоит забывать, что по сравнению с изменениями, вносимыми в языки программирования, среды разработки меняются на два-три порядка быстрее, а поколения оборудования сменяются еще быстрее. Повторное использование кода позволяет, не меняя базовых свойств приложений, расширять их, включая новые возможности за счет подключаемых библиотек, пакетов или настройки конфигураций. Знакомство с книгой будет полезно студентам, аспирантам и преподавателям, а также ИТ-специалистам и менеджерам, расширяющим свой кругозор или решающим задачи создания новых приложений или их адаптации для работы в конкретной операционной среде.

Биллиг В. А. Хроника языков программирования. Прошлое, настоящее, будущее: Учебное пособие. — М.: Национальный Открытый Университет «ИНТУИТ», 2024. — 286 с. ISBN 978-5-9556-0204-2 URL: www.intuit.ru

DOI: 10.51793/OS.2024.12.65.005