Профессор Принстона, найдя время для себя в летнем академическом затишье, пару месяцев назад отправил электронное письмо своему старому другу. Брайан Керниган поздоровался, спросил, как проходит их визит в США, и прислал сотни строк кода , которые могли бы добавить поддержку Unicode в AWK, инструмент анализа текста, который он помог создать для Unix в Bell Labs в 1977 году.
«Я довольно много тестировал это, но явно требуется дополнительное тестирование», — написал Керниган в электронном письме, опубликованном как своего рода псевдофиксация в репозитории onetrueawk давним сопровождающим Арнольдом Роббинсом. «Как только я выясню, как… я попытаюсь отправить запрос на включение. Я хотел бы лучше понимать git, но, несмотря на вашу помощь, у меня все еще нет правильного понимания, поэтому это может занять некоторое время».
Kernighan — это «K» в AWK , языке специального назначения для извлечения и управления, который был ключом к конвейерным функциям Unix и взаимодействию между системами. Работающая awk
функция (AWK — это язык, awk
команда для его вызова) имеет решающее значение как для стандартной спецификации UNIX, так и для сертификации IEEE POSIX с точки зрения совместимости. Существует бесчисленное множество вариантов awk
, но «One True AWK», иногда известный как nawk
, представляет собой версию, основанную на книге Кернигана 1985 года «Язык программирования AWK» и ее последующем вводе.
Керниган также является «K» в «K&R C», основополагающей книге 1978 года «Язык программирования C», которую он написал в соавторстве с Деннисом Ритчи, которая остается с программистами, мысленно и в потрепанной бумажной форме. Корни Си уходят намного глубже. Керниган обучал C в Bell Labs и убедил его создателя Денниса Ритчи сотрудничать в написании книги для распространения знаний. Эта книга породила «единственный истинный стиль фигурных скобок», бесконечные дебаты, сопровождающие его, и структуру, лежащую в основе каждого современного языка программирования.
Керниган также назвал Unix и первым продемонстрировал пример кода «Hello, world». Он говорил с Ричардом Дженсеном из Ars Technica о 50-летней истории Unix.
Репозиторий onetrueawk, где Керниган появился в конце мая, является относительно тихим местом: 21 участник, 46 пользователей GitHub наблюдают, а коммиты появляются каждые несколько месяцев. Как отмечает The Register , исправление Unicode Кернигана стало известно главным образом потому, что оно было упомянуто в интервью профессора на YouTube-канале Computerphile .
«Всегда смущало, что AWK работает только с ASCII или, может быть, с 8-битным вводом, но на самом деле вообще не обрабатывает Unicode», — сказал Керниган интервьюеру профессору Бейлсфорду. «Несколько месяцев назад я провел некоторое время, работая (смеется) с невероятно старой программой. Он у меня есть в тот момент, когда он фактически обрабатывает ввод и вывод UTF-8, так что вы можете иметь регулярные выражения, которые, как вы знаете, подбирают японские символы и прочее».
Керниган, которому сейчас 80 лет, мимоходом упоминает в интервью, что он также исправил кое-что «быстро и грязно», чтобы позволить AWK обрабатывать файлы CSV.