A real tricky topic isn't it, and always lead to a dirty flight, but I still insits to talk about it since I really hate those dirty flight.
A lot of time, when we are talking about a language is good or not, we talk about it's learning curve, libs, community, performance.
bla bla bla
Technical point of view, to evaluate programming language is good or not, despite the marketing matters, I will sum it up as:
A good programming language should obey this law:
learning_complexity = business efficiency
That says, a learning curve really doesn't matter, a easy to learn language tipically hidding lot's of metrics beyond it business efficiency. It just delay the need of learning, or in another terms, it's a lazy learning type language. The problem is, if you are playing around, those language are good for you to start, if you are mature enough, the language can bring you as high business value as other 'Super B' languages. The common issue on the market is, those language user aren't mature enough but already jump into job market, and employer cannot observe that problem at early time, or even sad, they obey to the fact.
[put some graph here for the concept we use, X = learning complexity, Y = business efficiency]
Training time of any language to archieve same productivity level will eventually approach the same point. If a language cannot do that, that language suck!