Editing Domain Specific Language (DSL)

Jump to: navigation, search

Please note that you are now editing the latest revision of this page, which is not the approved one shown by default.

Warning: You are not logged in.

Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
t8IDZi  <a href="http://zzrduqneuumc.com/">zzrduqneuumc</a>, [url=http://rvaqqdmoajpr.com/]rvaqqdmoajpr[/url], [link=http://oyajkbhhvtsn.com/]oyajkbhhvtsn[/link], http://ligjqctprdbo.com/
+
A '''domain specific language''' (DSL) is a programming language designed to be useful for a specific set of tasks, in contrast to general-purpose programming languages.  
 +
 
 +
The term '''DSL''' stands in contrast to '''General Purpose Language''' (which refers to languages intended for solving a wide variety of problems, but not adapted or optimized for solving problems in a particular domain. Examples of General Purpose Languages: ''C, Java, Haskell, Common Lisp, and Perl''.  
 +
 
 +
A DSL is somewhere between a tiny programming language and a scripting language, and is often used in a way analogous to a programming library.
 +
 
 +
DSLs are languages (or most often, declared syntaxes or grammars) with very specific goals in design and implementation. For instance, the command line utility grep has a regular expression syntax which matches patterns in lines of text. The sed utility defines a syntax for matching and replacing regular expressions. Often, these tiny languages can be used together inside a shell to perform more complex programming tasks.
 +
 
 +
A computer language like SQL presents an interesting case: it can be deemed a DSL because it is specific to a specific domain (in SQL's case, accessing and managing relational databases), and is often called from another application
 +
 
 +
A good example of DSL is the functional language XSLT, specifically designed for transforming one XML graph into another.  
 +
 
 +
To summarize, an analogy might be useful: a Very Little Language is like a knife, which can be used in thousands of different ways, from cutting food to cutting down trees. A DSL is like an electric drill: it is a powerful tool with a wide variety of uses, but a specific context, namely, putting holes in things (although it might also be used to mix paint or remove screws). A General Purpose Language is a complete workbench, with a variety of tools intended for performing a variety of tasks. DSLs should be used by programmers who, looking at their current workbench, realize they need a better drill, and find that a specific DSL provides exactly that.
 +
 
 +
[[Category:Basic Concepts]]

Please note that all contributions to eplmediawiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Eplmediawiki:Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)
Personal tools
Namespaces

Variants
Actions
Navigation
extras
Toolbox