Thinking in Current Programming Languages

來源:互聯網
上載者:User
一、現狀
  • 軟體越來越龐大,細節越來越多---->難以改錯,改進
  • 開發週期越來越長---->浪費金錢、生命
二、原因
  • 生產工具與任務之間的差距太大:要砍伐整片森林,手裡只有斧子
  • 生產資料與產品之間的差距太大:要蔥油鯉魚,手裡只有魚籽蔥籽
  • 要建立一個金融系統,手裡只有C++Java編譯器,UML“建模”工具
  • 要建立一個化學反應類比系統,手裡還是只有C++Java編譯器,UML“建模”工具
三、其它領域的範例
  • 要創作一首曲子,只需寫出它的五線譜,你幾乎不可能用自然語言來描述
  • 要證明一個數學定理,只需用數學符號、現有的數學公式來推理、自然語言語焉不詳,不夠精確
  • 要表達一個化學反應過程:只需要寫出分子式、每一步的化學方程式
  • 自然語言在這些領域碌碌無為,或者說在背後默默而為
四、曾經的成功範例
  • C語言代替彙編和機器語言來表示機器模型:在機器的領域中,C語言是問題域的建模語言,有直接的文法來表達定址等概念,彙編才是解決域的演算法實現語言;C語言已經是寫作業系統/虛擬機器較為理想的語言了,但它仍然沒有直接提供進程、線程等概念,而是通過庫來表達
  • DOS命令、Unix命令、甚至FTP命令等:都能直接完成意圖,C/C++是背後的解決域的演算法實現語言
五、現在的成功範例
  • HTML:Web靜態表示領域的描述語言,有直接的術語來表達各種概念,C/C++是背後的解決域的演算法實現語言
  • SQL:資料管理領域的描述語言,有直接的術語來表達各種概念,C/C++是背後的解決域的演算法實現語言
六、推論
  • 通用的東西最終只在後台發揮作用,無論是理論還是工具
七、繼續推論
  • UML將一事無成,直到它退居幕後,或演變成另外一個C++(所謂可執行檔UML)
  • Java或C++會變得象今天的彙編,我們就是60年代的組譯工具員,或公元前修長城的民工、建金字塔的外國民工
  • DSL、LOP以各種面貌登上舞台
  • ...

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.