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