I disagree. There are other factors. (Unless you are programming alone)
To choose a language I take into account:
1. Popularity and future: if nobody is using it, it is going to be costly to find people that have expertise. Sadly you cannot ignore trends.. Also your platform may be discontinued and people using other platforms may have more tooling at their disposal.
2. Technical merit: this is the point where people usually argue. However, if you've taken a computer languages course in College you probably know a bit about what a good language looks like and what a bad (messy) language is like. For example, people used to hail Pascal and dis BASIC while pragmatists went for C. Today you can find parallels (.. further comments censored to avoid flame wars...). But technical merit isn't everything or we'd all be using Smalltalk!
3. Familiarity / abilities of your team: it is important to know where your team is and what their limitations are in terms of technology because making a switch to something trendy may turn out to be costly as well.
4. Culture and process: will your team write unit tests for all classes or is that just a pipe dream that will never happen? Do you want the compiler to find trivial problems for you? How important is static error checking (Findbugs, PMD, etc..)? Are all your servers Windows servers (consider .Net)? Are all your servers Linux (don't consider .Net)? What is the valuation (from an investor's point of view) of an app written in FoxPro (considered obsolete) vs one written in Java (considered "Enterprise safe") vs one written in Go (considered "unproven")? Can your "source code" be visible to the end user?
5. The project you're working on: love Java? well good luck with that if your project is a iPhone app. Writing device drivers in Python? huh? Different projects require different tools.
Not all languages are the same. The results will not be the same.. And yes.. your project may succeed or fail based on your choices.