Для мира Unix эта новость — что-то в духе «появился Моисей и анонсировал дополнение к десяти заповедям».

AWK, язык программирования для анализа текстовых файлов, является ключевой частью Unix-систем — включая Linux, BSD и другие. Для того, чтобы OS могла считаться POSIX-совместимой, она обязана включать AWK. Впервые AWK появился в 1977-м и был включен в Version 7 UNIX в 1979-м — в последней версии UNIX от Bell Labs перед тем, как AT&T превратили его в коммерческий продукт.

В том, что он получает поддержку Unicode, заметнее даже не сама фича, а кто занялся её реализацией: канадский информатик Брайан Керниган.

Название AWK — аббревиатура, образованная по фамилиям трёх его создателей: Альфреда Ахо (обладателя премии Тьюринга), Питера Вейнбергера и Брайана Кернигана. Также Керниган — это буква «K» в названии «K&R C»: классической книге 1978 года «The C Programming Language», написанной Керниганом и великим Деннисом Ритчи.

Эта книга зафиксировала не только версию языка C, известную теперь как C78, но даже стиль индентации. Её влияние настолько велико, что в олдскульных Unix-кругах книгу иногда называют «Ветхим заветом», а индентацию — «единственно верным стилем».

Существуют разные версии AWK, но сейчас речь об оригинальной, известной как One True AWK. Изменения в коде описаны на GitHub скромными словами «Add BWK's email». В письме профессор скромно замечает:

«Как только я доразберусь и больше потестирую, я попробую отправить пулл-реквест. Я бы хотел лучше понимать git, но несмотря на твою помощь, у меня всё ещё не сложилось полного понимания, так что это может занять время».

Ну, тут я [автор исходного текста в The Register Лайам Прувен — прим. переводчика] хорошо его понимаю. Вашему покорному слуге 54 года, и он не может разобраться в Git, а Кернигану уже 80.

Керниган также придумал и название «UNIX», и идею демонстрировать программный язык с помощью «hello, world»: это он сделал для языка B, предшественника C. А про C он утверждал:

Я не имею отношения к созданию C, и точка. Это полностью работа Денниса Ритчи. Я написал туториал по использованию C для сотрудников Bell Labs, и я выкрутил Деннису руки, чтобы он написал книгу со мной.

Керниган написал и ряд других заметных книг, в том числе и в последние годы: The Go Programming Language (2015), Understanding the Digital World (2017), Unix: A History and a Memoir (2019).

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

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


  1. Harliff
    24.08.2022 19:46
    +8

    Аплодирую стоя!


    1. alexuspetrov
      24.08.2022 20:36

      +1


  1. me21
    24.08.2022 20:31
    +24

    Чтоб мы в восемьдесят лет так жили.


    1. Tangaroa
      24.08.2022 20:35
      +7

      Говорят, творческое долголетие как-то коррелирует с физиологическим долголетием. Наверное, тут мы видим хороший пример.


  1. ernestocruz
    24.08.2022 20:41
    +6

    не прошло и тридцати лет... а нет, похоже прошло)


  1. ikle
    24.08.2022 22:42
    +9

    Ну, тут я [автор исходного текста ...] хорошо его понимаю. Вашему покорному слуге 54 года, и он не может разобраться в Git, а Кернигану уже 80.

    Лично для меня началом знакомства с системами контроля версий послужила два десятка лет назад (теперь уже классическая) книга «Практика программирования» (https://en.wikipedia.org/wiki/The_Practice_of_Programming) Кернигана и Пайка. Другими словами, даже если главу про системы контроля версий написал Пайк, то её редактировал Керниган (разобравшись в вопросе).

    Так что, это просто вежливая форма («не ругайте сильно за ошибки, мало опыта с X»), а не какие-то проблемы с пониманием. (Тем более, что ему всего каких-то 80: я думал он намного старше.)