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