Unix-legenden som inte är skyldig oss något fortsätter att fixa den underliggande AWK-koden
En professor i Princeton, som hittade lite tid för sig själv i en akademisk sommaruppehåll, skickade ett e-postmeddelande till en gammal vän för ett par månader sedan. Brian Kernighan sa hej, frågade hur deras besök i USA gick och skickade hundratals rader kod som kunde lägga till Unicode-stöd till AWK, ett textanalysverktyg han hjälpte till att bygga för Unix på Bell Labs 1977.
”Jag har testat det här ganska mycket, men mer testning behövs helt klart,” skrev Kernighan i ett e-postmeddelande som postades som ett slags pseudo-åtagande till onetrueawk-förvaret av den mångårige underhållaren Arnold Robbins. ”När jag väl har kommit på hur… ska jag försöka skicka in en pull-förfrågan. Jag önskar att jag kunde förstå git bättre, men trots din hjälp har jag fortfarande inte den rätta förståelsen, så det kan ta ett tag.”
Kernighan är ”K” i AWK , ett extraktions- och kontrollspråk för specialändamål som var nyckeln till Unix pipeline-funktioner och interoperabilitet mellan system. En awk
funktion som körs (AWK är ett språk, awk
ett kommando att kalla det) är avgörande för både UNIX-standardspecifikationen och IEEE POSIX-certifieringen när det gäller interoperabilitet. Det finns otaliga varianter av awk
, men ”One True AWK”, ibland känd som nawk
, är en version baserad på Kernighans bok 1985 The AWK Programming Language och dess efterföljande input.
Kernighan är också ”K” i ”K&R C”, den framstående boken The C Programming Language från 1978 som han skrev tillsammans med Dennis Ritchie, som finns kvar hos programmerare, mentalt och i misshandlad pappersform. Xis rötter går mycket djupare. Kernighan utbildade C på Bell Labs och övertygade dess skapare Dennis Ritchie att samarbeta i en bok för att sprida kunskap. Den här boken skapade ”den enda sanna brace-stilen”, den ändlösa debatten som följer med den, och strukturen som ligger till grund för varje modernt programmeringsspråk.
Kernighan döpte också till Unix och var den första att demonstrera kodexemplet ”Hello, world”. Han pratade med Richard Jensen från Ars Technica om 50 år av Unix-historia.
Onetrueawk-förvaret, där Kernighan dök upp i slutet av maj, är en relativt lugn plats med 21 bidragsgivare, 46 GitHub-användare som tittar på och åtar sig att dyka upp med några månaders mellanrum. Som noterats av The Register blev Kernighans Unicode-fix känd främst för att den nämndes i en intervju med professorn på Computerphiles YouTube-kanal .
”Det har alltid varit pinsamt att AWK bara fungerar med ASCII, eller kanske 8-bitars indata, men egentligen inte hanterar Unicode alls,” sa Kernighan till intervjuaren Professor Balesford. ”För några månader sedan tillbringade jag en del tid (skratt) med ett otroligt gammalt program. Jag har den för tillfället där den faktiskt hanterar UTF-8-inmatning och -utgång, så att du kan ha reguljära uttryck som, du vet, plockar upp japanska tecken och sånt.”
Kernighan, nu 80, nämner nonchalant i en intervju att han också fixade något ”snabbt och smutsigt” för att tillåta AWK att bearbeta CSV-filer.
Lämna ett svar