I suppose when looking at all round languages, I think of languages that are capable of doing many things. Looking closely, Ive never found the answer, only a "tool for a job". I believe after years of hiring SW engineers that every engineer should have 4 languages...1. a low-level programming language, 2. An OO programming language 3. a scripting language, 4. A rapid tool making language. I see this also in the demoscene, the very best have all 4 so they can do complex tools, data processing and the demo itself.
In the end then my list comes down to:
1. Java
2. C
3. Perl
4. Ruby
5. Delphi/C#
I have dismissed languages which dont work outside of the PC for main languages as most programming platforms in the world are not PCs but for tools the PC is obviously dominant . I dont include ASM as it varies from platform to platform so , to me, its more of a methodology than a language.