標籤:

追尋本質還是流於形式

追尋事物本質應該是人類與生俱來的一種特性。看看我們在童年時向我們父母提出的那些啼笑皆非的問題,再想想我們小時候拿著放大鏡對著一白紙在正午的烈日下一蹲就是一小時,只是為了去點燃這張紙。那是童年最原始、最純真的對於真理和本質追尋的行為。

可20多歲的我們,卻喪失了這種最純真的好奇心。我們醉心於那些表面的、外在的、甚至是虛無的成就感。我們每天循環著嘗試使用各種工具解決各種問題,以此來換取一些微薄的酬勞。我們會用各種不同的編程手法、不同的思維來解決同一個問題,以此來判別你與競爭對手的水平高低;我們也會彼此競爭式的學習更多的語言、更好的框架、更新的技術,可我們所謂的學習,卻僅僅只是「會用」。

時間久了,累了,厭倦了,就覺得沒有意思了。

你迷茫了。迷茫是再正常不過的了。跟著形式跑,看不到事物的本質,你永遠會覺得疲倦。

很多人說編程是藝術。我不否認這句話,但編程和「八」大藝術(第八大藝術是電影,這個還有不少爭論)有最根本的區別:藝術的形式極為重要,但編程形式卻不是那麼的重要。

拿電影來舉例,很多經典的電影其實核心內容是及其簡單的,或者說導演想表達的內心世界也無非就是:人性本善/本惡、奮鬥出奇蹟、愛情誠可貴、自由價更高等常規主題。但經典電影之所以偉大,就在於導演會用非常規的敘事手法,奇妙的鏡頭語言,符合人物內心的光影特效來完成一部出色的電影。道理總有講完的一天,但藝術之所以具有長久的生命力和創造力,或許就在於形式的百花齊放。你會擔心這世界上由於題材的枯竭而再也寫不出小說或者拍不齣電影嗎?

不會。愛情都是同樣的愛情,但表現愛情的手法卻永遠取之不竭,用之不盡。

可編程不同。你用面向對象還是面向過程,亦或是是否使用設計模式,這都遠遠不能掩蓋一個事實:你只是解決了同一個問題。

那編程的形式重要嗎?編程中的形式遠沒有形式之於藝術重要。問題在於目的的不同:藝術更多時候是為了去表現,讓人們感受形式的美好;但編程的根本目的不在於形式,而在於解決問題。

如果你太在意編程中的形式,而忽略了編程中的「本質」,這實在是不可取的。形式大多充滿變化,描述一個愛情故事可以用詩詞賦、可以用電影、可以用繪畫,而每種藝術載體在描述愛情時,又可以幻化出千奇百怪的手法。同樣,解決一個問題,可以用A語言、也可以用B語言、C語言、D語言、J語言,可以用F框架、可以用D框架、可以用T框架。

可問題是,這些不同的語言和框架真的對於解決問題是如此的重要嗎?也許你會舉出開發效率、性能等千萬條理由來反駁我,但你忽略了一個本質,他們沒有改變這些不同的語言和框架都只是解決了同一個問題的本質。過分追求這種不同語言、不同框架的形式,對一個程序員來說是極為不正確的。

我們這個社會裡的很多媒體對於技術的引導是不正確的。一個月學會大數據的真實意思是你只學會了大數據API的調用,現在大數據不熱了,你又開始追尋機器學習和區塊鏈了。可這大數據也好、AI、區塊鏈也好,這都是形式。

你不斷盲目的去學習形式,只是因為你內心的貪婪和焦慮。這個時代正在以瘋狂的速度肆無忌憚的製造新產品:每天都有無數的樓房拔地而起,每天都有幾百本書籍出版,每天也有很多的新技術、新語言在醞釀。

於是你很焦慮,害怕被這個時代淘汰。這種焦慮誘發出了人類的本性:貪婪。我們瘋狂的購買書籍、購買課程、購買一切看上去可以讓我們成長的物件,數量變成了這個時代知識的計量單位,數量可以滿足我們的貪婪,同時又在一定程度上解決我們的焦慮。

但你是跑不過這個時代形式的變化的。時代的形式是由千千萬萬比你還優秀的人共同締造的,而你只是其中的一個個體,你如何以一抵萬?

其實無需太過於恐懼變化,大多數事物發展的規律是由量變轉化成質變,你要擔心的是質變,而一個時代要想產生革命性的質變,這需要的時間太漫長了。你實在無需為形式的變化煩惱太多。

任何一項技術或者產品的製造都是一條鏈式的,越是鏈條的頭部,所獲取的資源越多,所牟取的利益越大。你看到lenovo的電腦賣的很好,但你需要知道intel的CPU賣的更好,他掌握了鏈條的頭部資源和技術,而這些技術具備一定的普適性,他即可以把CPU賣給聯想也可以賣給宏碁。因特爾靠技術賺錢的實質在於,他抓住了計算機製造業里的「本質」。

再比如現在大量的茶水連鎖,掌握茶的製作工藝的頭部技術擁有者才能撐起這個鏈條,做起各種加盟。頭部的核心本質掌握,讓這些技術的擁有者形成一種輻射效應,每一個輻射出去的鏈條,源頭都在輻射的核心點。

放到編程這個行業也是一樣。越接近本質,收益越高。你會發現,做演算法的收入遠比做業務的要高,搞C語言的大多數情況下的平均收入都要高於搞PHP、Java的;而那些能做AI、機器學習的也是因為他們掌握了大量智能領域的本質演算法和模型,而絕對不是因為他們會Python。

有些人就是比你更接近事物和原理的本質,他們是輻射的核心,你只是他的一個加盟商。資源和利益會隨著輻射鏈條的延長而逐漸趨於稀薄。

去探尋下本質,去深挖一下語言的特性,框架的原理,多去學學演算法與數據結構,多去複習下早已遺忘的數學,這真的是個不錯的選擇。從編程的角度來看,很多的框架也好語言也好,都只是形式在變,但他就是舊瓶裝新酒啊。

童年的那份好奇心,那些對事物本質追尋的可笑問題,可能我們是再也找不回來了。也許這也就是為什麼童年彌足珍貴的原因。但你依然需要記住,追尋本質才是這個不斷變化的時代最有效的生存守則。

你看,其實我這篇文章也只是講了一個淺顯的道理。所以,形式重要嗎?對文學來說很重要,但至於現實,形式屁都不是。

以後一些文字會發布在公眾號上,有興趣的朋友可以關注我的公眾號:小樓昨夜又秋風


推薦閱讀:

從零開始手敲次世代遊戲引擎(DX12特別篇)
Go 語法糖水 - 單元測試
面向項目學習編程--之前的廢話

TAG:編程 |