I was designing something for work a couple of months back. I got a little fancy and added a domain-specific language to the first draft, thinking that it could be useful for handling some special case requirements from the business that we haven’t considered for. I pulled it out in a later revision, thinking to myself “nah, you’re not going to need that anytime soon.”

Well, some changes came through from the business today, and now I wish I kept in that DSL. It hasn’t even been a week. 😛

P.S. I tend to add DLSs into every single project I build so don’t take this post as justification to add a scripting language to your next project just because “it could be useful”. 😉