跳转到内容

领域特定语言:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
无编辑摘要
无编辑摘要
第1行: 第1行:
{{Unreferenced|time=2022-01-06T05:01:21+00:00}}
{{Unreferenced|time=2022-01-06T05:01:21+00:00}}
{{expand language|en}}
{{expand language|en}}
'''領域特定語言'''(英語:domain-specific language),簡稱'''DSL''',是專門針對特定應用{{link-en|領域 (軟體工程)|Domain (software engineering)|領域}}的[[计算机语言]],和可以用在多種領域的{{link-en|通用電腦語言|general-purpose language|通用語言}}(GPL)恰好相反。像[[HTML]]專門用在[[網頁設計]]上,就屬於領域特定語言,也有些領域特定語言只用在一個或幾個軟體上,例如{{le|MUSH|MESH}}軟體碼。領域特定語言還可以依使用的語言分類,像是領域特定的[[標記語言]]、領域特定的[[建模語言]](或更廣義的[[規格語言]])以及領域特定的[[程式語言]]。從電腦發明開始,就已出現特定用途的電腦語言。而「領域特定語言」一詞是隨著[[特定域建模]](domain-specific modeling)的興起,才開始廣為使用。簡單的領域特定語言(特別是只有單一應用程式使用的領域特定語言),有時也會稱為'''迷你語言'''。
'''領域特定語言'''(英語:domain-specific language),也稱為'''特定域語言''',簡稱'''DSL''',是專門針對特定應用{{link-en|領域 (軟體工程)|Domain (software engineering)|領域}}的[[计算机语言]],和可以用在多種領域的{{link-en|通用電腦語言|general-purpose language|通用語言}}(GPL)恰好相反。像[[HTML]]專門用在[[網頁設計]]上,就屬於領域特定語言,也有些領域特定語言只用在一個或幾個軟體上,例如{{le|MUSH|MESH}}軟體碼。領域特定語言還可以依使用的語言分類,像是領域特定的[[標記語言]]、領域特定的[[建模語言]](或更廣義的[[規格語言]])以及領域特定的[[程式語言]]。從電腦發明開始,就已出現特定用途的電腦語言。而「領域特定語言」一詞是隨著[[特定域建模]](domain-specific modeling)的興起,才開始廣為使用。簡單的領域特定語言(特別是只有單一應用程式使用的領域特定語言),有時也會稱為'''迷你語言'''。


領域特定語言和通用語言之間沒有明確的界線,因為可能计算机语言原來有一些適用於特定領域的特徵,但也可以應用在更通用的範圍,相反的,也有可能一個计算机语言理論上可以用在多種領域,但實務上只用在特定領域中。像[[Perl]]一開始是設計為文字處理語言以及[[膠水語言]](和[[AWK]][[外壳脚本]]的領域相同),但後來成為通用的程式語言。相反的,[[PostScript]]是[[圖靈完備性|圖靈完備]]的語言,但實際上只用作[[頁面描述語言]]。
領域特定語言和通用語言之間沒有明確的界線,因為可能计算机语言原來有一些適用於特定領域的特徵,但也可以應用在更通用的範圍,相反的,也有可能一個计算机语言理論上可以用在多種領域,但實務上只用在特定領域中。像[[Perl]]一開始是設計為文字處理語言以及[[膠水語言]](和[[AWK]][[外壳脚本|shell script]]的領域相同),但後來成為通用的程式語言。相反的,[[PostScript]]是[[圖靈完備性|圖靈完備]]的語言,但實際上只用作[[頁面描述語言]]。


==用途==
設計及使用適合的領域特定語言,是{{le|領域工程|domain engineering}}中重要的一環,作法可能是選擇適合此領域的現有語言(可能是某個領域特定語言或通用電腦語言),也可能是開發一種新的領域特定語言。[[面向语言的程序设计]]會把為了描述問題而創建特定語言一事,視為問題解決流程的標準步驟之一。假如用一種新的領域特定語言描述某種問題,會比用現有語言描述更加清楚,而且這種問題又常常出現,那麼創建此一領域特定語言(以及配合的軟體)就是值得的。領域特定語言可以針對特定的問題領域、特定的問題表示方式、特定的解決方案技術,或是某一領域的其他層面。
==相關條目==
==相關條目==
*{{le|語言工作檯|Language workbench}}
*{{le|語言工作檯|Language workbench}}

2022年10月8日 (六) 11:22的版本

領域特定語言(英語:domain-specific language),也稱為特定域語言,簡稱DSL,是專門針對特定應用領域计算机语言,和可以用在多種領域的通用語言英语general-purpose language(GPL)恰好相反。像HTML專門用在網頁設計上,就屬於領域特定語言,也有些領域特定語言只用在一個或幾個軟體上,例如MUSH英语MESH軟體碼。領域特定語言還可以依使用的語言分類,像是領域特定的標記語言、領域特定的建模語言(或更廣義的規格語言)以及領域特定的程式語言。從電腦發明開始,就已出現特定用途的電腦語言。而「領域特定語言」一詞是隨著特定域建模(domain-specific modeling)的興起,才開始廣為使用。簡單的領域特定語言(特別是只有單一應用程式使用的領域特定語言),有時也會稱為迷你語言

領域特定語言和通用語言之間沒有明確的界線,因為可能计算机语言原來有一些適用於特定領域的特徵,但也可以應用在更通用的範圍,相反的,也有可能一個计算机语言理論上可以用在多種領域,但實務上只用在特定領域中。像Perl一開始是設計為文字處理語言以及膠水語言(和AWKshell script的領域相同),但後來成為通用的程式語言。相反的,PostScript圖靈完備的語言,但實際上只用作頁面描述語言

用途

設計及使用適合的領域特定語言,是領域工程英语domain engineering中重要的一環,作法可能是選擇適合此領域的現有語言(可能是某個領域特定語言或通用電腦語言),也可能是開發一種新的領域特定語言。面向语言的程序设计會把為了描述問題而創建特定語言一事,視為問題解決流程的標準步驟之一。假如用一種新的領域特定語言描述某種問題,會比用現有語言描述更加清楚,而且這種問題又常常出現,那麼創建此一領域特定語言(以及配合的軟體)就是值得的。領域特定語言可以針對特定的問題領域、特定的問題表示方式、特定的解決方案技術,或是某一領域的其他層面。

相關條目