Pull to refresh
234.43
JUG Ru Group
Конференции для Senior-разработчиков

Брайан Керниган добавляет в AWK поддержку юникода

Reading time2 min
Views9.8K
Original author: Liam Proven

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

Tags:
Hubs:
Total votes 43: ↑41 and ↓2+55
Comments6

Articles

Information

Website
jugru.org
Registered
Founded
Employees
51–100 employees
Location
Россия
Representative
Алексей Федоров