atitit.高級編程語言的特性 and 將來趨勢與進化.docjava
1 編程語言的發展歷程 1python
1.1 編程語言的進化,起始發現背後的思想 :任何兩個系統之間的複雜性,均可以經過添加一個抽象層要屏蔽 1程序員
1.1.2 高級語言:java,.net 跨平臺(os)抽象層vm 2編程
對於彙編語言的問題,主要要解決跨硬件平臺,添加一個抽象層,這個就是硬件抽象層
爲了解決C語言的跨平臺的問題
做者:: 老哇的爪子 Attilax 艾龍, EMAIL:1466519819@qq.com
轉載請註明來源: http://blog.csdn.net/attilax
而個的語言編程語言通常都是語法和語義綁定在一塊兒的
如今愈來愈有這個趨勢了,各個語言都在添加其餘語言的特性,加強本身的特性,之後各個語言都變的愈來愈相似,功能也愈來愈雷同
或者二手的dsl??
綜合考慮,工業級別的源碼保護的考慮哈,仍是要編譯,,yaneng跟個python雅十,共同的情形哈不編譯器,給客戶的時候兒編譯..
python雅十,經常使用使用script式,,也能編譯了...
動態性意味着更加靈活,意味着開發者有更多的"魔術"能夠玩。而開發者會天生對動態語言有親暱地感受,這是人的本性。
可是凡動態語言,JavaScript、Python、Ruby這些,實際上已經意味着與地層開發無緣了。
同時靈活意味着少約束,少約束意味着大規模程序很難被編寫出來。到目前爲止,不多聽到過超過10萬行級別的JS語言項目,這樣的現象多少與JS的動態性有關。
反過來看,動態性較低的C語言如今成了驅動和OS內核開發的不二之選,由於好像驅動裏面根本用不着那些看上去NB的抽象——即便你用了C++,也是像C同樣用而已
以及ide支持不行。。
因此,綜合考慮,工業級別的 任然是強類型的天下。。也能夠強大的類型推斷和模式匹配
或者,語言支持弱的型,也能強壯的型…必要的的時候兒,能強類型…
Scala是靜態類型的。許多人會把vals="ABC"這樣的看成動態類型特性,而vals:String="ABC"才認爲是靜態類型特性。實際上,這無關類型爭論,而是類型系統實現的範疇。是的,在Scala裏,你能夠放心大膽地使用vals="ABC",而Scala裏強大的類型推斷和模式匹配,絕對會讓你愛不釋手。
Cobol,ada的強壯的理解性…普通的的人們能理解的..
大部分情形哈,仍是簡單的特性ok…而個的java取代了cobol,ada..
抽象能力應該是現階段語言進化的第一優先級,抽象手段無非函數式、過程式和麪向對象三種,看計算機語言的流行歷史, 不難看出 函數式=>過程式=>面向對象=>函數式迴歸 這樣的規律。Lisp一直在學術界評價頗高,可是其商業應用一直低迷,其抽象能力比較弱一直是個重要的緣由。
語言除了功能和設計,「長相」也是很重要的。這裏要提到一個語法噪音的概念,好比JS裏面的function,相比lambda表達式,這個噪音就多了
arr.some(function(x){ return x<2});
而C#裏面能夠這麼寫:
arr.some(x=>x<2);
這裏面,function關鍵字,return關鍵字,各類符號,其實實際意義都不大,由於JS語法設計,而必需要加上,這就是一種噪音。
有趣的是,向python這樣的語言對於「去噪」的追求達到了極致,甚至不惜用空白作標誌幹掉花括號,這個作法致使了其譭譽參半,喜歡的人特別喜歡,不喜歡的人特別討厭。
目前許多語言均可以自動垃圾收集。。可是隻是內存。。
數據庫,網絡,以及磁盤io鏈接任然有泄露的可能。。
儘量的分離爲好。
程序和數據也不該該被分開。由於現代數據操做和模塊化的基礎是並行程序(parallelism),而有效實現並行的基礎是程序的first-class表達,也就是把程序做爲一種基本數據類型。
閉包、多個返回值
庫與語法融合在了一塊兒。咱們能夠看到在Java中對字符串String對象的操做能夠簡單地使用操做符+、+=進行操做。然而String自己並非關鍵 字,可是可被編譯器識別。由於你換成其它對象可能就沒法用這些操做符來進行操做了。而對String類的實現自己可用一個用Java編寫的相對獨立的庫進 行實現。
其實將語法體系與語言自帶標準庫綁定仍是有很多好處的。首先,這容易被擴展,開發者能夠根據本身的需求來自定義某些語法的行爲。其次,對編譯器而言能夠減 輕壓力。某些運行時行爲能夠交給標準庫進行實現。這樣,編程語言能夠比較方便地被打形成比較完備的語法體系。這種耦合也加強了編程語言的運行時能力,包括 靈活性、可擴展性。
偏向傻瓜式的編程,直接用IDE的代碼輔助就能把代碼敲出來。java那種展示精美的架構的同時,卻要求程序員本身一塊塊磚搭起來的風格逐漸沒落...
atitit.編程語言的將來趨勢與進化結果
Atitit.現代高級語言的特性以及趨勢attilax總結