「軟體的缺陷率和使用的語言無關。」我曾經設計過乙個機遇xml的微型語言。另外,xtest專案讓我向設計乙個全新的,類似於真正語言的語言,而不是簡單的標記語言。
在學習這一章的時候,結合整xtext一起學習一下。
發現xtext有乙個問題,它只可以執行的jvm上。我想設計一種dsl,我可以自己編寫它的直譯器。
開始學習:
**量越少,出錯的機會就越少。
專門領域的小語言是一中非常強大的概念。它能夠自己定義高階的語言,比起用通用語言進行硬編碼,它更加降低全域性的複雜度。
它的核心其實還是抽象,在原有的繼承之上進行了更層次的抽象,形成了更為高階的原語。直接使用這些原語。
設計微型語言的好的方法:
1、 預先認識到可以使用微型語言設計把程式設計問題的規格說明提公升乙個層次。跟通用的語言相比,這種方法更加緊湊,更具表達力。
2、 開發中意識到規格說明越來越像微型語言,可以考慮提取出來。
設計的關鍵是抽象出領域原語,然後在領域原語之上,構造合適的語法。
裝置資源的成本變得越來越廉價,而程式設計師頭腦中的空間越來越昂貴。
乙個專用的解釋性語言不僅可以作為從程序執行完成專門任務,也可以作為整個系統的核心。
總結 Unix設計哲學 Unix程式設計藝術》
學習了這句話其實常見,尤其是花過功夫學習英文的朋友.而這個原則可以應用在生活的各個方面.這一原則是歷經多少專案的檢驗結果,而我們正是站在一位巨人的肩膀上直接看到現在的理所當然的基本規則.如何翻譯呢?我覺得字面上是 簡潔,樸實 精神上可以相較於 大智若愚 哲學上則相似於 道 還要清楚的認識到,這些總結...
《Unix程式設計藝術》
軟體設計的經典書籍,譯者語言功底也是了得 1 unix作業系統發展的歷史,武俠口吻描述的頗有趣味 2 文字化的協議設計方法,應用協議的三元老,學習協議設計的好出處 3 透明性和可顯性,讓活 還是活 讓死 還是死 4 管道之於unix的意義 將大程式劃分成多個行為簡單的子程式,定義好介面。討論了程序執...
UNIX程式設計藝術, 好書
本書寫作了五年之久,作者將unix三十年中未見紙端的艱難勝利的軟體工程智慧型融入文字,使unix家族成為最好最具創新軟體的哲學 設計模式 工具 文化和傳統,raymond將之第一次帶給我們,並向我們展示它們如何影響著當今的 linux和開源運動。通過大量來自頂尖專案的例項,你將學會如何運用這些智慧型...