国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

日本程序員的技術(shù)品位真的很好嗎?

0
分享至

2005年4月7日,“閉關(guān)”一周的Linus上傳了一個(gè)不起眼的小工具。

在注釋中,Linus把它稱為“the information manager from hell”。

它就是Git 0.0.1,此時(shí)只有不到1000行的C代碼:

這些代碼被編譯成7個(gè)單獨(dú)的可執(zhí)行命令:init-db、update-cache、show-diff、write-tree、read-tree、commit-tree、cat-file

現(xiàn)在看看這些命令,你可能會(huì)好奇,這是那個(gè)名揚(yáng)天下的Git嗎?

clone命令在哪兒?add命令在哪兒?

在軟件工程中,有個(gè)叫做“管道和瓷器”的比喻,管道指的是底層基礎(chǔ)設(shè)施,低級(jí)的API,通常比較原始,不美觀。

瓷器表示高級(jí)功能,友好的界面,例如如洗手池,用戶直接使用它,不用看到管道里復(fù)雜的水流。

此時(shí)的Git0.0.1就是典型的“管道”,使用起來(lái)非常麻煩。

但是Linus在開源界影響力無(wú)與倫比,他一發(fā)布Git,就立刻引發(fā)了熱烈的討論。

尤其是那些想?yún)⑴c開源,想在開源中留名的年輕人,其中一位就是日本人濱野純(Junio Hamano)

0 1

濱野純從東京大學(xué)畢業(yè)后進(jìn)入了Twin Sun公司,這家美國(guó)外企是個(gè)“神仙”公司,竟然采取遠(yuǎn)程優(yōu)先的工作模式。

后來(lái)公司在洛杉磯有個(gè)小項(xiàng)目,濱野純被派去了美國(guó),在這里他遇到了一位導(dǎo)師Paul Eggert。

Paul是開源領(lǐng)域的著名人物,時(shí)間區(qū)數(shù)據(jù)庫(kù)(TZDB)維護(hù)者,GNU項(xiàng)目的長(zhǎng)期貢獻(xiàn)者,在他的影響下,濱野純走上了開源和自由軟件的道路。

就是在這個(gè)時(shí)候,濱野純看到Linus公布了Git,他立刻就下載了源代碼,不到一千行代碼!花兩個(gè)小時(shí)就看完了!

這對(duì)于那些想?yún)⑴c開源的人,真是一個(gè)幸福的時(shí)刻。

因?yàn)楹芏嚅_源軟件成名以后,規(guī)模非常龐大,想把代碼讀一遍都很難,要參與進(jìn)去做貢獻(xiàn)非常麻煩,只能從提個(gè)issue,fix個(gè)Bug開始。

但是Git不同,初始版本就在眼前,1000行代碼,了無(wú)秘密,何況還是自己的偶像Linus寫的,設(shè)計(jì)簡(jiǎn)潔,代碼清晰。

此時(shí)不加入,更待何時(shí)?

當(dāng)然,事情都有兩面性,越是開源項(xiàng)目的早期,對(duì)人的要求就越高。

比如Linus在郵件列表中提了一個(gè)需求:用腳本語(yǔ)言實(shí)現(xiàn)Merge功能(沒錯(cuò),Git0.0.1還沒有實(shí)現(xiàn)merge)。

可是幾天過去了,沒人響應(yīng)。

濱野純出手了,他用Perl寫了一個(gè)Merge實(shí)現(xiàn),發(fā)到了郵件列表。

Linus看到后很興奮:這正是我想要的..... 于是兩人就在郵件列表中不斷地討論,修改代碼,最終找到了一個(gè)優(yōu)雅的方案來(lái)實(shí)現(xiàn)Merge。

和自己的偶像一起工作,開發(fā)開源軟件,這種感覺肯定是無(wú)與倫比的。

濱野純?cè)赥win Sun公司有自己的日常工作,剛開始的時(shí)候,他主要在早上上班之前,以及下班之后和周末來(lái)進(jìn)行Git相關(guān)的開發(fā),后來(lái)他發(fā)現(xiàn)自己的辦公室隔間沒人能偷看,在白天也可以“偷摸”著干點(diǎn)兒Git的活兒。

(其實(shí)濱野純的公司Twin Sun也很開明,后來(lái)NEC一起贊助濱野純用20%的工作時(shí)間,兼職開發(fā)Git。)

濱野純對(duì)Git的貢獻(xiàn)越來(lái)越多,他逐漸贏得了Linus和整個(gè)社區(qū)的信任,僅僅三個(gè)月以后,Linus就宣布將Git維護(hù)者移交給濱野純。

這個(gè)過程看起來(lái)一帆風(fēng)順,似乎只要你用心投入時(shí)間開發(fā)就可以,實(shí)際上并不是這樣的。

當(dāng)時(shí)有很多優(yōu)秀的程序員在參與開發(fā),不少還是從Linux內(nèi)核社區(qū)過來(lái)的。

對(duì)同一個(gè)功能,可能有多個(gè)競(jìng)爭(zhēng)者同時(shí)在設(shè)計(jì)和開發(fā),濱野純的設(shè)計(jì)要精良,代碼要漂亮。

開發(fā)速度不但要快,還得能很好地給競(jìng)爭(zhēng)者展示出來(lái),說服別人。

所以,開發(fā)的過程就像一場(chǎng)混亂的競(jìng)爭(zhēng),濱野純能勝出,關(guān)鍵的原因就是Linus所說的:

“有明顯的、非常重要但難以具體描述的‘好品位’”

“這樣的人雖然稀有,但你一眼就能認(rèn)出來(lái)。我覺得自己最大的成功之一,其實(shí)發(fā)生在 Linux 之外:那就是我找到了濱野純來(lái)維護(hù)Git項(xiàng)目。”

濱野純也沒有辜負(fù)Linus的信任,成為維護(hù)者后,一干就是20年,帶領(lǐng)Git成為世界上最流行的版本控制軟件。

那什么是“好品位”呢? 我覺得至少有兩點(diǎn):

1.能分辨什么是好設(shè)計(jì),什么是壞設(shè)計(jì)

2.懂得取舍和簡(jiǎn)潔

比如Git,核心的數(shù)據(jù)結(jié)構(gòu)只有四種:Blob、Tree、Commit、Tag。

這四者加上哈希引用,居然就能表達(dá)整個(gè)歷史樹!

設(shè)計(jì)極度簡(jiǎn)潔,但威力無(wú)窮。

這和 UNIX 哲學(xué)一樣,少而精,組合強(qiáng)大。

0 2

Linus夸濱野純技術(shù)品位好,不由得讓我想起另外一位更加知名的日本程序員:松本行弘。

松本行弘是Ruby之父,在設(shè)計(jì)Ruby的過程中展示了極佳的技術(shù)品位。

1. 平衡“靈活”與“可控”

Ruby以動(dòng)態(tài)性和元編程能力著稱,但松本行弘在設(shè)計(jì)中刻意規(guī)避了某些過度自由的特性(如Lisp風(fēng)格的宏),以避免代碼可讀性崩潰。

他很克制,拒絕完全開放語(yǔ)法,但提供了attr_accessor等元編程工具,這就讓Ruby代碼既靈活,又不會(huì)因過度自由而失控。

2. 面向?qū)ο蟮募兇庑耘c實(shí)用性

Ruby將Smalltalk的面向?qū)ο笏枷胪葡驑O致,同時(shí)解決實(shí)際痛點(diǎn):

一切皆對(duì)象:包括基本類型(如1.class #=> Integer),實(shí)現(xiàn)概念一致性。

Mix-in優(yōu)于多重繼承:通過module實(shí)現(xiàn)功能組合,避免C++多重繼承的復(fù)雜性。

3. 函數(shù)式特性的優(yōu)雅融合

Ruby并非函數(shù)式語(yǔ)言,但巧妙吸收了高階函數(shù)和閉包:

代碼塊(Block):

- 受Lisp啟發(fā),但通過do...end/{}語(yǔ)法更符合命令式語(yǔ)言習(xí)慣。

- 實(shí)現(xiàn)迭代器(如each)和回調(diào)(如File.open的自動(dòng)資源釋放)。

鏈?zhǔn)綌?shù)據(jù)流:map/select/reduce組合操作時(shí),代碼如自然語(yǔ)言般流暢。

所以使用Ruby編程,給人的感覺特別舒服,代碼非常優(yōu)雅,后來(lái)也隨著Ruby on Rails的東風(fēng)而大爆。

松本行弘后來(lái)曾嘗試設(shè)計(jì)一種基于流模型的并發(fā)編程語(yǔ)言,名為 Streem,旨在將數(shù)據(jù)流編程的理念引入更廣泛的應(yīng)用場(chǎng)景,其核心思想是通過管道連接多個(gè)任務(wù),實(shí)現(xiàn)數(shù)據(jù)的流動(dòng)與轉(zhuǎn)換。

比如這個(gè)例子:生成 1 到 100 的序列,每個(gè)數(shù)乘以 2 后輸出。

seq(100) | map { x -> x * 2 } | stdout

還有這個(gè):Streem 自動(dòng)將任務(wù)分配到多線程,無(wú)需手動(dòng)管理:

fread("large_file.txt") | map { line -> process(line) } | fwrite("output.txt")

都是把流式編程變得像寫shell腳本一樣簡(jiǎn)單。

0 3

濱野純和松本行弘技術(shù)品位極佳,但是他們并不能代表日本程序員,我搜了一下,發(fā)現(xiàn)起源于日本/日本程序員主導(dǎo)的知名開源軟件并不多,遠(yuǎn)遠(yuǎn)比不上中國(guó),有知道日本開源軟件詳情的朋友歡迎告知。

不管如何,我們都能看到技術(shù)品位的巨大力量,對(duì)好設(shè)計(jì)的追求,對(duì)簡(jiǎn)潔的追求,會(huì)讓軟件具備長(zhǎng)久的生命力,而這一點(diǎn),是人工智能很難做到的。

無(wú)論你是程序員,還是未來(lái)的軟件架構(gòu)師,學(xué)會(huì)欣賞并培養(yǎng)這種“好品位”,才是走向卓越的必經(jīng)之路。

Git 0.0.1 下載:https://www.kernel.org/pub/software/scm/git/

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
神壇徹底崩塌!李莉被中情局盯上的謊言,該徹底戳穿了

神壇徹底崩塌!李莉被中情局盯上的謊言,該徹底戳穿了

老馬拉車莫少裝
2026-03-01 17:23:52
我爸的警衛(wèi)員當(dāng)上市長(zhǎng),我敬酒喊了聲李哥,他冷臉讓我叫主席

我爸的警衛(wèi)員當(dāng)上市長(zhǎng),我敬酒喊了聲李哥,他冷臉讓我叫主席

曉艾故事匯
2026-02-27 14:09:17
新鄉(xiāng)一對(duì)夫妻上一秒在聊天,下一秒丈夫身體不適去世,逝者兒子:父親63歲,突發(fā)心梗

新鄉(xiāng)一對(duì)夫妻上一秒在聊天,下一秒丈夫身體不適去世,逝者兒子:父親63歲,突發(fā)心梗

瀟湘晨報(bào)
2026-03-04 16:33:11
你有知道哪些炸裂的秘密?網(wǎng)友:我有個(gè)秘密說出來(lái)肯定大家要笑死

你有知道哪些炸裂的秘密?網(wǎng)友:我有個(gè)秘密說出來(lái)肯定大家要笑死

帶你感受人間冷暖
2026-01-29 00:10:05
美國(guó):美軍保障海上航行自由,伊朗已撤出阿曼灣的所有艦船

美國(guó):美軍保障海上航行自由,伊朗已撤出阿曼灣的所有艦船

一種觀點(diǎn)
2026-03-03 10:08:46
日本“撞人族”事件多發(fā),我駐日本大使館提醒

日本“撞人族”事件多發(fā),我駐日本大使館提醒

中國(guó)日?qǐng)?bào)
2026-03-04 16:39:30
以襲擊伊最高領(lǐng)袖選舉會(huì)場(chǎng),戰(zhàn)事向中東多國(guó)外溢,最新動(dòng)態(tài)→

以襲擊伊最高領(lǐng)袖選舉會(huì)場(chǎng),戰(zhàn)事向中東多國(guó)外溢,最新動(dòng)態(tài)→

極目新聞
2026-03-04 08:06:30
哈梅內(nèi)伊次子,要接班了?

哈梅內(nèi)伊次子,要接班了?

中國(guó)新聞周刊
2026-03-04 11:08:23
獨(dú)家|阿里千問大模型核心掌舵者宣布離職,高層出面挽留

獨(dú)家|阿里千問大模型核心掌舵者宣布離職,高層出面挽留

鳳凰網(wǎng)科技
2026-03-04 14:37:17
大事不好,黃金崩了!

大事不好,黃金崩了!

君臨財(cái)富
2026-03-04 10:01:08
不到24小時(shí),以外長(zhǎng)致電王毅,主動(dòng)對(duì)華承諾,以色列想找好退路

不到24小時(shí),以外長(zhǎng)致電王毅,主動(dòng)對(duì)華承諾,以色列想找好退路

軍機(jī)Talk
2026-03-04 18:37:48
72歲大爺斑塊消失,他把血管變干凈的三個(gè)方法,連醫(yī)生也贊嘆

72歲大爺斑塊消失,他把血管變干凈的三個(gè)方法,連醫(yī)生也贊嘆

荊醫(yī)生科普
2026-03-03 16:40:19
人前光鮮人后心酸!央媒揭開周深"真實(shí)處境",真讓韓紅預(yù)判了

人前光鮮人后心酸!央媒揭開周深"真實(shí)處境",真讓韓紅預(yù)判了

小熊侃史
2026-03-04 14:06:05
10萬(wàn)南極夢(mèng)碎在行李轉(zhuǎn)盤前:14天衣物全靠借,三個(gè)訴求無(wú)一滿足

10萬(wàn)南極夢(mèng)碎在行李轉(zhuǎn)盤前:14天衣物全靠借,三個(gè)訴求無(wú)一滿足

Riley的財(cái)商圈
2026-03-04 13:42:02
國(guó)補(bǔ)后三千多!蘋果多巴胺 MacBook Neo 來(lái)了!沒有劉海

國(guó)補(bǔ)后三千多!蘋果多巴胺 MacBook Neo 來(lái)了!沒有劉海

愛范兒
2026-03-04 23:25:11
中國(guó)三大長(zhǎng)壽食物,魚只能排到第三,第一名很多人想不到!

中國(guó)三大長(zhǎng)壽食物,魚只能排到第三,第一名很多人想不到!

江江食研社
2026-02-12 12:30:10
A股:剛剛,兩個(gè)大消息傳來(lái),釋放一信號(hào),一方向或迎來(lái)主升浪

A股:剛剛,兩個(gè)大消息傳來(lái),釋放一信號(hào),一方向或迎來(lái)主升浪

云鵬敘事
2026-03-05 00:00:07
不到4600元!蘋果推出最平價(jià)筆記本MacBook Neo,首次以iPhone芯片殺入低端PC市場(chǎng)

不到4600元!蘋果推出最平價(jià)筆記本MacBook Neo,首次以iPhone芯片殺入低端PC市場(chǎng)

華爾街見聞官方
2026-03-05 01:55:17
為啥外國(guó)的火腿能直接生吃,我國(guó)的火腿卻建議做熟再吃?這科學(xué)嗎

為啥外國(guó)的火腿能直接生吃,我國(guó)的火腿卻建議做熟再吃?這科學(xué)嗎

向航說
2026-03-03 00:55:03
林肯號(hào)航母可能真的被擊中了!

林肯號(hào)航母可能真的被擊中了!

煮酒雜談
2026-03-03 22:08:59
2026-03-05 05:52:49
碼農(nóng)翻身 incentive-icons
碼農(nóng)翻身
有趣且硬核的技術(shù)文章
231文章數(shù) 631關(guān)注度
往期回顧 全部

科技要聞

多位核心離職,阿里親手廢掉最強(qiáng)AI天團(tuán)?

頭條要聞

外媒稱伊朗封鎖霍爾木茲海峽只讓中俄船通行 中方回應(yīng)

頭條要聞

外媒稱伊朗封鎖霍爾木茲海峽只讓中俄船通行 中方回應(yīng)

體育要聞

2026年中超,為什么值得你多看一眼?

娛樂要聞

謝謝謝娜 貢獻(xiàn)出26年內(nèi)娛的第一個(gè)笑話

財(cái)經(jīng)要聞

人大代表建議:將農(nóng)民養(yǎng)老金提到500元

汽車要聞

鴻蒙智行首款獵裝車 尚界Z7/Z7T首發(fā)

態(tài)度原創(chuàng)

數(shù)碼
健康
房產(chǎn)
教育
公開課

數(shù)碼要聞

庫(kù)克秀刀法 蘋果MacBook Neo搭載殘血版A18 Pro:砍掉一個(gè)GPU核心

轉(zhuǎn)頭就暈的耳石癥,能開車上班嗎?

房產(chǎn)要聞

400組,30套!聚億·椰海錦程為何能在春節(jié)火出圈?

教育要聞

31省市區(qū)高校數(shù)量排名,河南第一

公開課

李玫瑾:為什么性格比能力更重要?

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版