再讀:編程語言的發展趨勢及未來方向


三年前讀過這篇文章 或者   這里,今天了解到Go語言,就在想以后語言會是什么樣?我想再多也沒用,因為沒有達到大牛的思想境界,只到再看五年前大神的分析。在些做一點總結。

 

1.語言發展很慢,而快速發展的是:框架 、工具

 

2.語言抽象級別越來越高,更簡易使用。比如:scala 基於框架構建的

 

3.未來趨勢會是:聲明式(Declarative)、動態(Dynamic)、並發(Concurrent)

 

4.什么是聲明式編程?

聲明式編程:主要有DSL、函數式編程。(如今的兩項成果)

比如查找一個大於20元的單子:

用Java的循環就要寫過程(How)

用數據庫只用寫一句(What)---DSL

 

5.DSL(Domain Specific Language,領域特定語言,比如:css、sql、Logo)

外部DSL 比如sql、unix-command、XSLT

內部DSL 一系列特別的API、使用模式的別稱 比如LINQ查詢語句、Ruby on Rails、jQuery代碼 

 

6.函數式編程

 

說白了就如寫數學算式一樣,y=x+1 (x、y都是不可變狀態)。不是平時用的x=x+1 (x是變量,可變狀態)

APL、Haskell、Scheme、ML、LISP

 

7.動態語言、靜態語言

趨勢:現在分,以后就不會再分了。

動態語言:Ruby Python Javascripts LISP(比如聲明變量,可以不用指定 是int 型,自動會判斷)

靜態語言:C C++ Java 

 

8.元編程:代碼生成的別稱(動態語言容易實現)

 

9.並發

 

並發:以前,一個CPU處理多個進程。現在,一個進程讓多個CPU處理!

 

一個進程多個獨立的任務(用到函數編程的不可變狀態),才能讓多個CPU 高效處理。

 

總結:

編程語言會更加聲明式,需要設法引入一些如元編程、函數編程的能力。並且讓用戶能夠擴展語法,使他們可以構造特定領域語言。

動態與靜態區別不在。

並發方面,會采納一些特性,可以利用起隔離性,函數式的純粹性,以及更好的不可變數據類型的編寫方式。

 

http://blog.mreald.com/168


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM