Tuesday, May 8, 2007

D.S.L.

DSL!! When I heard this word for the very first time from Amit, I interpreted it as Digital Subscriber Line. He also told me that “DSL” is very hot these days and he is working on it. But what is a J2EE developer has to do with DSL. I was confused and lost completely.

Oh I forgot to introduce Amit. His full name is Amit Swami. At present working with a renowned company called ThoughtWorks. He is my collage mate and the only source of information about new happenings in the world of IT. For any J2EE related questions you can buzz him, which I regularly do. And not to mention that he is one of the few good friends I have.

Ok back to the story. I thought he is trying to make a switch, which is very possible with him. But again WHY? Then after two three days I asked him – “Is every thing OK?”. He said “Yes”. “Then why you are trying to make a switch to a whole new world?” I asked. Now he was punch-drunk and without wasting time immediately replied – “WHAT!! What are you talking about? Who told you that? Why would I need to change my job?”. These are very few whats and whys. “Then why you are working on DSL – digital subscriber Line?”. The moment I ended my sentence he was howling. He was literally laid down on the floor and laughing and screaming – “Oh GOD”. I was sitting idle with not even a single expression on my face and thinking – “Did I pass a joke?”. After few minute some how he was able to control himself and said - “DSL stands for Domain Specific Language”. So guys now you know that DSL “ALSO” stands for Domain Specific Language. “Haaaaaaaaaaaaahaaaaaaaaaaa”…..this is how I ended the memorable and mind blowing conversation. So here are the details of DSL and this time it is Domain Specific Language.


Domain-specific programming language
From Wikipedia, the free encyclopedia

A domain-specific programming language (domain-specific language, DSL) is a programming language designed to be useful for a specific set of tasks. This is in contrast to general-purpose programming language (general-purpose language, GPL), such as C or Java, or general-purpose modeling languages like UML. Examples of DSLs include spreadsheet macros, YACC for parsing and compilers, Generic Eclipse Modeling System for creating diagramming languages, Csound, a language used to create audio files, and GraphViz, a language used to define and create visual representations for directed graphs.

DSLs have also been called by various names:
  • Little languages
  • Macros (in reference to the macro feature found in spreadsheets, word processors, and other applications, and not to the powerful programming language macros, which are frequently employed to implement DSLs)
  • Application languages
  • Very high level languages

DSLs focus on doing one sort of task well. For instance, GraphViz is designed to create images of graphs in a variety of formats, but GraphViz lacks the capability to perform some basic tasks, e.g., accessing a network socket, receiving additional user input, or manipulating strings.

For further reading: http://en.wikipedia.org/wiki/Domain-specific_programming_language

No comments: