不欠我們任何東西的 Unix 傳奇繼續修復底層 AWK 代碼
普林斯頓大學的一位教授在暑假的學術間歇中為自己找了一些時間,幾個月前給一位老朋友發了一封電子郵件。Brian Kernighan 打了個招呼,詢問他們的美國之行進展如何,並發送了數百行代碼,這些代碼可以為 AWK 添加 Unicode 支持,AWK 是他於 1977 年幫助貝爾實驗室為 Unix 構建的文本分析工具。
“我對此進行了相當多的測試,但顯然還需要更多的測試,”Kernighan 在一封由長期維護者 Arnold Robbins 發布的電子郵件中寫道,該電子郵件是對 onetrueawk 存儲庫的一種偽提交。“一旦我弄清楚如何……我將嘗試提交拉取請求。我希望我能更好地理解 git,但儘管有你的幫助,我仍然沒有正確的理解,所以可能需要一段時間。”
Kernighan 是AWK中的“K” ,AWK 是一種特殊用途的提取和控制語言,對於 Unix 管道功能和系統之間的互操作性至關重要。就互操作性而言,運行awk
功能(AWK 是一種語言,awk
是調用它的命令)對於 UNIX 標準規範和 IEEE POSIX 認證都至關重要。的版本有無數種awk
,但“One True AWK”(有時稱為nawk
)是基於 Kernighan 1985 年的書《AWK 編程語言》及其後續輸入的版本。
Kernighan 也是《K&R C》中的“K”,這是他與 Dennis Ritchie 共同撰寫的 1978 年開創性著作《C 編程語言》,至今仍以破舊的紙質形式留在程序員的腦海中。習近平的根源更為深厚。Kernighan 在貝爾實驗室訓練了 C,並說服其創建者 Dennis Ritchie 合作編寫了一本書來傳播知識。這本書催生了“唯一真正的大括號樣式”、隨之而來的無休止的爭論以及支撐每種現代編程語言的結構。
Kernighan 也將 Unix 命名為 Unix,並且是第一個演示“Hello, world”代碼示例的人。他與 Ars Technica 的 Richard Jensen 談論了 Unix 50 年的歷史。
Kernighan 於 5 月底出現的 onetrueawk 存儲庫是一個相對安靜的地方,有 21 名貢獻者、46 名 GitHub 用戶正在觀看,並且每隔幾個月就會出現一次提交。正如The Register所指出的,Kernighan 的 Unicode 修復之所以廣為人知,主要是因為在Computerphile 的 YouTube 頻道上接受教授採訪時提到了它。
“令人尷尬的是,AWK 只能處理 ASCII 或 8 位輸入,但根本不能處理 Unicode,”Kernighan 告訴採訪者 Balesford 教授。“幾個月前,我花了一些時間(笑)研究一個非常舊的程序。我現在擁有它,它實際上可以處理 UTF-8 輸入和輸出,因此您可以使用正則表達式來獲取日語字符和其他內容。”
現年 80 歲的 Kernighan 在一次採訪中偶然提到,他還修復了一些“快速而骯髒”的問題,以允許 AWK 處理 CSV 文件。
發佈留言