[Перевод] Cемидесятилетний программист пытается сохранить устаревший язык программирования на GitHub
Примечание переводчика:В нашем блоге на Хабре мы много пишем о построении облачного сервиса 1cloud и опыте работы с инфраструктурой других компаний. Однако серьезный вклад в развитие технологий делают инженеры-энтузиасты, и об этом важно помнить. Сегодня мы представляем вашему вниманию рассказ о языке программирования SPITBOL, который был разработан несколько десятков лет назад, позднее использовался для анализа украденных персональных данных сайта Ashley Madison, но может просто исчезнуть, если усилия его создателя не увенчаются успехом.
Дэйв Шилдс (Dave Shields) пытается спасти умирающий язык программирования.
Шилдс занимался программированием более 50-ти лет. Он на протяжении десятилетий работал программистом-исследователем в Нью-Йоркском университете и IBM, где «раздвигал границы» разработки программного обеспечения. За свою долгую карьеру Шилдс многого достиг, например, он был одним из разработчиков Jikes, компилятора Java – первого проекта IBM с открытым исходным кодом.
Сейчас Шилдсу семьдесят лет. На пенсии он занимается малоизвестным языком программирования SPITBOL – Шилдс разработал его в 70-х годах, но по каким-то причинам забросил на 30 лет.
Дэйв (справа) и покойный ученый в области ИВТ Джек Шварц (Jack Schwartz) в 1975 году. Фото: Flickr/Дэйв Шилдс
Шилдс говорит, что SPITBOL – это «быстрая и грязная» реализация языка программирования 60-х годов SNOBOL4, созданного Робертом Дьюаром (Robert Dewar). Лаконичный и точный – всего 28000 строк кода, половина из которых комментарии – он [язык программирования], главным образом, предназначался для распознавания шаблонов и работы с текстом или символами. SNOBOL4 был мощным языком, но медленным, из-за этого ему на смену пришел быстрый SPITBOL.
Сейчас Шилдс в одиночку пытается сохранить SPITBOL как проект с открытым исходным кодом, размещенный на GitHub. С момента появления проекта на сайте в 2009 году Шилдс был единственным, кто выкладывал на GitHub код на SPITBOL. Ему удалось успешно адаптировать язык (Шилдс уже как-то портировал его на суперкомпьютер 60-х годов CDC 6600) для работы на современных операционных системах Linux и Mac.
«Я думаю, что GitHub просуществует лет 20, – сказал мне Шилдс по телефону. – Теперь можно хранить созданное программное обеспечение долгие годы. Другие мои проекты хранились на магнитных лентах и сейчас потеряны для истории».
Пособия и документация по SNOBOL и SPITBOL. Фото: Марк Эммер (Mark Emmer)
Цель Шилдса – это создание реализаций SPITBOL для многих современных языков программирования (например, Go от Google), чтобы люди могли пользоваться им после смерти его создателя. «Я работаю с этим кодом уже больше полувека и все думаю, как бы сделать так, чтобы люди могли им пользоваться последующие 10-20 лет», – сказал Шилдс.
SPITBOL написан на языке ассемблера – языке низкого уровня, напрямую связанном с «железом». Поскольку сейчас больше распространены языки высокого уровня, Шилдс относится к SPITBOL как к важной части истории программного обеспечения. «Его особенность в том, что это самый элегантный из сохранившихся примеров кода машинного уровня, – сказал Шилдс. – Искусство писать на машинном уровне – это утраченное искусство».
Однажды SPITBOL использовали для анализа украденных персональных данных сайта знакомств Ashley Madison.
В 70-е годы Шилдс перестал работать над SPITBOL. В 1987 году за проект взялся программист Марк Эммер (Mark Emmer), несколько лет занимавшийся SNOBOL4. Код, c которым он впоследствии работал, ему предоставил на дискете сам Дьюар. На протяжении следующих десяти лет Эммер поддерживал SPITBOL и создал его версии, способные работать на системах Mac, Windows, Unix. Он также превратил проект в домашний бизнес (продавал программное обеспечение по почте). В 1994 году он прекратил работу над SPITBOL.
«Какое бы удовольствие мне ни приносили программирование и работа с клиентами, этот проект не мог обеспечить меня средствами к существованию и гарантировать достойный выход на пенсию, – написал мне Эммер по электронной почте. – В 1994 году я возобновил старые рабочие контакты и начал разрабатывать встроенные низкоуровневые системы, пока, наконец, в 2009 году не вышел на пенсию и не переехал в Мексику (в 2011 году)».
Все, что связано со SPITBOL – магнитные ленты и диски, накопившиеся за десятки лет – Эммер перевез из Колорадо в Мексику в картонных коробках. Но 2009 год был счастливым годом.
Как только Эммер отошел от дел, Шилдс захотел вернуться к работе. Эммер отправил ему .zip файл со всем необходимым, и тот приступил к переносу кода на GitHub. Даже спустя шесть лет Шилдс продолжает работу над проектом, надеясь сохранить его на долгие годы.
Марк Эммер
«Я восхищен, – так прокомментировал проект Шилдса Эммер. – Это удивительный фрагмент кода и памятник гению Роберта Дьюара».
В посте 2012 года Шилдс отметил, что является единственным разработчиком репозитория SPITBOL на GitHub (который удостоился внимания Hacker News). Шилдс также называет себя единственным пользователем языка. «Это довольно иронично», – сказал он мне по телефону. Но Шилдс не единственный пользователь, просто он не получал отзывов о проделанной им работе.
«Я понял, что слава не имеет значения. Это была просто работа».
В качестве примера можно привести функционирующую тематическую группу, посвященную SNOBOL4 и SPITBOL, на Yahoo! Groups. На момент написания этого поста, последняя запись в группе датирована 31 августа 2015 года, а количество её участников насчитывает 165 человек. В этой группе пользователи описывают возможности применения SPITBOL для обработки списков рассылки (однажды его использовали для анализа украденных персональных данных Ashley Madison).
Но Шилдсу не важно, сколько людей пользуются SPITBOL. Он просто наслаждается кодом.
«Работая над Jikes, я кое-что понял, – сказал Шилдс. – Мы выиграли кучу наград, а в то время это было большим достижением. Оглядываясь назад, я могу сказать, что слава не имела значения. Это была просто работа. Именно работа принесла наибольшее удовольствие и запомнилась мне больше всего. Вот как я отношусь к SPITBOL».