[Перевод] Брайан Керниган добавляет в AWK поддержку юникода
Для мира 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 — это не священное писание, которое передавалось из рук в руки неприкосновенным с доисторических времён. Большинство людей, которые проектировали, реализовывали и формировали подобные проекты, сейчас всё ещё с нами. В данном случае изменение в коде произошло ещё несколько месяцев назад, но оказалось замечено миром только теперь благодаря новому интервью с профессором Керниганом: