Well I was looking at this website and found this interesting thing for you people. If you want to learn any programming language after C++ my recommendation is to learn this article this really going to help you in deciding.
PYPL seems to measure which languages non-programmers try to program in. I find it hard to believe that Java has as much market share as C, C++, and C# combined.
TIOBE is more reliable, but I really have to question it as well. Is Visual Basic really as popular as their index indicates? I can't imagine that the number of VB programmers is more than half the number of C++ programmers.
It would also be interesting to see statistics per platform. Java and Objective-C are boosted quite a bit because of mobile app development, which isn't really comparable to development on other platforms which actually support many programming languages. Ranking languages based on search results cannot provide this kind of data.
Well there will always be different opinions about the language of the year and other such claims unless there comes along 1 language that does everything and all the others fade away. For instance how would you base the winner of the language of the year? Most programs programmed in that language? What program language made most of the best selling software for that year? Most innovative language? The list goes on and on.
Unless one language can top the charts for every one of them there will be no certain "winner".
Like that quote said that has been floating around these forums
There are only two kinds of programming languages: those people always bitch about and those nobody uses. -- Bjarne Stroustrup
I think vlad is using the definition that means a language is something that is compiled directly to machine code and not bytecode or other in-between states not directly interpreted by the OS. Of course this makes Java a programming language only on Java Machines, where Java bytecode is machine code.
But C# uses the exact same model as Java; it's AOT-compiled to an intermediate language (Java bytecode for Java, "Common Intermediate Language" for C#) when the program is compiles, and then JIT-compiled to native code when the program is run on the virtual machine (Java Virtual Machine for Java, Common Language Runtime for C#).
I just don't understand the distinction between "language" and "technology".