Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
A common goal for DSLs is to create a more transparent environment, one in which it’s clear what the system is doing and why. It usually works beautifully in the demo, and as long as the system remains small. Where it often fails is when the system reaches a critical mass, when it has hundreds or thousands of scripts working together to produce the appropriate results. In one such system I worked on, we had well over 15,000 scripts; in another, we had close to 4,000. As you can imagine, we ran into several problems with these systems that we hadn’t seen when they were small.
A lot of the solutions in this chapter resulted from working in that type of scenario. They’re applicable and valuable in smaller-scale languages, but their value will truly become apparent after your system has become successful and sees a lot of use.