2013/7/15 16:41 寫於 家
第十一章 一百年後的編程語言
本章主要是講了一百年後人們會用什麼語言,以及咱們是否如今就能用這個語言呢?
在做者的觀點中,編程語言是有進化的脈絡的,許許多多的分支都會走入到死衚衕中。這種現象已經存在了,例如Cobol語言。如今無人問津,沒有任何語言繼承它。
做者認爲JAVA也是如此。它已經進化到頭了。。你們不喜勿噴啊。
爲何咱們要去想那些符合進化脈絡的語言呢?由於選擇接近進化的主幹可能都是最佳方案,若是你選錯了,你就可能被你的對手搶走獵物。
編程語言是聚合的,並且人們常常會借鑑別的語言。只要你能認清這個進化的線路,那麼你就能夠設計出新的語言了。
任何語言都是有基本運算符的部分和其餘部分組成的。做者認爲,基本運算符應該是越簡單越好。那些內核越小,最乾淨的編程語言纔會存在於進化的竹竿上。一種語言的內核設計得越小,越乾淨,它的生命力就越頑強。
爲何咱們如今能預測將來的語言呢?由於編程語言的進化很慢,它不像技術那樣能夠跳躍式的發展。因此,預測是有可能的。
咱們知道,即使是將來硬件的速度不符合摩爾定律,可是,100年後的硬件的速度絕對比如今快得多。因此,對硬件資源的浪費就不可避免的出現了,咱們每一代人都在作着上一代人以爲浪費的事情。浪費有2中,一種是好的浪費,一種是壞的浪費。咱們須要的是好的浪費。那麼,怎麼充分的利用硬件的速度而最有利地去浪費它呢?
一。在設計語言的時候,咱們要問本身,何時能放棄一點效率,而去讓編程更爲方便呢?
在之前,咱們爲了節約效率,而定義出了字符型,可是字符型就是列表的子集,徹底能夠用列表去替代它。可,爲了效率,仍是弄出來個字符集。正確的作法是把語言的語義與語言的實現予以分離。
二。對實現的方式少作限制,提升程序的靈活性。
essay就是試試作。看成者開始寫軟件的時候,他們其實不知道最後會寫出什麼結果。
三。在應用軟件和硬件之間設置不少的軟件層。這會讓編程靈活起來,並且可重用性提升。
並行計算只會出如今部分必須的應用程序上。
性能分析器會變得愈來愈重要!
一百年後的語言應該是簡單容易上手的,能夠很快就寫出初版。因此,當你要設計語言是,你要脫離現有的束縛,直接寫下你想寫的程序。
判斷語言設計好很差,就是問本身是否是能把它寫的更短一點。若是接系樹越小,每每就越省力。
在有些人看來,大部分語言內核早在1958年就已經設計出來了。
做者的觀點是:1.一百年後的編程語言在理論上今天就能設計出來 2.若是今天真能設計出這樣一鍾語言,極可能如今就適合編程,而且可以產生很好的結果。
當你設計語言的時候,心中緊緊記住目標,可讓你不會偏離方向。編程
轉載請代表出處 http://www.huangweibin.com/編程語言