欧美成人黄色小视频,国产人妖乱国产精品人妖,国产性天天综合网,台湾佬中文娱乐久久久

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

前沿科技 3年前 (2022) 虛像
4 0 0

今天,"Linux 三劍客 " 中一個非常古老的工具突然登上了GitHub 今日熱榜

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

——這竟是因為80 歲的原作者更新了。

是的你沒聽錯,有人都 80 歲了還在改代碼!

這位大神,就是加拿大計算機科學家——布萊恩 · 柯林漢(Brian Kernighan)。

與比爾蓋茨、Java 之父、Python 之父等大佬齊名的他,開創的 "Hello World" 范式讓每一位學編程的同學刻煙吸肺:

不管你學的什么語言,第一個程序就是學會輸出它。

printf ( "Hello World!n" ) ;

cout << "Hello World!n";

print "Hello World!"

……

此外,C 語言的第一本編程著作,作者之一有他;Unix 系統的早期開發人員、AWK(Linux 及 Unix 中的文本數據處理工具)的共同創造者名單中,他也赫然在列。

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

如今老爺子已經滿頭白發,還活躍在 " 一線 " ——

今年 5 月,AWK 的 GitHub 倉庫中,老爺子提交了新的 pull request,給 AWK 添加了一直沒法做到的 Unicode 支持。

對此,網友的態度是這樣的:

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

是什么讓這位大佬常年保持編程熱情的呢?

免試進入貝爾實驗室

事情還得從柯林漢的大學時代說起。

柯林漢于 1942 年出生于加拿大,本科就讀于多倫多大學工程物理學。

他形容這是一個給那些自己也不知道想學什么的人準備的 " 大雜燴 " 專業,但很幸運,剛上大一他就對編程開始感興趣,學起了 Fortran 語言。

當時,計算機的發展還處于初期。他直到大三才見到全校唯一的一臺晶體管計算機:IBM 7094。

由于太貴(時值 300 萬美元),學生們并沒有機會碰到它。

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

由此可見彼時工具的稀缺,所以正在學編程的柯林漢也就只是拜讀了丹尼爾 · 麥克拉肯的大作,獲得了 " 頗豐 " 的理論知識,實際并沒有真正上手寫過一行代碼

大一暑假,不知道他如何在一家石油公司找了個實習,任務是用 COBOL 語言給精煉廠開發優化軟件。

鑒于這個語言他不熟,也沒有編程經驗,所以最后也沒寫出個像樣的程序來。

雖然受了一點小挫折,但他對編程的熱情并沒有退卻,回到學校繼續研究。

大四畢業后,柯林漢決定繼續深造,并拿到了 MIT 和普林斯頓大學的 offer。

由于去 MIT 要 7 年才能完成博士學業,且每周需做 30 小時的研究助理工作,而普林斯頓只要 3 年且提供全額獎學金,再加上柯林漢的好友就在普林斯頓,他毫不猶豫地選了后者。

在普林斯頓大學,柯林漢讀的是電子工程專業,因為當時同樣還沒有專門的計算機系。

這完全沒妨礙他前進。

讀博期間,他先是得到了 MIT 的實習機會,有幸在后來的圖靈獎得主費爾南多 · 科巴托(Fernando Corbat ó)門下干活,給一種叫作 Multics 的分時操作系統項目寫代碼。

轉年夏天,他又得到了貝爾實驗室的實習機會,在那里寫匯編語言。

為了方便在 Fortran 程序中做列表處理,他還寫出了一套函數庫,他形容這份工作 " 十分過癮 "。

轉眼到了博士畢業,柯林漢被直接留校任教,并在沒有進行面試和研究成果展示的情況下,成為了貝爾實驗室的正式成員,足以見其優秀。

而他和 Unix 的淵源也就此展開。

Unix 命名人

我們現在的大部分服務器、手機系統和物聯網系統的底層基本都是基于 Unix。

而三大系統之一的 Linux 也是一種類 Unix 系統,可以說,Unix 是現代操作系統的源頭之一。

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

說起來比較意外,這么一個重要的操作系統,其初代版本被后來的圖靈獎得主 Ken Thompson 僅花 3 周的時間就搞定了。

當時的 Unix 還叫 UNICS (Uniplexed Information and Computing System),后來被柯林漢改成了現在的名字。

Unix 中有一個核心工具,叫做 AWK,柯林漢就是其發明者之一(名稱中的 "K" 正是代表他)。

AWK 作為一種文本處理語言,只做過濾和轉換文本行這一件事,卻成為 Unix/Linux 平臺上現有功能最強大的數據處理引擎之一。

在 Linux 系統中,它和 grep、sed 命令并稱為 " 三劍客 ",并占據 " 老大 " 席位,掌握了它,處理日常操作可以 6 到飛起。

如今,AWK 已經分化出三個版本,依然受到人們的歡迎,誕生 45 年仍未 " 退休 "。

除了 AWK,柯林漢還發明了 AMPL,一種描述并求解大規模復雜數學問題的建模語言,支持世界上大部分的求解器。

還有編譯器 Ratfor、文檔編制預處理器 Pic、Grap 和數學排版語言 Eqn 等這些重要研究成果背后都有他的身影。

除了寫代碼,柯林漢還很愛寫書,且誕生了不少經典之作。

比如你想了解 Unix 的歷史,就可以看《Unix 傳奇》,作為參與者和見證人之一,他寫的這本書可以讓沒有足夠專業技術背景的人也能欣賞 Unix 的思想。

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

《Unix 傳奇》

而文章開頭所說的 "Hello World" 范式,則是出自于他與 C 語言之父丹尼斯 · 里奇(Dennis Ritchie)合寫的開山之作《C 程序設計語言》。

再比如柯林漢的第一本著作《The Elements of Programming Style》(《編程格調》),則留下了一個以他名字命名的定律——柯林漢定律,即:

調試一段代碼的難度是編寫它們的兩倍。按照這個定義,如果你的代碼寫得非常巧妙,那你可能沒有足夠的能力來調試它。

(相比于復雜代碼,簡單的代碼更可取。因為調試復雜代碼的過程中,任何問題都會十分棘手,甚至無法解決。)

解決問題靠拖延?

那么,柯林漢本身是個什么性格的人呢?

2021 年他接受《程序員》采訪時,曾被問了這么一個問題:

肯(Ken)用 3 周創造了 Unix,道格(Doug)在幾天內就提出了 " 管道(pipe)" 的想法,你們工作效率這么高,有什么訣竅嗎?

(以上兩人都是他在貝爾實驗室的同事)

對此,柯林漢連連擺手:

他們是" 別人家的程序員 ",我可從沒這么高效過!

老爺子說了,遇到新問題,他的解決方案通常簡單粗暴,那就是盡可能地拖延,以及祈禱問題消失,或者祈禱問題自己解決自己

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

這個玄學辦法本身是不能解決問題的,但這樣做,柯林漢有足夠時間消化問題,然后想出對策。

而且,他其實會選擇直接動手搞定問題。

今年 1 月 1 日,柯林漢剛好過 80 歲生日。

上個月,油管頻道 Computerphile 對他進行了采訪,大伙兒才知道,老爺子還在改代碼

柯林漢說,沒有任何一種計算機語言或工具是萬能的,AWK 也不例外。

此前,AWK 只適用于 ASCII 或 8 位輸入,不能處理 Unicode(統一碼)。

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

圖源 Youtube 頻道 Computerphile 視頻

幾個月前,柯林漢花了點時間,折騰了一下 AWK ——他稱它是 " 一個非常古老的程序 " ——現在 AWK 可以處理 UTF-8 輸入和輸出了。

現在,用戶已經能用正則表達式提取日語字符以及類似的東西。

視頻中柯林漢還順口提了一嘴,他修補了一些 " 又快又臟 " 的東西,讓 AWK 可以處理 CSV 文件。

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

圖源 Youtube 頻道 Computerphile 視頻

整個采訪過程,老爺子依然健談,精神面貌也不賴。

話說回來,精力充沛的他,對幾十歲的 " 古老程序 " 改改改,還有啥原因呢?

柯林漢的回答是這樣的:

今天的計算環境,和三、四十年前非常不同,內存量也大大擴充了," 這會改變你對 AWK 的思考方式,尤其是 AWK 運行不起來的部分 "。

所以,老爺子一直偷偷在后臺玩兒新版本的 AWK,目的是盡可能做拓展,讓 AWK更容易實踐和使用

這其實是柯林漢一以貫之的行事準則,此前,他就在播客 CoRecursive 中表示過:

如果做些能對自己有幫助,又對他人工作有所改善的事,何樂而不為呢?

有意思的是,世界上沒有萬能工具,也沒有萬能通才。老爺子自己就承認說,他的 bug 是還沒完全搞懂 Git 怎么用

所以他只能通過電子郵件,把更改發送給當前的維護人員。

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

圖源柯林漢的郵件網友:Hacker 永不退休

80 歲高齡還要修改幾十年前寫下的代碼,這位程序員屆卷王的故事再次引起了網友關注。

自面世起,AWK 就廣受歡迎。看到 AWK 在今天依然能得到完善,變得更強,不少人對老爺子的敲代碼熱情表示 respect。

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖
80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

有的網友表示了對老爺子的感激。

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

還有人覺得,為改善程序員寫代碼的環境不斷付出,是一件很鼓舞人心的事情。

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

當然少不了玩梗的人。

Hacker 永不退休!

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

One More Thing

最后,讓我們回到 "Hello, world"。

這句 " 萬物開頭 " 其實最早是在柯林漢 1974 年撰寫的《Programming in C: A Tutorial》中首次出現,后來才被合寫進那本經典之作。

80歲還嗖嗖改代碼!他是Unix命名人,發明“Hello World”,他說解決問題全靠拖

該書中兩位作者形成的寫代碼風格,也被稱為K&R 風格(K&R 即指柯林漢 Kernighan 和里奇 Ritchie)。

有意思的是,柯林漢表示這本書是自己強行拉著丹尼斯寫的。

至于為什么選擇用 "Hello, world" 而不是別的,柯林漢自己都記不清了。

在接受福布斯雜志訪談時,他模模糊糊回憶:

可能是因為看了個動畫片,里面有一個雞蛋和一只小雞,小雞說了句:Hello,World!

原文地址:http://www.myzaker.com/article/63086095b15ec019fc1195cc

相關文章

主站蜘蛛池模板: 精河县| 德保县| 横山县| 乌兰浩特市| 河东区| 新巴尔虎左旗| 资阳市| 翁牛特旗| 凌云县| 隆安县| 惠州市| 惠安县| 壶关县| 佛冈县| 延吉市| 松江区| 永胜县| 新绛县| 乐业县| 庆城县| 凌海市| 青海省| 霍邱县| 封开县| 鄂州市| 舟曲县| 报价| 肇州县| 瑞金市| 浏阳市| 拉萨市| 大名县| 阿克苏市| 凤城市| 和平区| 郸城县| 锡林浩特市| 两当县| 察哈| 东乌| 都江堰市|