I like the idea of many small special-purpose languages. In that view, a language or an API (to some specific library) has the same goal: expose some functionality to the programmer. The nice thing with a specific language, is that it can be tailored, syntactically, to the purpose of the 'library'. It's a bit more work to wrap those functionality into a language instead of just an API, but I believe the amount of learning one would be in favor of the language kind.