我們應該如何對待技術信仰?

jackiekuo發表於2014-05-12

  當你發現自己有了技術信仰時,不要嘗試去磨滅它,而是去利用它!利用它帶給自己的動力!

  程式設計師的榮耀

  1. 程式語言戰爭:認為自己所用的語言是最好的。
  2. 編輯器的聖戰:Vim 和 Emacs 黨派不斷向對方發起攻擊。
  3. 作業系統之亂:Windows、Linux 和 Mac OS 陣營之間的不斷爭論。

  看到這個列表,你一定深有感觸。嗯,程式設計師榮耀(額,這是我自己起的名Programmers' Glory)已然把網路上的任何地方當成了自己的戰場。

  記得之前看過一篇博文叫做 How Religion Destroys Programmers,翻譯過來就是“信仰是如何毀掉程式設計師的”。

  文中列舉了眾多被垢病的程式設計師的臭毛病和它們所帶來的巨大危害。文中提到,這種自我強加的信仰導致的問題是,它讓我們看不到真相,不去嘗試別的技術。程式碼偏執為擁有Programmers' Glory的人關上了很多扇門。

  最後作者總結說,相對於無腦崇拜某個我湊巧選擇的技術,廣泛地理解一系列技術和程式語言可以使我變得更有價值。

  說的很對!

  當激情上升到信仰的時候,便引發了不斷的語言戰爭、編輯器之戰。而當你沉迷其中,鬥得不亦樂乎直至筋疲力竭之時,它不知不覺已經限制了你潛力挖掘的可能性。簡單的說,就是你已經給自己的人生設了一個個的限制。

  《黑客與畫家》中,Paul Graham 對語言戰爭描述得很準確,

“如果你長期使用某種語言,你就會慢慢按照這種語言的思維模式進行思考。所以,後來當你遇到其他任何一種有重大差異的語言,即使那種語言本身並沒有任何不對的地方,你也會覺得它極其難用。缺乏經驗的程式設計師對於各種語言優缺點的判斷經常被這種心態誤導。”

  當你信仰過程式程式設計時,你已經拋棄了物件導向思想的精華;客觀來講,目前還沒有一門語言是完美的,所以當你全盤接受一門語言的時候,你同時 也擁抱了它的糟粕,卻還自認為這是它的 feature;當你發誓這輩子只用 Vim 再也不碰 Emacs 的時候,就決定了你永遠也不會理解 Emacs 的使用者的思考邏輯;當你決定誓死效忠 Windows、Linux 或是 Mac OS X 其中之一時,你的思維方式、操作習慣也將被它所固化(我一直認為接觸一種作業系統就會多一種思維方式)。

  說到 Mac OS X,想起來前幾天池建強在微信推送了一篇文章叫《不要做一個果粉》。 對於任何事物,成為其粉絲都是很危險的。成為了某個工具的粉絲,這只是好聽點兒的話,實質則是你成為了工具的奴隸;成為了某項技術的粉絲,你就受限於該技 術,不光是潛力不能自由發揮,而且思維也被該技術禁錮;成為某個公司的粉絲,你會傾向於使用該公司所有的產品,學習該公司主導的技術。至於利害,仁者見 仁。

  對技術的選擇持封閉態度最後只會傷害你自己並限制你作為一個開發者的個人成長,甚至可以說限制了你這一輩子的能力。

  所以,大多數人都會建議,不要把熱情變成信仰。

  信仰的力量

  那麼是不是說信仰沒有一點好處呢?當然不是。

  其實信仰無處不在。信仰是自然產生,缺少信仰的社會不是健康的社會。在生活中,有各種宗教信仰。再細一點說,有的人喜歡吃蘿蔔,有的人卻偏愛吃白菜;有的人喜歡喝橙汁,有的人一輩子只喝白開水。不要嘗試去改變這些人,因為你沒辦法改變。

  而程式設計師也是人,程式設計也像生活一樣,所以程式設計師擁有技術信仰很正常。

  程式設計師的信仰有什麼好處?

  1. 信仰會使你在堅持一件事上擁有不斷的動力。
  2. 信仰會讓你擁有對完美的偏執。
  3. 沒有信仰,整天坐在那敲程式碼,這麼枯燥誰能堅持得下去?!!!!

  那麼,到底應該怎麼對待各種技術信仰呢?

  我與我的信仰

  其實我並不贊成消除自己的信仰。

  雖然我最愛用 Vim,但也一直保留著 Emacs。雖然我喜歡 Chrome 多一些,但 Firefox 也是我的必備軟體。雖然在學 Objective-C 和 iOS 程式設計,但 Android 開發也嘗試過,Go 語言也有所掌握,因為我同時是 Google 和 Apple 的粉絲:-P。

  曾經有人語氣嚴肅地告訴我,像是在發誓,我這輩子都不會用 Mac。好吧,多謝,世界上有多了個意氣用事的無知蠢蛋,而我又比一個人多掌握了些能力。

  大神王垠,大學時瘋狂地吹捧 Linux、Unix,現在不也浪子回頭了?! 其實讀他現在的文章也能感到他被信仰衝擊後留下的後遺症。

  說了這麼多,我的觀點就是,

  • 要學會和別的信仰的共處,而不是消除信仰本身。
  • 當你發現自己有了技術信仰時,不要嘗試去磨滅它,而是去利用它!利用它帶給自己的動力與激情!

  對於那些陷入語言戰爭的孩子們,別再糾結到底學不學 Go 或是其他語言了:C++作者 Bjarne Stroustrup 說過,程式語言有兩種,一種是充滿缺陷的,一種是沒用的。

  對於那些忙於編輯器聖戰的孩子們,到底是用 Vim 還是 Emacs?:別忘了,世界上最簡單的解決問題的工具,硬幣。

  對於那些還在罵 Windows 的傢伙:王垠大神都覺悟了,你還在想啥?

  最後再看一個關於信仰的有趣的漫畫(圖片來自西喬的部落格)。

111822581044813.gif

  來自: jackiekuo.com

相關文章