Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
On Java, Lisp, Ruby and AI: Language explorations (ola-bini.blogspot.com)
8 points by iamelgringo on Jan 2, 2008 | hide | past | favorite | 3 comments


What is the difference between a DSL and an API, btw? I was wondering about that lately. Except that you can make the DSL look a bit prettier in theory, aren't they basically the same thing?


An API is a list of functions you can call. An embedded language (aka DSL) is a programming language adapted for a particular domain, and a programming language is more than a list of functions. It might include special types of iteration, or special syntax. It might even change the whole model of how a program is expressed, e.g. if you wrote purely declarative data-flow language for network simulations.


You may find some of the discussions over at http://lambda-the-ultimate.org/search/node/DSL interesting.

http://homepages.cwi.nl/~arie/papers/dslbib offers the following definition:

A domain-specific language (DSL) is a programming language or executable specification language that offers, through appropriate notations and abstractions, expressive power focused on, and usually restricted to, a particular problem domain.

which is pretty much what pg said.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: