atitit.高級編程語言的特性 and 將來趨勢與進化.docjava
1 編程語言的發展歷程 1python
1.1 編程語言的進化,起始發現背後的思想 :不論什麼兩個系統之間的複雜性,都可以經過加入一個抽象層要屏蔽 1數據庫
1.1.2 高級語言:java,.net 跨平臺(os)抽象層vm 2api
對於彙編語言的問題。主要要解決跨硬件平臺,加入一個抽象層,這個就是硬件抽象層
爲了解決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);
這裏面。functionkeyword。returnkeyword,各類符號,事實上實際意義都不大,因爲JS語法設計,而必須要加上,這就是一種噪音。
有趣的是,向python這種語言對於「去噪」的追求達到了極致,甚至不惜用空白作標誌幹掉花括號,這個作法致使了其譭譽參半,喜歡的人特別喜歡,不喜歡的人特別討厭。
眼下不少語言都可以本身主動垃圾收集。。
但是僅僅是內存。。
數據庫。網絡,以及磁盤io鏈接任然有泄露的可能。
。
儘量的分離爲好。
程序和數據也不該該被分開。
因爲現代數據操做和模塊化的基礎是並行程序(parallelism),而有效實現並行的基礎是程序的first-class表達,也就是把程序做爲一種基本數據類型。
閉包、多個返回值
庫與語法融合在了一塊兒。
咱們可以看到在Java中對字符串String對象的操做可以簡單地使用操做符+、+=進行操做。然而String自己並不是關鍵 字,但是可被編譯器識別。因爲你換成其餘對象可能就沒法用這些操做符來進行操做了。
而對String類的實現自己可用一個用Java編寫的相對獨立的庫進 行實現。
事實上將語法體系與語言自帶標準庫綁定仍是有很多優勢的。
首先,這easy被擴展,開發人員可以依據本身的需求來本身定義某些語法的行爲。
其次,對編譯器而言可以減 輕壓力。某些執行時行爲可以交給標準庫進行實現。
這樣,編程語言可以比較方便地被打形成比較完備的語法體系。這樣的耦合也加強了編程語言的執行時能力。包含 靈活性、可擴展性。
偏向傻瓜式的編程,直接用IDE的代碼輔助就能把代碼敲出來。
java那種展示精美的架構的同一時候,卻要求程序猿本身一塊塊磚搭起來的風格逐漸沒落...
atitit.編程語言的將來趨勢與進化結果
Atitit.現代高級語言的特性以及趨勢attilax總結