Рубріки: Історії

Легендарний програміст у 80 років продовжує лагодити Unix

Анастасія Пономарьова

Співавтор основної утиліти Unix, незважаючи на похилий вік, продовжує виправляти базовий код AWK, пише ARStechnica.

І ініціатива

Якщо ви не знали, як це — кодити по любові, то почитайте цю мотивуючу історію. Професор Прінстона на літніх канікулах надіслав електронного листа своєму старому другові — Брайану Кернігану, співзасновнику AWK (Kernighan — це буква “K”). Керніган привітався, запитав, як проходить візит професора в США, і ненароком надіслав сотні рядків коду, які можна додати на підтримку Unicode для AWK — інструмент аналізу тексту, який він сам допоміг створити для Unix у Bell Labs ще 1977 року.

«Я досить довго тестував це, але явно потрібні ще додаткові тести, — написав Керніган в електронному листі, опублікованому ще наприкінці травня як свого роду псевдокомміт у репозиторії onetrueawk. — Як тільки все уточню, спробую відправити пул-реквест. Хотів би краще зрозуміти git, але незважаючи на вашу (ред. комьюніті) допомогу, правильного розуміння все ще немає. Отже, процес може зайняти деякий час».

Чому Керніган легенда

Трохи відволічемось і розповімо про Брайана Кернігана. Отже, розробник зробив великий внесок у створення AWK — мови спеціального призначення для вилучення та керування мовами, яка була ключовою для функцій конвеєра Unix та взаємодії між системами. Працююча awk function має вирішальне значення як для стандартної специфікації UNIX, так і для сертифікації IEEE POSIX з точки зору функціональної сумісності.

Так, існує безліч варіантів сучасних похідних, що включають awk, з підтримкою Unicode. Але “One True AWK”, іноді відомий як nawk, є своєрідною канонічною версією — вона заснована на книзі Кернігана 1985 “Мова програмування AWK”.

 

Брайан Керніган

 

Але це ще не всі заслуги розробника: Керніган також є співавтором основної книги 1978 «Мова програмування C», яку він написав разом із творцем мови С Деннісом Рітчі (відкриємо маленький секрет: ініціатором написання книги був саме Керніган). Книзі майже 50 років, але вона все ще актуальна для розробників, адже вона породила «єдиний справжній стиль дужок» та структуру, що лежить в основі кожної сучасної мови програмування.

Крім того, Керніган дав назву Unix і першим продемонстрував приклад коду Hello, world.

Навіщо було щось міняти у Unicode для AWK?

Через те, що репозиторій onetrueawk, де Керніган розповів про оновлення, не надто популярний, про виправлення Unicode стало відомо головним чином завдяки інтерв’ю професора YouTube-каналу Computerphile — повну версію можете подивитися тут .

«Завжди було ніяково, що AWK працює тільки з ASCII або, можливо, з 8-бітними вхідними даними, але насправді взагалі не обробляє Unicode, — сказав Керніган інтерв’юеру професору Девіду Брейлсфорду. Кілька місяців тому я провів якийсь час, працюючи над покращенням неймовірно старої програми. Навіщо? На даний момент вона фактично обробляє введення та виведення UTF-8, так що ви можете отримувати регулярні вирази, які, знаєте, вибирають японські ієрогліфи тощо».

Керніган згадує в інтерв’ю, що він також пропатчив AWK “нашвидкуруч”, щоб дозволити йому обробляти файли CSV .

Останні статті

Більше 8 млрд грн податків. Стільки сплатили резиденти Дія.City в І кварталі 2025 року

Резиденти Дія.City сплатили до бюджету понад 8 млрд грн податків в І кварталі 2025 року.…

18.04.2025

Китайських офісних працівників закликають менше працювати. Це має допомогти місцевій економіці

У Китаї закликають офісних працівників не працювати надто багато — держава сподівається, що вільний час…

18.04.2025

ChatGPT значно покращив пошук місць по фото. Це посилює проблеми конфіденційності

Експерти звертають увагу на тривожну тенденцію: люди все частіше використовують ChatGPT, щоб визначити місцезнаходження, зображене…

18.04.2025

Середовище розробки IntelliJ IDEA оновлено до версії 2025.1

Компанія JetBrains випустила нову версію мультимовного середовища розробки IntelliJ IDEA 2025.1. Оновлена IDE отримала численні…

18.04.2025

Discord впроваджує функцію сканування обличчя для перевірки віку користувачів

Платформа обміну миттєвими повідомленнями Discord впроваджує функцію перевірки віку за допомогою сканування обличчя. Зараз вона…

18.04.2025

Wikipedia випустила спеціальний датасет, щоб відволікти увагу ботів

Wikipedia намагається захистити себе від тисяч різноманітних ботів-скрейперів, які сканують дані цієї платформи для навчання…

18.04.2025