Legenda Uniksa, która nic nam nie jest winna, nadal poprawia podstawowy kod AWK
Profesor z Princeton, znajdując trochę czasu dla siebie w letnim akademickim zastoju, kilka miesięcy temu wysłał e-mail do starego przyjaciela. Brian Kernighan przywitał się, zapytał, jak idzie ich wizyta w USA, i wysłał setki linii kodu , które mogłyby dodać obsługę Unicode do AWK, narzędzia do analizy tekstu, które pomógł zbudować dla Uniksa w Bell Labs w 1977 roku.
„Testowałem to całkiem sporo, ale zdecydowanie potrzeba więcej testów” — napisał Kernighan w e-mailu wysłanym jako swego rodzaju pseudo zobowiązanie do repozytorium onetrueawk przez wieloletniego opiekuna Arnolda Robbinsa. „Kiedy wymyślę, jak… spróbuję przesłać żądanie ściągnięcia. Chciałbym lepiej zrozumieć git, ale pomimo twojej pomocy nadal nie mam odpowiedniego zrozumienia, więc może to chwilę potrwać”.
Kernighan to „K” w AWK , języku ekstrakcji i sterowania specjalnego przeznaczenia, który był kluczem do funkcji potoków Uniksa i interoperacyjności między systemami. Działająca awk
funkcja (AWK to język, awk
komenda, aby ją wywołać) ma kluczowe znaczenie zarówno dla specyfikacji standardu UNIX, jak i certyfikacji IEEE POSIX pod względem interoperacyjności. Istnieją niezliczone odmiany awk
, ale „One True AWK”, czasami znany jako nawk
, jest wersją opartą na książce Kernighana The AWK Programming Language z 1985 roku i jej późniejszych wkładach.
Kernighan jest także „K” w „K&R C”, przełomowej książce The C Programming Language z 1978 r., którą napisał wspólnie z Dennisem Ritchie, która pozostaje z programistami, mentalnie i w sponiewieranej papierowej formie. Korzenie Xi sięgają znacznie głębiej. Kernighan przeszkolił C w Bell Labs i przekonał jego twórcę Dennisa Ritchiego do współpracy nad książką mającą na celu szerzenie wiedzy. Ta książka zrodziła „jedyny prawdziwy styl nawiasów klamrowych”, niekończącą się debatę, która się z nim wiąże, oraz strukturę, która leży u podstaw każdego współczesnego języka programowania.
Kernighan nazwał również Unix i był pierwszym, który zademonstrował przykładowy kod „Hello, world”. Rozmawiał z Richardem Jensenem z Ars Technica o 50 latach historii Uniksa.
Repozytorium onetrueawk, w którym Kernighan pojawił się pod koniec maja, jest stosunkowo cichym miejscem z 21 współtwórcami, 46 użytkownikami GitHub obserwującymi i zobowiązaniami pojawiającymi się co kilka miesięcy. Jak zauważył serwis The Register , poprawka Kernighana do Unicode stała się znana głównie dzięki temu, że wspomniano o niej w rozmowie z profesorem na kanale Computerphile na YouTube .
„To zawsze było zawstydzające, że AWK działa tylko z ASCII lub może 8-bitowym wejściem, ale tak naprawdę w ogóle nie obsługuje Unicode” – powiedział Kernighan profesorowi Balesfordowi w wywiadzie. „Kilka miesięcy temu spędziłem trochę czasu pracując (śmiech) z niesamowicie starym programem. Mam go w tej chwili, w którym faktycznie obsługuje wejście i wyjście UTF-8, więc możesz mieć wyrażenia regularne, które, wiesz, wychwytują japońskie znaki i takie tam.
Kernighan, obecnie 80-letni, od niechcenia wspomina w wywiadzie, że naprawił też coś „szybkiego i brudnego”, aby umożliwić AWK przetwarzanie plików CSV.
Dodaj komentarz