There are some aspects that people generally use to judge the value of a programming language:
3-Availability of tools, compilers, libraries
4-Availabilty of programmers in that language
5-The cool factor
As I read once somewhere "There is nothing faster than C" lol. Besides assembly, there are not many languages that compares with C execution time. This is important for games, real-time systems and embedded systems.
If speed was the only thing the matters, you could write your code entirely on machine code or assembly. However, unless you are writing a simple routine, you will need a more higher level language to finish it on a reasonable time frame. Depending on the problem you may start looking for options better than C and C++. A language expressive power is a measure of how much you have to write vs how much you get accomplished. Of course only size is not enough. You need to minimize the program size while minimizing the number of different constructs the programmer needs to know.
Availability of tools, compilers, libraries
A language does not exist on the vacuum.A good editor and a smart compiler makes all the difference when it comes to productivity.
Availability of programmers
If you need to build a team, you will have a better luck with java than with some obscure language. A more popular language will also have a large community to contribute with help and tools. It will probably get more attention from the language developers/maintainers.