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