How to choose the right language
silentbicycle: You probably won't have enough experience to decide which language is a better fit for a project until you know at least one of them quite thoroughly. At that point, the differences that will actually matter to you should be much clearer.While people can argue about the relative merits of Ruby and Python for days, the direct impact of language characteristics on a beginner are likely to be overwhelmed by other issues. For example, if a friend knows one of them quite well, go with that one - he/she can probably answer some questions, and in the short term that's far more important.The same principle holds for Linux/BSD distributions, version control systems, and so on: If there's not a huge consensus and the differences don't mean much to you, just pick one. You'll be in a better position to make an informed decision later, and you're not stuck with it forever. Time spent trying to decide could instead be put toward learning the basics.Another example that comes to mind is systems for parsing. There's ANTLR, lex + yacc, packrat parsers/PEGs, Prolog's DCGs, etc. While they have different strengths, any deep comparison will also nonchalantly throw around terms like LALR(1).