What does "not a unique programming language" mean? Perhaps 'discrete' or 'distinct' in place of 'unique'? As not an RoR developer, I'm hardly in a position to say, but surely at a certain point a DSL deserves to be called a language in its own right. (Extreme case (that, I realise, is far past what anyone would call a DSL): Perl, as with many other languages, is written in C, but certainly counts as a separate programming language.)
EDIT, in response to two downvotes: surely it's a legitimate question? I genuinely don't know what it means to say that something isn't unique (except mathematically, that it means that there's more than one of it). Assuming that it means what it seems to mean, how does one draw the line that I mentioned?
>Ruby is a DSL for C since you are working at a much higher level of abstraction than what C offers out of the box.