Conclusion

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 GPL 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.

Problems

Before one ever can built a good domain language one must learn the domain.
Which is true for software development in general.

Designing a new a programming language from ground up is not as evident as it seems.
Also true for API design, a good api should designed as if it was domain language

Creating a new languages can be very expensive task in terms of development.
Lucky there are tools that can help you along the way such as XML tools and parser generators. A domain specific language is a very powerfull concept which especially in larger projects reduce cost significalty

May be very temping to go out of scope. Every domain langauge may become a general purpose langauge sooner or later.
Yes it is!, keep it simple, nail down the scope!!!

IDE support for your new language would be very limited.
Luckly tools support for technology like XML is almost built in most editors

Extra training, as nobody will know your langauge.
The new language offers new benefits learning this would be acceptable.
Using existing syntaxes and semantics is a way to reduce the learning curve.
Should be more natural than it's general counterpart.
Could be so simple that seeing is learning.

Resources

Add new attachment

In order to upload a new attachment to this page, please use the following box to find the file, then click on “Upload”.
« This page (revision-17) was last changed on 19-Oct-2006 05:39 by TS [RSS]