1. DSL與通用編程語言的區(qū)別
本文關(guān)鍵詞:領(lǐng)域?qū)S谜Z言實戰(zhàn),由筆耕文化傳播整理發(fā)布。
> 其他綜合 > 領(lǐng)域?qū)S谜Z言實戰(zhàn) 1. DSL與通用編程語言的區(qū)別 2013-10-09 16:10:18 我要投稿
本文所屬圖書 > 領(lǐng)域?qū)S谜Z言實戰(zhàn)
《領(lǐng)域?qū)S谜Z言實戰(zhàn)》不僅介紹如何使用DSL 解決問題,還會使用Ruby、Groovy、Scala、Clojure 等現(xiàn)代語言闡述DSL 的設(shè)計與實現(xiàn),針對這些語言所代表的不同編程范式深入討論其在DSL 設(shè)計上的優(yōu)劣。本書共分三部 立即去當當網(wǎng)訂購
領(lǐng)域?qū)S谜Z言這個名字其實已經(jīng)給出了答案。你應該牢記DSL最重要的兩個特征:
一種DSL專門針對一個特定的問題領(lǐng)域;
DSL含有建模所需的語法和語義,在與問題域相同的抽象層次對概念建模。
用DSL編程時只需要處理問題域的復雜性,你用不著操心解答域的實現(xiàn)細節(jié)和其他非必要因素。(關(guān)于非本質(zhì)復雜性的討論,參見附錄A。)因此,多數(shù)情況下非專業(yè)程序員也能用好DSL,前提是DSL具備了適當?shù)某橄髮哟。?shù)學家能輕松學會使用Mathematica進行工作,UI設(shè)計師寫起HTML來怡然自得,就連硬件工程師都有VHDL(超高速集成電路硬件描述語言,是一種在電子設(shè)計自動化即EDA領(lǐng)域使用的DSL)可用,這些都是非專業(yè)程序員使用DSL的例子。因為要適應非程序員,DSL必須比通用編程語言更符合用戶的直覺。
程序并不是一次寫完了事,之后還要維護更新很多年,,而其中負責“照料”程序的人很可能并沒有參與設(shè)計最初的版本。因此,溝通是一個關(guān)鍵問題:程序要有能力與它的目標讀者溝通。對于DSL,編譯器和CPU都不是它的直接讀者,有心理解程序行為的人類大腦才是它的“傾訴對象”。語言要利于交流,要讓代碼片段能夠充分體現(xiàn)出建模者的思考過程。這就要求在設(shè)計DSL的時候為語法和語義都找準適合用戶的抽象層次。
點擊復制鏈接 與好友分享!回本站首頁 您對本文章有什么意見或著疑問嗎?請到論壇討論您的關(guān)注和建議是我們前行的參考和動力 上一篇:1.3.1 何為DSL 下一篇:2. DSL對業(yè)務用戶的益處 相關(guān)文章1.1 簡介和CMMI入門
1.1.1 cmmi入門
1.1.2 短語“CMMI 符合性”在本書
1.2 敏捷方法入門
1.2.1 敏捷原則和實踐
1.2.2 書中使用的敏捷術(shù)語
2.1 本章的學習內(nèi)容
2.8.1 精簡多余過程以縮短響應時間
2.10 了解CMMI模型的目的,幫助組織
2.11 使用CMMI模型時可以通過不同的
圖文推薦本文關(guān)鍵詞:領(lǐng)域?qū)S谜Z言實戰(zhàn),由筆耕文化傳播整理發(fā)布。
本文編號:53267
本文鏈接:http://www.sikaile.net/wenshubaike/mishujinen/53267.html