How to choose the right language
gdp: There are probably two dimensions to this:1) Whether the features and capabilities of the language match the task2) Your familiarity with using a given language for a type of task.There might be a third, somewhat less tangible concept of "elegance" mixed in there too, insofar as that some languages might lend themselves to very direct, elegant solutions to a particular problem, while others might require more round-about ways of doing things.If you wanted to become good at comparing programming languages, the best way would probably be to read up on various classes of programming features.  For example, type systems, object systems and other factors that generally influence programming language design.  The other way would be to actually use some of the languages in question to get a sense of whether they agree with your preferred manner of problem solving.  This might also give you a chance to explore library support and documentation and other related factors are that might influence your decision.After you've programmed in a bunch of different languages, using a whole lot of different paradigms, you generally start to be able to pick the similarities and differences between languages pretty quickly, hopefully with reference to your past experience about what you do and don't like in a programming language.