編程語言之爭:我感覺自己被害了

有很多年,我都認為編程語言只是一種工具,練到一定的程度自然可以超越語言本身,至于你使用哪種工具就顯得不是很重要了。就如武俠小說中的各門各派的武功各有長短,但每個門派的武功練到極致都可以成為萬人敬仰的大俠,對于站在巔峰的大俠人門是從來不會在意他們用的是哪個門派的武功。

而且最后大俠往往會告許你最高的境界是“無”,無招無勢無劍無我。我一直被這些思想影響著,所以一開始用C和Delphi,后來在因公司項目轉到JAVA,包括中途有一陣子用過Symbian C++和WinPhone的C#,也只是“隨緣”而已自己并沒有在意過它們。

而最近的閱讀和思考,受到了一些不同的啟發,發現對于語言自己有很多錯誤的認識。現在,我更多的把語言理解成一種思維,而不是單純的工具。最近看了Ruby語言之父松本行弘的《代碼的未來》,松本行弘在一個講座中給學生出了一個題目“想象一下20年后的編程語言”,你現在使用的語言還會存在20年嗎?其實也可以簡單的這樣問,你現在的思維模式能適應20年后的時代嗎?

縱觀這半個多世紀以來產生的編程語言,其思想并不沒有發生很大的飛躍,你現在使用的很多語言的特性,在上個世紀五六十年代就已經存在了。如GC,函數式編程。而計算機硬件正如摩爾定律描述的那樣,發現了翻天覆地的變化,從這方面上來比較,雖然近十來年也誕生了各種編程語言,但編程語言的發展仍處于停滯狀態。

從匯編語言開始,編程語言的進化一個顯著的特點就是“抽象化”。抽象化就是提供一個抽象的概念,使用者即便不具備關于其內部詳細情況的知誤,也能夠對其進行運用。人類一次所能掌握的概念數量是有限的,有說法稱,大部分人一次只能駕馭7(加減2)個左右的概念。這樣一來,如果能夠讓問題的處理方式更加抽象,也就可以解決更復雜的問題。所以松本行弘在《代碼的未來》中也給我們講解了DSL(特定領域語言)相關的知識,DSL的優點是,可以直接使用其對象領域中的概念,集中描述“想要做到什么”(What)的部分,而不必對“如何做到”(How)進行描述。

Android應用的開發者肯定接觸過DSL,雖然你并不一定知道什么DSL??纯醋约旱腁ndroid Studio中的.gradle文件。

關于不同編程語言,網上常有各種爭吵,而且也存在一些“鄙視鏈”的說法,如C++程序員鄙視Java程序員。這里并不想引起或者延續不同編程語言的爭論,只是想說明:“如果不同的編程語言代表不同的思維,那么編程語言之間是有很大的區別的,使用不同的語言會返過來對程序員的思維方面產生影響?!?/p>

那么,你受到它們的影響了嗎?有沒有感覺無法接受別的語言了呢?我覺得這才是我們要想清楚的問題,如果我們的思維模式被固定死了,萬一我們使用的編程語言過不了多久就被時代淘汰,是否也說明受這種思維影響的程序員們也很容易被淘汰呢?

所以,我才感覺自己被害了。并不是說Java這種語言不好,而是我只把它當成工具,而忽視它各內在的東西,自己的思維模式卻在不知不覺中受到它的影響,最終自已給自己建了一道圍墻。

拆掉思維的圍墻,去找一個20年后還可能存在的編程語言學學,代碼的未來也許就是程序員的未來。

怎么找呢?看一下松本行弘的《代碼的未來》吧。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,973評論 19 139
  • 三聯花卉鉆石畫 清新田園郁金香給家一個藝術氛圍,每當下班拖著疲憊的身體,回到家的時候,看到自己親手點制出來的郁金香...
    藝雕豪閣閱讀 962評論 0 0
  • 某日,我停下匆匆的腳步,收斂急促的呼吸,我屏息凝視拍下了她們婀娜的身姿,勤勉地吮吸,翩然璇舞的微鏡頭。 ...
    養云齋閱讀 712評論 7 3
  • #iwill五歲感言---致iwiller# 在這特別的日子,想對可愛的iwiller們說幾句。千萬要沉住氣,你們...
    happyday98閱讀 165評論 1 1
  • 我記得小的時候,每次在奶奶爺爺或老娘老爺家聚完餐之后,或者通俗點說就是走完親戚之后,回到自己的家里。我們都...
    愛自己活當下閱讀 186評論 0 1