Take a look at our technology and DSL pages for more information on DSLs.
Software development is a very complicated process and programmer time is extremely expensive.
As a consequence, problem-oriented tools that will increase the productivity of programmers are very valuable. Such tools not only increase productivity, but also increase the level of trust on the final product. A tool that will provide easy maintenance and high portability is bound to be indispensable for any programmer. A good DSL goes a long way in this direction. The process of creating a DSL requires understanding these issues with great confidence.