You're right. Its much easier to have domain specific languages specially built for certain problems. The appeal of a single language, I guess, is that you only need to learn one language and you can work on all problems. Then again, if you have good support for macros and other such "niceties" then you can remold the language to be domain specific anyway, so I think having a single super language isn't so far fetched and is actually not a bad idea really.