談程式語言的設計及程式員心態

來源:互聯網
上載者:User

我最近讀王垠的部落格,裡面有些文章使我很受益。他總結了程式語言設計上的兩個問題:一是片面追求短小,用C語言做例子;二是試圖容納世界,用python做例子。一般來講,能設計語言的人,都是高手,特別是設計出來的語言用的人多,這些語言的發明者,可以說都是頂尖的人才,其智力、專業程度都是頂尖的。但往往一門語言的設計者,都是一個人。一個人,又是頂尖的人,就很容易存在一個想法:如何彰顯自我。我設計的這門語言,假如和別人設計的一樣,不搞些智力上的特色出來,怎麼能顯示出我的牛逼之處?

作為一門程式語言,如果才能搞些智力上的特色呢?最明顯的就是比誰的更短。這種思維很自然的泛化到使用這門語言的程式員身上,你那個要寫十行,我這個只一行就搞定,牛逼吧,把寫得長等同於寫得差,寫得短等同於寫得好,甚至往智力上去延伸。於是在以前C為王的時代,很多人都追求程式寫得短,結果搞得可讀性很差。自從JAVA興起,這種比短的思維才被壓住。另一個就是談哲學,python喜歡談哲學,於是有了王垠所說的,要容納世界上三隻手兩個頭的人。對於稍大一點的工程,python的這個特性會使得程式不可控,幾乎變得不可用,說是畫蛇添足,有害無益不為過。

一門程式語言的設計者,其設計思想,思維方式,或多或少會影響程式員。於是程式員多多少少都有追求短小和容納世界的毛病。追求短小在C語言裡比較常見,而容納世界在JAVA裡面比較常見,產生的問題更嚴重更深遠。在我看來,前幾年JAVA界流行過度設計,類似SSH的架構就是試圖容納世界的產物。架構的設計思想,比如說,可以隨便更換資料庫,可以替換中介層,可以多種展示方式,不能說是錯誤的思想,但是實現手段帶來了很大的複雜度。於是又引出了另一種思維,把越複雜的東西給折騰會,就顯得自己智力超群,以此換來“優越感”。

中國有句古話叫文人相輕,意思是文人之間互相看不起,覺得別人寫的文章不如自己的。寫程式有點類似寫文章,所以程式員之間也有互相看不起的毛病。經常有些人看幾眼別人的代碼就說寫得差,於是我經常和人說,技術人員不要為難技術人員,不要以彰顯自我的心態來看人,要以開放的心態大家共同提高。

另外,很多人注重技術,而不注重產品,大的東西能搞好,但是細節就不願去搞,結果搞成80%,後面20%遲遲不能完善,只要沒有完善,就不是一個產品,不是產品就不能營利,不能營利就沒有價值。技術構成產品,但是產品不等於技術,技術一定要形成產品才有價值,這才是我們做為技術人員的價值體現。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.