我對(duì)自己有了新的發(fā)現(xiàn)——上天給了我神奇的能力,讓我總能做出正確的技術(shù)選擇。
有些夸張,但的確很神奇。
回首我的開發(fā)生涯,我認(rèn)為我使用的任何一種編程語(yǔ)言都是在當(dāng)時(shí)那種場(chǎng)景下最好的。
同樣的,我選擇的框架,甚至操作系統(tǒng)也是最好的。
是的,我有這樣驚人的能力,就是從技術(shù)的海洋中挑出最好的。這些技術(shù)我甚至不用親自試一遍,但我卻極力捍衛(wèi)我的選擇。
可能當(dāng)你在閱讀本文的時(shí)候,你已經(jīng)發(fā)現(xiàn)了你也有這種神秘的能力。
大多數(shù)開發(fā)者有技術(shù)信仰
這是真的。
不要不好意思,你不是一個(gè)人。我,幾乎每一個(gè)人,都與你同在。
我們有些人已經(jīng)從這種自我洗腦中清醒過(guò)來(lái)。另一些人則還非常幸福地并沒有意識(shí)到我們所處的困境。但是我們中的大部分人至少擁有一個(gè)為自己信奉的技術(shù)信仰。
這很自然,因?yàn)榇蠖鄶?shù)程序員進(jìn)入軟件開發(fā)這個(gè)領(lǐng)域是因?yàn)樗麄儗?duì)軟件開發(fā)充滿了熱情。任何你熱愛的事情都非常容易導(dǎo)致你對(duì)它產(chǎn)生一些非常不客觀的看法。
拿體育迷來(lái)舉個(gè)例子,我自己并不是一個(gè)體育迷,但我知道不同種類運(yùn)動(dòng)的粉絲篤信他們支持的隊(duì)伍是最棒的,盡管所有的證據(jù)都指向了相反的方向。
對(duì)自己選擇和想法的捍衛(wèi)是人類的天性。我們?nèi)菀撞杉{新的相法,但是我們虔誠(chéng)地捍衛(wèi)我們已有的,而不需要太多的證據(jù)來(lái)支持他們。問(wèn)題在于我們傾向于把我們對(duì)事情的看法與我們的身份,甚至我們作為人的價(jià)值捆綁在一起。
需要靈魂深處的搜索,但是如果你看一下你自己,你很有可能會(huì)發(fā)現(xiàn),你可以列舉出最好的操作系統(tǒng),編程語(yǔ)言以及框架等等。
無(wú)知不是福
這種自我強(qiáng)加的信仰導(dǎo)致的問(wèn)題是,它讓我們看不到真相。
在我真正使用了一臺(tái)Mac之前,我曾經(jīng)花了無(wú)數(shù)時(shí)間爭(zhēng)論它為什么這么垃圾。具有諷刺意味的是,我現(xiàn)在正在一臺(tái)Mac上面寫這篇文章,但是我通過(guò)遠(yuǎn)程桌面使用Windows Live Writer來(lái)寫。
我的觀點(diǎn)是,我們大多數(shù)人極力爭(zhēng)辯我們選擇的技術(shù)是最好的,而甚至沒有嘗試過(guò)別的技術(shù)。
想象一下,似乎很可笑。但是甚至今天,我都能發(fā)現(xiàn)我還是這樣。
當(dāng)我審視自己,問(wèn)自己為什么的時(shí)候,我發(fā)現(xiàn),大部分動(dòng)機(jī)來(lái)自于我對(duì)我所學(xué)到的和掌握的知識(shí)的自豪和對(duì)我所不知道的知識(shí)的恐懼這兩者的結(jié)合。
我發(fā)現(xiàn),如果花一些時(shí)間學(xué)習(xí)一門技術(shù)并了解為什么別人這么喜歡它,我就不會(huì)如此輕易地把我不知道的技術(shù)當(dāng)做“垃圾”或者“廢物”一樣扔掉。正如他人所說(shuō),一個(gè)人的垃圾正是另一個(gè)人的寶藏。
關(guān)于無(wú)腦信仰的問(wèn)題
即使我不告訴你,你也知道,在這個(gè)世界上,無(wú)腦(腦殘)的狂熱是一股毀滅性的力量。你只需要去你最喜歡的國(guó)家新聞網(wǎng)站或者讀一點(diǎn)歷史就知道怎么回事了。
雖然沒有太多程序員會(huì)為 PHP vs C# 這樣的問(wèn)題而大動(dòng)干戈——盡管我曾在這樣一次相似的、挑釁性的、如今我極力反對(duì)的討論中被指責(zé)不該丟椅子——很多開發(fā)者還是喜歡大聲爭(zhēng)論自己的意見,甚至盛氣凌人地推翻他人的工作。我相信你們一定看到過(guò)很多這樣的情景——如果你們常常上網(wǎng)的話。當(dāng)我大膽的發(fā)表一些關(guān)于JavaScript的負(fù)面文章時(shí),我自己也吞下了這樣的苦水
所以,我們可能覺得,我們的無(wú)知并沒有傷害任何人,并且我們覺得他們活該因?yàn)樗麄兠黠@是錯(cuò)的,然而真相是,我們的無(wú)知造成了相當(dāng)多的破壞。
回首過(guò)去,我感到非常羞愧,因?yàn)槲覍erl程序員貶低得一無(wú)是處,完全否定他們的勞動(dòng)成果,并且非常無(wú)知地推舉我神圣的靜態(tài)類C語(yǔ)言為可以凈化他們的唯一救世主。
但是最重要的是,我發(fā)現(xiàn)我傷害的其實(shí)是我自己。
別再打自己臉了,蠢貨!
我職業(yè)生涯最大的成長(zhǎng)得益于,在我尋找一份C#開發(fā)的工作時(shí),得到了一個(gè)非常好的機(jī)會(huì)去做一個(gè)JAVA項(xiàng)目的架構(gòu)師。
我被這個(gè)決定折磨得夠嗆。因?yàn)槲艺J(rèn)為JAVA是垃圾、是邪惡的。JAVA缺少像C#那樣的屬性,需要手寫getter和setter,所以每一個(gè)寫JAVA代碼的人明顯是蠢貨。
我?guī)缀鯖]有接受那份工作,但是我覺得待遇很好,可以勉強(qiáng)一下自己忍一忍過(guò)去算了,就像一個(gè)戰(zhàn)俘等待有一天我的微軟大帝可以拯救我。我想,我至少得脫離那種惡心的JAVA寫法。
然而,經(jīng)過(guò)了一些年的開發(fā),編寫良好的JAVA代碼單元測(cè)試之后,我發(fā)現(xiàn),其實(shí)不僅JAVA沒那么屎,這個(gè)語(yǔ)言的一些長(zhǎng)處和一些JAVA框架也值得稱贊。
更重要的是,我開始意識(shí)到我過(guò)去的代碼偏執(zhí)使我關(guān)上了很多扇門。我開始覺得,可能我過(guò)去所有的技術(shù)選擇都不一定是最好的。我開始思考,其實(shí)許多最流行的技術(shù),它們之間并沒有那么大的區(qū)別。
我開始意識(shí)到,相對(duì)于無(wú)腦崇拜某個(gè)我湊巧選擇的技術(shù),廣泛地理解一系列技術(shù)和編程語(yǔ)言可以使我變得更有價(jià)值。
現(xiàn)在,我發(fā)現(xiàn)我對(duì)單個(gè)的技術(shù)理解得特別快,因?yàn)椴辉偈恰伴]門造車”,我可以用我的大腦去比較和對(duì)比不同編程語(yǔ)言和技術(shù)之間的區(qū)別,這樣使我對(duì)所有的一切都有了更深的理解。
說(shuō)了這么多,我的觀點(diǎn)就是,對(duì)技術(shù)的選擇持封閉態(tài)度最后只會(huì)傷害你自己并限制你作為一個(gè)開發(fā)者的個(gè)人成長(zhǎng)。
(這里又兩本很好的書可以幫助你打破這些壁壘:《七周七種語(yǔ)言》和《七周七數(shù)據(jù)庫(kù)》)
沒有最好的
在結(jié)束這篇文章之前,但愿你能相信我說(shuō)的”世上沒有最好的技術(shù)或者編程語(yǔ)言“。
我不是在用說(shuō)編程語(yǔ)言各有各的好、各自處理不同的情況來(lái)侮辱你的智商,。因?yàn)檎嫦噙h(yuǎn)比這個(gè)深刻。
在制作了超過(guò)40部非常廣泛的技術(shù)和編程語(yǔ)言的課程之后,我發(fā)現(xiàn)了一些真相。
真相是,有很多很好的方法能做成同一件相同的事情,使用不同的工具和技術(shù)。
真相是,所有的編程語(yǔ)言和技術(shù)都有一些大錯(cuò)誤和大弱點(diǎn)。
真相是,你學(xué)的不同技術(shù)越多,你越能發(fā)現(xiàn)大多數(shù)技術(shù)核心的東西是非常相似的。我指的是,編寫軟件的核心概念,無(wú)關(guān)乎技術(shù)和編程語(yǔ)言語(yǔ)法。
跟我一樣,你也會(huì)發(fā)現(xiàn),如果你愿意接受其他技術(shù)并且承認(rèn)自己的無(wú)知,并從中學(xué)習(xí),那么,不管你去了哪里,你都會(huì)找到很多樂(lè)于助人的友好人士,他們非常樂(lè)于把他們知道的東西教給你。
-
程序員
+關(guān)注
關(guān)注
4文章
953瀏覽量
29825
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論