如何評價王垠的《程序員的心理疾病》?

原文鏈接:程序員的心理疾病


我曾經有個很惡劣的習慣,就是別人在群里問"xxx是什麼梗"一類問題的時候。總是會告訴他"自行百度http://www.baidu.com",後來我發現,別人互相之間都好好聊天,但是對我就開始http://www.baidu.com,這時候才知道,原來扔別人一臉"去百度",不管這個問題能不能輕易百度到,都是極不禮貌的行為。
現在王垠有說要別人像尊敬大牛一樣尊敬他嗎?沒有,他只是在說一些每個人都應該無條件享有的尊重,比如說,不被"rtfm",但是最高票答案,總結起來就一句話,"你不是大牛,別指望別人尊敬你",這就是說,在人間通行的禮儀,程序員圈子裡竟然成了大牛專享的東西,你維護的東西如此扭曲,你還好意思說讓王垠反思他自己的心理問題?
文章剛寫完,裡面抨擊的例子就自己湊上來了,這真是奇妙至極


如果初讀王垠的文章,尤其是有過類似經歷的人,很容易認同他的觀點,因為他遇到的很多問題是初入門的程序員經常會遇到的,而大家基本上都是從初級階段走過來的。

但把王垠的文章都連在一起看,你會發現一個很有趣的現象,他在很多地方待過,但待的時間都不長,離開一個地方的理由又大多是類似的,別人不能很好的理解他,不能讓他發揮出最大的價值。離開後,往往他又會成為老東家的噴子。

王垠是有能力的,這一點通過他待的許多地方可以證明。但他顯然在情商上算不上多好。以文章中的一段敘述為例:

在 IRC 的聊天室里,由於隔著網路的屏障,這種對提問者沒禮貌的現象就更加囂張。我曾經有幾次去 Java 的聊天室問一些貌似基礎,而其實很深入的語言設計問題,結果沒有一次不是以收到像「去讀 API!」這樣的回答而結束。API 誰不會讀,然而我需要的是一個有血有肉的人對此的理解。

他認為自己問了一個很有深度的問題,而別人認為他問了一個基礎的問題。這中間存在分歧,我們暫且認為他的理解是正確的。但是,他所做的,並不是嘗試讓回答問題的一方理解自己真正的意圖,而是就此得出結論:對方不理解我。

從他之前的一些文章中,我們已經看到類似的模式,當他說的內容對方不贊同或不理解的時候,他不是想辦法溝通,而是利用自己在網路上的影響力,寫一篇抱怨的帖子,把自己打扮成一個受委屈的小媳婦。而網路上這種虛假的影響力讓他有一種一呼百應的錯覺,加重了他對於自己行為的認可,但這種影響力是無法帶回現實的。

有能力的人特別容易高估自己,王垠也如此,他以為自己能力強,到哪都應該被人高看一眼。但他並沒有想過,他待過的幾個地方,他真實的角色是「菜鳥」。換位思考一下,如果你身邊有一個菜鳥,你多大程度會高看他一眼呢?恐怕即便很謙遜的人,內心也不會多看重菜鳥。而一隻菜鳥要想在一個環境下生存下來,自我證明是一個必需的過程,別人的尊敬都是贏得的。正是這種自我定位偏差,造成了王垠的心生不滿。

存在這樣的心態,某種程度上也是心智不成熟的表現。他把得到對方認可的希望都寄托在別人身上,而不從自己身上找原因,所以,他的苦惱很難得到真正地解決。

斷斷續續看王垠文章很多年了,也認為王垠是個不錯的潛力股。但說白了,潛力就是沒有做出什麼成績的代名詞。希望王垠能夠把更多的精力放在真正做出一些成績來,而不僅僅是成為一個噴子,否則,很多年以後人們想起這個名字,只能一笑了之。

王垠寫了這篇《程序員的心理疾病》聲討別人,卻忽略了自己的心理疾病。


我覺得十年後來聽他自己評價這個問題會更好。

我就補充說說他在一些社區碰壁的事情吧。

他是既定規則的叛逆者,這本身沒有問題,但社區本身不像學術圈子,學術圈子那些人是拿著國家或者學校的錢來為大家傳道授業解惑的。而社區的大牛沒有這個義務,你對大牛無幫助,大牛就不會幫助你。

社區的大牛們開社區是為了吸引與自己氣味相投的同好,而不是為了傳道授業解惑。在社區里,不是要證明自己有多牛,而是要證明自己對社區有價值。自己能增加社區的凝聚力。但是王垠自己高高在上的心態無助於他融入社區。所以,他就是融不進去。因為社區要的不是牛人,而是能夠與大家合作的人。

在那些社區,別人要求講究《提問的智慧》,他可以諷刺這篇文章講的規則,他可以不按別人的規則來,這沒問題。不過這樣,別人也沒法給他期望的有價值的回答,這自然也很合理不是么?

王垠的心態還是變得多了,遠不如當年在國內推廣 Linux 的時候(雖然他自己可能覺得現在的狀態更好)。那個時候相當多的 Linuxer 是實實在在的受到了他的幫助的,他用自己的一言一行在為 Linux 社區做貢獻。無論有多少人說他中二,他在社區內的貢獻無可指責,包括我也非常感謝他曾經的貢獻。不過現在呢。。。

從學術界到工程界還會有很多不適應的地方,真正的差別在於,科學講究一切追求完美,而工程講究有限的代價讓一個東西可用。從科學的角度,沒有任何語言是完美的,但他們在工程的現實中都可用。王垠是研究語言的科學家,難以接受現實中那麼多設計不完美的語言,這是事實。

要修補這個事實,我覺得需要時間,要麼時間改變他,要麼他用時間改變這個世界。

我期待他能做到後者。


說得都對。不過貌似把「程序員」換成「地球人」,把「Node.js","iOS","Python"等等換成其他行業的一些術語,貌似也對。總之,就是從學術界走進社會初期的心理不適啦。


他的文章觀點很好,但是在某些地方是非常有缺陷的。

首先最重要的一點,就是把軟體和其它行業類比,並以此貶低軟體/程序行業。但是實際上,他提到的這些現象,不僅在學術行業里,即使在人文社科和藝術行業里也都是非常普遍存在的,只不過有可能軟體行業由於本身性質交流更加密切,問題更加明顯而已。
他提到的幾乎所有點,翻來覆去其實都是自尊/輩分的問題,這個在哪都找得到。同時,只要有自尊的地方存在,就有經濟利益出現。只要有金錢,那麼各種歪門邪道的顯驅動力就有了。
比如

無自知之明
簡單,人們都希望以最快的方式得到最大的ego滿足,半桶水的時候真的就會以為自己什麼都知道了。

垃圾當寶貝
我也拿現代藝術打比方,其實本質上最開始有一部分人是基於藝術本身做出思考才去做出一些新的形式,並被冠以現代藝術之名的,甚至可以理解為內行人的調侃和反思。但是之後會有外行只得其形,通過邯鄲學步的方式,以最快的辦法去複製(微創造),以此得到更外行的人的尊重和經濟效益,並有可能大肆攻擊原創者:「你說,老子哪兒不如你了?」這個放在哪個領域都是一樣的。

宗教鬥爭
和上面一樣,只要能吸引流量,那些人什麼都幹得出來~

引難為豪
和垃圾當寶貝明明就是一樣嘛。為了難而難,為了創新而創新,不都是希望別人說自己牛逼么。

去讀文檔!
教訓他人滿足自己的自尊。「人之患在好為人師」

不要提問,不要謙虛,不要恭維
同上,翻來覆去其實道理都一樣

以語言取人
我有XX標籤我牛逼唄……

跟屁蟲
和之前那麼多有什麼區別……

第二點就是以偏概全,以一部分現象指代整體現象,以一部分人指代所有人。這在這種發泄情緒的文章里非常明顯,其實本質就是總結現象(製造標籤),粘貼標籤,然後批判擁有這個標籤的人(個體)。當然這個過程,由於語義本身的不確定性,本身就是偏差很大的過程。最明顯的就是關於『提問的藝術』,其實這篇文章我相信他剛看到的時候也會覺得不錯的。但是為什麼在他的描述下,味道變了呢?實際上,這種情況和『提問的藝術』本身並沒有什麼關係,因為這篇文初衷是去打伸手腦癱者的臉,幹啥都伸手,就是不願思考。但是,也有人看到這篇文章,覺得這篇文章是對自己逼格的一大提升,誰有問題就拿這篇文章糊他一臉,那也沒辦法。你可以怪殺人的人,但不能(沒有意義)怪殺人的刀。但他就這樣把這篇文章一竿子打死,乃至將其影響擴大到社交生活中去,私以為是不妥的。只要追求逼格的人性還在,那麼就算沒有『提問的藝術』,還會有『吃飯的藝術』,『睡覺的藝術』,『糊人一臉的藝術』……

那麼這就引申到最後一點,我以前聽說到一句很傷ego但是實際上非常有道理的話:「不同等級的人是不能交流的。」而王垠犯了這個錯誤。如果他真如他自己所說的那麼牛逼,那麼他根本不應該和一般的人交流,他必須收起他好為人師之心。就比如他在文章中提到的「我曾經有幾次去 Java 的聊天室問一些貌似基礎,而其實很深入的語言設計問題」,如果別人沒有到他那個層次,怎麼能真的明白他的意思呢?語言本身只是一個領域,其廣度很難說能完全包含另一個領域,其表意失真不是很正常么?只有和他在一個層級,思考深度和他接近的人,看到的東西才會差不多。所以,他遇到到的這麼多煩心事,其實也是他自己的問題。他的無心之語,就是容易傷到別人的玻璃心;他在這個層次上完全正確的話,放到另一個層次就是天大的謬誤。80%的一切都是垃圾,不是么;這是世間的常態,沒有哪一個開放性圈子是純白無暇全是彬彬有禮的高手的。


除了態度有點偏激、語氣有點強烈,其實別的都還好。
好奇的是他去Java聊天室問的那些「貌似基礎,而其實很深入的語言設計問題」到底是什麼問題?


我本人很喜歡王垠的這種風格,有水平但不擺譜,就是喜歡吹牛逼而已,他的文章有血有肉。
我不喜歡文縐縐的文章,那樣的文章太多了。
王垠這種文章,你看的時候就像和他在聊天,一個玩世不恭的小牛人,牛逼吹的天花亂墜;但真干起事情來,能搞定。


現在程序員的確存在這些問題:迷信大牛的概念,對新手扔一句「自己google」。

不過,老實說,王大俠的脾氣估計也是導致自己狀態的主因。


排除掉王垠評價自己的那幾行,我覺得說的也挺有道理的啊。之前在公司翻牆刷過他英文版的blog,都是些正常的科普文,行文風格跟中文的那部分相差巨大。


喬布斯從來也不會去編程,世界萬物本是一體,又何必執著編程小道呢?

有能力去比掙錢,把妹,當總統.....

編程,只是實現成功的工具而已

有些人卻把他當成避風港

「有些程序員從來不會成功」

-周鴻禕


  1. 他的確有兩把刷子。這才是他充滿爭議的緣由,否則早就被當成做鎚子手機的老羅了。
  2. 他不太適合混社會,還是想辦法去個三流學校沒人和他爭的地方做研究比較好。有些時候,你知道對方錯了,不要總發牢騷吐槽,做一個正確牛逼的出來不就完了。很多大牛的威信都是這麼樹立起來的。
  3. 據說已經換了3個公司了……

我也在一個月之前左右看到了王垠的那篇新博文. 這一個月以來, 這篇文章不斷的被他從主頁刪掉, 然後又加回來, 然後繼續被刪掉. 可以看出王垠不是想裝B指點江山隨意寫出一篇噴文.

LS很多人都說王垠的學院派, 每一種語言都有自己擅長的領域. 但是實際上王垠已經從Indiana University離開很久, 並且輾轉了三個公司. 我相信他對語言的理解一定也是基於對商業價值的考慮. 比如, 他的靜態語言分析器RubySonar和PySonar, 並沒有用他最欣賞的Scheme來實現, 而是選擇了"臭名昭著"的Java, 並且把很大一部分功勞分給了IntelliJ IDEA這樣的Java IDE. 他做分析器的初衷也只是很單純的把之前在google和sourcegraph的階段性成果完善而已.

至於他說的那些現象, 也確確實實的存在. 就像當初王垠炫自己的emacs配置, fvwm的顯示界面, 通讀LaTeX的handbook, Knuth的支票一樣, 現在又有多少人在炫自己用Clojure和Scala寫的project. 但是真的對於程序開發有什麼用嗎? 評價一個程序員, 最公平, 最客觀的標準, 就是他貢獻的代碼能對社會起到多少推動力. 至於什麼語言寫的, 只要那種語言有足夠的表達力, 都是完全無所謂的問題. 優秀的程序員用什麼語言都一樣, 當年老一輩的C++程序員, 到現在轉成java就是兩三天的事兒. 人家對框架的實現和理解早就爐火純青. 但是很多人一聽你的程序是用ruby/java/...這種容易被噴的語言寫的, 不管你的功能怎樣先鄙視再說....

我不想否認軟體工程師的價值(產品經理什麼的還是...唉能少則少), 畢竟像12306, icbc這樣的網站要是down一個小時, 後果不敢想像......但是確實他們的價值被高估了. 灣區的一個SDE輕輕鬆鬆可以達到100k的起薪, 每年不知有多少人為了現實主義從各個行業往CS轉. 而且互聯網行業這麼明顯的泡沫, whatsapp能賣190億, 都不知道怎麼想的. 當年做Sparc伺服器和現在火成這樣的Java的Sun Microsystem才賣了74億. (當然Java到了 Orcale手裡廣告真是沒少打). 連我這個以前先是學應數後來搞物理然後轉EE, 最後實在找不到工作的人都轉CS了. 有錢了自然就開始鄙視PhD了....網上黑PhD的我敢保證CS的絕對是主力群體.


不說太多了. 對於語言的優劣作為剛轉進來不久的人來說沒有什麼說服力, 但是一個語言之所以能流行, 和語言本身好壞沒什麼太大關係, 更多的是商業層面的. 就像Oracle和Sun一直在推Java, 網站前端通用php所以新來的網站也不好意思不用, 或者是RoR好方便啊什麼的...(perl是個例外, 可能是parsing的需要吧, 最近做電路的verification的時候HSpice出來的結果都是perl處理的).


無知往往是自大的根源。


我是贊同王垠的。雖說這段文字有些激動,但大體意思是對的,值得每個程序員(當然也可以擴大範圍到每個人)反省。前面我看到很多程序員對自己的工作非常驕傲,比如說談到值多少錢的問題時,這當然是作為每個熱愛本職工作的人都應該具備的,但如果過度期望把自己定位在大多數人之上,就是錯誤的。
不妨記住這個:只會寫代碼,不如去種田,在日後閑暇時刻體會一下。


就說一句話吧,您干一行,罵一行。不能體現您高明,您干一行,乾的不錯。再慢慢想辦法改您覺的不靠譜的地方,您是個英雄。罵街不用多大本事,尤其是這種程度的罵街。幹了這些年,上面這套話,誰都能說得了吧


這是王垠寫的最好的一篇


我覺得王垠其實是想諷刺一種現象:「一部分程序員因為會寫代碼調漏洞就認為自己聰明絕頂,殊不知寫軟體的門檻很低——一台電腦就行,遠不能和別的工程所需要的大型儀器相比較。」 我也認為軟體工程不能算是真正的工程,因為這裡面沒有實地考察,誤差分析,線性代數等等傳統工程所需要的高深技巧,程序員充其量也只是坐在電腦前動動手指和大腦,錯了可以重來,期間除了消耗點電費,沒有別的成本。

我在美國學的計算機專業,自認為肚子里還是有些墨水。我這邊學軟體的學生大部分整天盯著電腦,缺少對現實的好奇心,自然認識不到電腦之外的物理、化學、歷史等等。程序員大多只用API編代碼,但很少有人關心整個系統本身的設計思路。

我學習的時候學校都用java, c#教面向對象編程,一提到C就是面向過程。但是面向對象只是一種程序設計思路,和編程語言本身關係不大。通過C的struct和function pointer可以實現面向對象的class,通過long jump可以實現try catch finally這樣的結構。而且這些思路本身也是很虛的東西,太過於糾結反而限制自己的思維。

總之,能夠吹的人很多,能夠認識到自己局限的人不多,能夠把自我局限拿出來批鬥的人更少。他自己也算是程序員,做到這點已經比我見到的CSE Phd好不少啦。。。大家姑且給個贊吧。。。

:)


部分現象描述真實,但是思想偏激結論混亂,鑒定為被噴傷到自尊而發出的怒吼
下面分析幾種心理現象
1.入行被噴
無論哪個行業都有這種現象,剛入行被噴噴很正常啊。後面可見王神大怒是因為別人都認為他python語言很爛,連文檔API都不會看。跟工程生氣有何意義捏,在公司是為了解決問題,而不是討論哪種語言好。就好象沒有哪個老作家會一邊寫文章一邊回答小盆有的這種提問:「你覺得用中文寫文章真的好么?中文有哪些語法,你覺得怎麼樣」。大凡如此,老作家說『新人不務正業,還不抓緊趕稿?自己查字典』 很正常嘛。
每個民族都認為自己語言最優美。。。結果人們設計了英語 還不爽,又搞個世界語,但還是木有英語流行。
2.他人趾高氣揚
會寫點簡單軟體的人為團隊帶來直接價值,能在團隊中趾高氣揚,說明這是企業工程。如果以研究論英雄那是大學、研究院。這是象牙塔走向社會難以適應的第一步

3.編程不是科學
嘈點太低,編程講的是設計,和藝術一樣。把科學地位凌駕於所有之上是不對滴。各種大民族之所以存在,就因為有自己的語言和文化。在公司編程的人地位高,說明你確實是在IT公司,靠代碼混錢的公司。創造價值的主體工人地位高是很正常的事兒。公司有時候不需要專家,就好象戰國時期的『屠龍之術』

最後得說下wang的推銷手段不正統
站在語言學家角度,兜售自己語言這種行為就好像是銀行里的大堂經理推銷自己的理財產品:你可以說自己好,但不能說別人不行,尤其是別人的產品運營良好的情況下。這是世界通有的規矩。無論哪個行業都一樣。

總結一下從心理上說,王的自我認知還是程序語言專家,比較軸,還是適合當大學教授。如果想兜售自己語言的話,首先要找到目標用戶群。顯然這是程序員的一支,你還得霍好這些「手藝人」,他們將來可能是你的衣食父母。
沒能力自創語言並且經營一門語言,那麼還是老老實實的適應吧。


我覺得王垠這文章太偏激了,他說的這些「心理疾病」,比較確切地說應該說是「態度問題」。全文:

s/心理疾病/態度問題/

一下,就比較中肯了。


-
看得很歡樂啊,就像看一個被欺負了的大男孩對全世界發出咆哮和傲嬌。

第一句話「在真正進入軟體行業的短短一年之後,我已經對它感到相當的厭倦」就很聳人聽聞,就像是小孩子的「我不要跟你們玩了」!在成功吸引到注意之後,開始一系列的傲嬌,卻跟行業毫無關係。

道理不能說沒有,但你細細品一品,就會發現中心思想是這樣的話:

「無論你在哪個公司,哪個地方,只要跟程序員說話,十有八九會談不來。非常掃興不說,甚至感覺很傷自尊」

「哎,總之這樣還是很累,所以最好是能不跟程序員講話就不講。」

哈哈,明顯是耍脾氣啊。 你可以明顯感受到他文章中的情緒:老子這麼牛,你們這些無知的人憑什麼看不起我! 當然了,作者是大牛,說的話是跟有根據的,我總結一下就是:

這個行業充斥著太多無知而不自覺還自以為牛逼的傻子,而真正的人才往往被埋沒。
-


推薦閱讀:

程序員和設計師等專業人員是否更青睞 OS X / Mac 電腦?
怎麼樣才算是精通 C++?

TAG:程序員 | 編程 | 王垠(人物) | 如何看待/評價 X |