自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ESR黑客年暮:給年輕黑客和其他有志青年的建議

開發(fā)
我不確定我的職業(yè)生涯會(huì)不會(huì)完美收?qǐng)?。假如我最后成功避免了思維僵化(注意我說的是假如),我想我一定知道其中的部分原因,但我不確定這種模式是否可以被復(fù)制 —— 為了達(dá)成目的也許得在你的頭腦中發(fā)生一些復(fù)雜的化學(xué)反應(yīng)。盡管如此,無論對(duì)錯(cuò),請(qǐng)聽聽我給年輕黑客以及其他有志青年的建議。

[[126142]]

近來我一直在與某資深開源開發(fā)團(tuán)隊(duì)中的多個(gè)成員纏斗,盡管密切關(guān)注我的人們會(huì)在讀完本文后猜到是哪個(gè)組織,但我不會(huì)在這里說出這個(gè)組織的名字。

怎么讓某些人進(jìn)入 21 世紀(jì)就這么難呢?真是的...

我快 56 歲了,也就是大部分年輕人會(huì)以為的我將時(shí)不時(shí)朝他們發(fā)出諸如“滾出我的草坪”之類歇斯底里咆哮的年齡。但事實(shí)并非如此 —— 我發(fā)現(xiàn),尤其是在技術(shù)背景之下,我變得與我的年齡非常不相稱。

在我這個(gè)年齡的大部分人確實(shí)變成了愛發(fā)牢騷、墨守成規(guī)的老頑固。并且,尷尬的是,偶爾我會(huì)成為那個(gè)打斷談話的人,我會(huì)指出他們某個(gè)在 1995 年(或者在某些特殊情況下,1985 年)時(shí)很適合的方法... 幾十年后的今天就不再是好方法了。

為什么是我?因?yàn)槟贻p人在我的同齡人中很難有什么說服力。如果有人想讓那幫老頭改變主意,首先他得是自己同齡人中具有較高思想覺悟的佼佼者。即便如此,在與習(xí)慣做斗爭(zhēng)的過程中,我也比看起來花費(fèi)了更多的時(shí)間。

年輕人犯下無知的錯(cuò)誤是可以被原諒的。他們還年輕。年輕意味著缺乏經(jīng)驗(yàn),缺乏經(jīng)驗(yàn)通常會(huì)導(dǎo)致片面的判斷。我很難原諒那些經(jīng)歷了足夠多本該有經(jīng)驗(yàn)的人,卻被長(zhǎng)期的固化思維蒙蔽,無法發(fā)覺近在咫尺的東西。

(補(bǔ)充一下:我真的不是保守黨擁護(hù)者。那些和我爭(zhēng)論政治的,無論保守黨還是非保守黨都沒有注意到這點(diǎn),我覺得這頗有點(diǎn)嘲諷的意味。)

那么,現(xiàn)在我們來討論下 GNU 更新日志文件(ChangeLog)這件事。在 1985 年的時(shí)候,這是一個(gè)不錯(cuò)的主意,甚至可以說是必須的。當(dāng)時(shí)的想法是用單獨(dú)的更新日志條目來記錄多個(gè)相關(guān)文件的變更情況。用這種方式來對(duì)那些存在版本缺失或者非常原始的版本進(jìn)行版本控制確實(shí)不錯(cuò)。當(dāng)時(shí)我也在場(chǎng),所以我知道這些。

不過即使到了 1995 年,甚至 21 世紀(jì)早期,許多版本控制系統(tǒng)仍然沒有太大改進(jìn)。也就是說,這些版本控制系統(tǒng)并非對(duì)批量文件的變化進(jìn)行分組再保存到一條記錄上,而是對(duì)每個(gè)變化的文件分別進(jìn)行記錄并保存到不同的地方。CVS,當(dāng)時(shí)被廣泛使用的版本控制系統(tǒng),僅僅是模擬日志變更 —— 并且在這方面表現(xiàn)得很糟糕,導(dǎo)致大多數(shù)人不再依賴這個(gè)功能。即便如此,更新日志文件的出現(xiàn)依然是必要的。

但隨后,版本控制系統(tǒng) Subversion 于 2003 年發(fā)布 beta 版,并于 2004 年發(fā)布 1.0 正式版,Subversion 真正實(shí)現(xiàn)了更新日志記錄功能,得到了人們的廣泛認(rèn)可。它與一年后興起的分布式版本控制系統(tǒng)(Distributed Version Control System,DVCS)共同引發(fā)了主流世界的激烈爭(zhēng)論。因?yàn)槿绻阍陧?xiàng)目上同時(shí)使用了分布式版本控制與更新日志文件記錄的功能,它們將會(huì)因?yàn)闋?zhēng)奪相同元數(shù)據(jù)的控制權(quán)而產(chǎn)生不可預(yù)料的沖突。

有幾種不同的方法可以折衷解決這個(gè)問題。一種是繼續(xù)將更新日志作為代碼變更的授權(quán)記錄。這樣一來,你基本上只能得到簡(jiǎn)陋的、形式上的提交評(píng)論數(shù)據(jù)。

另一種方法是對(duì)提交的評(píng)論日志進(jìn)行授權(quán)。如果你這樣做了,不久后你就會(huì)開始思忖為什么自己仍然對(duì)所有的日志更新條目進(jìn)行記錄。提交元數(shù)據(jù)與變化的代碼具有更好的相容性,畢竟這才是當(dāng)初設(shè)計(jì)它的目的。

(現(xiàn)在,試想有這樣一個(gè)項(xiàng)目,同樣本著把項(xiàng)目做得最好的想法,但兩撥人卻做出了完全不同的選擇。因此你必須同時(shí)閱讀更新日志和評(píng)論日志以了解到底發(fā)生了什么。最好在矛盾激化前把問題解決....)

第三種辦法是嘗試同時(shí)使用以上兩種方法 —— 在更新日志條目中,以稍微變化后的的格式復(fù)制一份評(píng)論數(shù)據(jù),將其作為評(píng)論提交的一部分。這會(huì)導(dǎo)致各種你意想不到的問題,最具代表性的就是它不符合“真理的單點(diǎn)性(single point of truth)”原理;只要其中有拷貝文件損壞,或者日志文件條目被修改,這就不再是同步時(shí)數(shù)據(jù)匹配的問題,它將導(dǎo)致在其后參與進(jìn)來的人試圖搞清人們是怎么想的時(shí)候變得非常困惑。(LCTT 譯注:《程序員修煉之道》(The Pragmatic Programmer):任何一個(gè)知識(shí)點(diǎn)在系統(tǒng)內(nèi)都應(yīng)當(dāng)有一個(gè)唯一、明確、權(quán)威的表述。根據(jù)Brian Kernighan的建議,把這個(gè)原則稱為“真理的單點(diǎn)性(Single Point of Truth)”或者SPOT原則。)

或者,正如這個(gè)我就不說出具體名字的特定項(xiàng)目所做的,它的高層開發(fā)人員在電子郵件中最近聲明說,提交可以包含多個(gè)更新日志條目,并且提交的元數(shù)據(jù)與更新日志是無關(guān)的。這導(dǎo)致我們直到現(xiàn)在還得不斷進(jìn)行記錄。

當(dāng)時(shí)我讀到郵件的時(shí)候都要吐了。什么樣的傻瓜才會(huì)意識(shí)不到這是自找麻煩 —— 事實(shí)上,在 DVCS 中針對(duì)可靠的提交日志有很好的瀏覽工具,圍繞更新日志文件的整個(gè)定制措施只會(huì)成為負(fù)擔(dān)和拖累。

唉,這是比較特殊的笨蛋:變老的并且思維僵化了的黑客。所有的合理化改革他都會(huì)極力反對(duì)。他所遵循的行事方法在幾十年前是有效的,但現(xiàn)在只能適得其反。如果你試圖向他解釋這些不僅僅和 git 的摘要信息有關(guān),同時(shí)還為了正確適應(yīng)當(dāng)前的工具集,以便實(shí)現(xiàn)更新日志的去條目化... 呵呵,那你就準(zhǔn)備好迎接無法忍受、無法想象的瘋狂對(duì)話吧。

的確,它成功激怒了我。這樣那樣的胡言亂語(yǔ)使這個(gè)項(xiàng)目變成了很難完成的工作。而且,同樣的糟糕還體現(xiàn)在他們吸引年輕開發(fā)者的過程中,我認(rèn)為這是真正的問題。相關(guān) Google+ 社區(qū)的人員數(shù)量已經(jīng)達(dá)到了 4 位數(shù),他們大部分都是孩子,還沒有成長(zhǎng)起來。顯然外界已經(jīng)接受了這樣的信息:這個(gè)項(xiàng)目的開發(fā)者都是部落中地位根深蒂固的崇高首領(lǐng),最好的崇拜方式就是遠(yuǎn)遠(yuǎn)的景仰著他們。

這件事給我的最大觸動(dòng)就是每當(dāng)我要和這些部落首領(lǐng)較量時(shí),我都會(huì)想:有一天我也會(huì)這樣嗎?或者更糟的是,我看到的只是如同鏡子一般對(duì)我自己的真實(shí)寫照,而我自己卻渾然不覺?我的意思是,我所得到的印象來自于他的網(wǎng)站,這個(gè)特殊的笨蛋要比我年輕。年輕至少 15 歲呢。

我總是認(rèn)為自己的思路很清晰。當(dāng)我和那些比我聰明的人打交道時(shí)我不會(huì)受挫,我只會(huì)因?yàn)槟切┧悸犯簧衔?、看不清事?shí)的人而沮喪。但這種自信也許只是鄧寧·克魯格效應(yīng)(Dunning-Krueger effect)在我身上的消極影響,我并不確定這意味著什么。很少有什么事情會(huì)讓我感到害怕;而這件事在讓我害怕的事情名單上是名列前茅的。

另一件讓人不安的事是當(dāng)我逐漸變老的時(shí)候,這樣的矛盾發(fā)生得越來越頻繁。不知怎的,我希望我的黑客同行們能以更加優(yōu)雅的姿態(tài)老去,即使身體老去也應(yīng)該保持一顆年輕的心靈。有些人確實(shí)是這樣;但可惜絕大多數(shù)人都不是。真令人悲哀。

我不確定我的職業(yè)生涯會(huì)不會(huì)完美收?qǐng)觥<偃缥易詈蟪晒Ρ苊饬怂季S僵化(注意我說的是假如),我想我一定知道其中的部分原因,但我不確定這種模式是否可以被復(fù)制 —— 為了達(dá)成目的也許得在你的頭腦中發(fā)生一些復(fù)雜的化學(xué)反應(yīng)。盡管如此,無論對(duì)錯(cuò),請(qǐng)聽聽我給年輕黑客以及其他有志青年的建議。

你們——對(duì)的,也包括你——一定無法在你中年老年的時(shí)候保持不錯(cuò)的心靈,除非你能很好的控制這點(diǎn)。你必須不斷地去磨練你的內(nèi)心、在你還年輕的時(shí)候完成自己的種種心愿,你必須把這些行為養(yǎng)成一種習(xí)慣直到你老去。

有種說法是中年人鍛煉身體的最佳時(shí)機(jī)是 30 歲以前。我以為同樣的方法,堅(jiān)持我以上所說的習(xí)慣能讓你在 56 歲,甚至 65 歲的時(shí)候仍然保持靈活的頭腦。挑戰(zhàn)你的極限,使不斷地挑戰(zhàn)自己成為一種習(xí)慣。立刻離開安樂窩,由此當(dāng)你以后真正需要它的時(shí)候你可以建立起自己的安樂窩。

你必須要清楚的了解這點(diǎn);還有一個(gè)可選擇的挑戰(zhàn)是你選擇一個(gè)可以實(shí)現(xiàn)的目標(biāo)并且為了這個(gè)目標(biāo)不斷努力。這個(gè)月我要學(xué)習(xí) Go 語(yǔ)言。不是指圍棋,我早就玩兒過了(雖然玩兒的不是太好)。并不是因?yàn)楣ぷ餍枰?,而是因?yàn)槲矣X得是時(shí)候來擴(kuò)展下我自己了。(LCTT 譯注:圍棋的英文也是“Go”)

保持這個(gè)習(xí)慣。永遠(yuǎn)不要放棄。


via: http://esr.ibiblio.org/?p=6485

作者:Eric Raymond 譯者:Stevearzh 校對(duì):Mr小眼兒

責(zé)任編輯:林師授 來源: Linux中國(guó)
相關(guān)推薦

2011-07-08 10:15:51

2011-08-02 08:59:02

程序員

2011-08-31 13:12:39

2016-05-31 11:07:25

2024-08-23 15:10:54

2021-03-21 23:46:34

黑客攝像頭攻擊

2020-03-04 09:33:57

互聯(lián)網(wǎng)IT開發(fā)

2014-10-09 13:15:33

2011-08-02 08:59:53

2019-06-14 14:06:13

2014-09-18 09:42:15

2019-03-01 08:51:22

2010-09-17 08:53:01

2013-08-05 09:16:46

2015-06-05 10:38:02

年輕程序員提升能力

2014-01-15 11:08:41

2020-12-21 10:14:48

黑客網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2011-09-05 17:05:03

2011-09-05 18:39:41

2015-03-09 11:01:43

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)