IaaS, VPS, VDS, Частное и публичное облако, SSL
256,23
рейтинг
29 октября 2015 в 18:32

Разработка → 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».
Автор: @1cloud Jordan Pearson
1cloud.ru
рейтинг 256,23
IaaS, VPS, VDS, Частное и публичное облако, SSL

Комментарии (43)

    • +3
      Если не касаться качества самого перевода (что можно было бы сделать), и того факта, что Хабр и Гиктаймс — это разные сайты и нет никакого смысла искать совпадения материалов на них, то в том материале, на который вы ссылаетесь даже ссылки на тот самый репозиторий на Гитхабе нету.
      • +2
        > Если не касаться качества самого перевода

        Свой сначала поправьте.

        SPITBOL – Шилдс разработал его в 70-х годах

        Может всё же «language called SPITBOL that he worked on» не совсем так переводится? Например в вики в качестве разработчика указан совсем другой дяденька, а герой сюжета там даже не упомянут.

        Шилдс говорит, что SPITBOL – это «быстрая и грязная» реализация языка программирования 60-х годов SNOBOL4, созданного Робертом Дьюаром (Robert Dewar)

        Учитывая вновь открывшиеся факты, «языка — созданного» -> «реализация — созданная». Снобол другими людьми сделан.
    • +30
      Я, к примеру, GT не читаю. Даже усилия ТМ не помогают.
      • 0
        Вот кстати было бы хорошо если было бы реализовано как в приложении на ipad (android?), там все три ленты есть в одном приложении. Хотя было бы лучше если бы просто можно было поставить галку и видеть или не видеть один из сайтов в общей ленте.
        • 0
          • +1
            RSS?
            • 0
              Я как раз через tinyrss.ru читаю. Вбил все три ленты (хабр, гк, мозг). Очень удобно.
              • 0
                А у меня стоял юзерскрипт, который все объединял. Отключил, чтобы нервы поберечь.
      • +21
        На GT все же довольно интересные посты есть, про парадокс Ферми например. А вот Мегамозг вообще шляпа :(
        • +1
          На GT есть опасность случайно прочитать комментарии и офигеть от того как, оказывается, все ужасно.
  • +20
    Все же, по-моему, зря произвели разделение, если что-то неинтересно, то можно просто описаться от хаба соответствующего.
    • +6
      Вообще да, хотел написать пост в DIY, но он внезапно оказался на гиктаймсе — и кому там будет интересен мой говнокод для ардуинки? В общем, желание отпало. С другой стороны, там в теме про возникновение жизни столько фриков набежало, что иногда думается, что не зря.
      • +4
        Да я сейчас вообще ничего не пишу, потому что даже не понимаю на какой сайт мне писать, желания разбираться нету, зачем мне лишний барьер?
        • +3
          Вы конечно простите, но Хабр изначально — ресурс с достаточно высоким барьером доступа, да и в инженерной и IT-сферах желание разбираться в чём-либо только приветствуется.
          • +1
            Вы тоже меня простите, то «Хабр» давно не центральный для меня ресурс. Он давно скатился на уровень маркетингового бла-бла. Я не против в чём-то разбираться (вы в этом убедитесь, если посмотрите мои записи), но разбираться в этом тонком делении у меня нет никакого желания, для меня это просто неудобство на очередном сайте.
            • 0
              Вы хороший автор, и в чём-то, безусловно, разбираетесь. Я же «прикопался» к фразе «желания разбираться нету, зачем мне лишний барьер?» — ну в данный момент мне показалось, что это слишком гипертрофированная реакция, лишённая практического смысла, как-то не по-христиански рано Вы опустили руки на написание материала как такового, из-за какого-то маркетингового бла-бла — ведь перестав писать материал Вы делаете хуже не только Хабру (сомнительный довод), но и себе. Но, конечно, это Ваше и только Ваше право — писать, или не писать статьи.
              • 0
                Писать вполне можно и в своём блоге, где, в конце концов, есть нужная подсветка синтаксиса и удобная разметка :)
                • 0
                  Да можно конечно, потому и пишу, что это право пишущего.
                  • 0
                    Я про сделать хуже себе. Просто фраза воспринимается как: прекратив писать материал [на Хабре], вы сделаете хуже не только Хабру [ну а как ты можешь прекращением письма сделать ему хуже, если ты не писал сюда?], но и себе. Ну и автор (поправте, если не прав) делал акцент на неудобство конкретного сайта (системы сайтов), а не на прекращение творческого процесса вообще. Так что себе он точно хуже не сделает. А хабру давно стоит озадачиться парсером и более вменяемой разметкой, а не дописыванием @ к нику и сомнительным делением ресурсов.
                    • 0
                      Мне кажется, если человек долгое время тут писал, то значит что-то в этом для него было — может, интересные собеседники в комментариях, с которыми можно почерпнуть знаний и мотивации к дальнейшему написанию (а значит и саморазвитию), может просто нравилось делиться знаниями на публику, которую долго набирать в личном блоге, может ещё что-то. В любом случае, я всего лишь высказал своё мнение — если человеку его дело интересно, то такие мелкие препятствия не должны сильно омрачать жизнь. Ну и в итоге, конечно же дело каждого, что ему лучше или хуже.
      • +2
        > столько фриков набежало

        Фриков там набежало всего два или три, просто орут они громко и много.
        • 0
          Соглашусь, преувеличил.
      • 0
        Что за тема про возникновение жизни? Не могу найти.
  • +2
    Грустно-забавная история. По себе знаю что уже в тридцать сложно идти вперёд и осваивать технологии, а уж в семьдесят. Старику это конечно в плюс, ему и дело, и интерес. А вот ценность его труда вероятно около нулевая.
    • +2
      Ну гипотетически это может кого-то вдохновить на развитие своих проектов в области языков и компиляторов.
      • –4
        Наверное сегодня не то время, когда стоит в одиночку писать язык или компилятор. Не взлетит.
        • +1
          Согласен, проект героя топика сам не взлетит, но может быть его идеи повлияют на новые прректы пусть и косвенно, я об этом.
          • +7
            Да ладно вам, взлетит, не взлетит. Мужик, судя по всему, просто кайфует от процесса — не это ли классно на пенсии, ну? Судя по истории, взлетевший проектов ему уже хватает, теперь можно просто пописать то, что хочется.
        • +8
          Проекты большинства из нас никогда не взлетят. Независимо от возраста и времени.
    • 0
      >о себе знаю что уже в тридцать сложно идти вперёд и осваивать технологии
      Да ладно, по-моему как раз наоборот все проще, чем например, в 20.
    • +4
      В 30 сложно идти вперёд? ОМГ.
      • 0
        И в 70 не сложно, если здоровье позволяет.
        • 0
          Доживу, расскажу.
  • 0
    Не так давно прочитал высказывание какого-то 70-ти летнего что ли мультипликатора, что сейчас он делает то же самое, что и в 25, но в 3 раза медленнее.
    • +1
      Это значит, что будучи 100 летним он будет делать то же самое, что и в 25, но 4 раза дольше? :D
      • 0
        Сложно сказать, может быть, зависимость нелинейная.
  • +3
    Умирающие языки программирования надо взять под защиту ЮНЕСКО.
  • –2
    Хм. 20 лет для GitHub — как-то маловато. Думаю, он продержится намного дольше.
    По теме: все бы так любили свою работу!
    • +7
      20 лет — это, все-таки, довольно много.
      Случиться может всякое. Как, например, с Google Code или с SourceForge.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка