Do we really need Domain Specific Languages ?




One of the features of DSLs often cited is enabling non programmers to write "computer programs" in near natural language.

So for example business people or final users will be able to write requirements for a software application in plain English and developers will be able to "run" the requirements just like a computer program that test and verify  the application against the requirements.
Well, not in plain English, but at least in a way easier to understand to business people or final users than the current alternative e.g. FitNesse.

Michael Feathers points out that even when using a natural language to program a computer it seems easier, it does read better, but you still have to think like a programmer!
So it looks like natural languages are not the key point.

And then, do real people really have an hard time learning computer programming? Say a musician, an accountant, a painter, a sociologist, a psychologist, a biologist or a doctor ?







So people is capable of learning computer programming more that we (computer programmers) think when they have valuable reasons to do so. For this purpose DSLs imho are not essential, they just add more complexity.







[1] Processing is an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists. Is an open project initiated by Ben Fry and Casey Reas. It evolved from ideas explored in the Aesthetics and Computation Group at the MIT Media Lab.

[2] Openframeworks is a c++ library designed to assist the creative process by providing a simple and intuitive framework for experimentation.

[3]
NetLogo is a programmable modeling environment for simulating natural and social phenomena. It was authored by Uri Wilensky in 1999 and is in continuous development at the Center for Connected Learning and Computer-Based Modeling. NetLogo is particularly well suited for modeling complex systems developing over time. These simulations address many content areas in the natural and social sciences, including biology and medicine, physics and chemistry, mathematics and computer science, and economics and social psychology.

Print | posted @ Sunday, October 11, 2009 11:10 PM

Comments have been closed on this topic.