Java Named Top Programming Language of 2015 (dice.com)
Nerval's Lobster writes: What was the most popular programming language of 2015? According to the people behind the TIOBE Index, Java took that coveted spot, winning out over C, Python, PHP, and other languages. "At first sight, it might seem surprising that an old language like Java wins this award," read TIOBE's note accompanying the list. "Especially if you take into consideration that Java won the same award exactly 10 years ago." Yet Java remains essential not only for businesses, it continued, but also consumer-centric markets such as mobile development (i.e., Google Android). That being said, even big languages can tumble. (Dice link) Objective-C tumbled from third place to 18th in the past 12 months, thanks to Apple's decision to replace it with Swift. In 2016, TIOBE expects that "Java, PHP (with the new 7 release), JavaScript and Swift will be the top 10 winners for 2016. Scala might gain a permanent top 20 position, whereas Rust, Clojure, Julia and TypeScript will also move up considerably in the chart."
What has been your most-used (or best-loved) programming language of the last 12 months?
Java took that coveted spot, winning out over C, Python, PHP, and other languages. "At first sight, it might seem surprising that an old language like Java wins this award," ...
Interesting comparison, singling out Java as "old". Python is older. From Wikipedia:
Age doesn't matter. Usefulness does. My top language: Perl - First appeared 1987; 29 years ago.
It must have been something you assimilated. . . .
The popularity is largely because Java has two niches: enterprise applications, and Android apps.
This does not necessarily mean people like it. On the enterprise side, the only other viable choices are Microsoft languages, and COBOL; and for the Android native app side, there are no viable alternatives (with good-enough market share).
C++ is better suited to hardware-centric applications and system drivers rather than CRUD, and business/enterprise.
It's more of a lack of choice than it is love of Java. For smallish web-oriented apps and internal scripting there are choices like Php, Python, Perl, and Ruby. But if you want a compiled language, the viable choices are very limited.
Don't get me wrong, there are plenty of compiled languages with the potential to gain sufficient market share, but until they do, they are a risky platform investment for most orgs.
Table-ized A.I.
It has puzzled me why reputedly intelligent people at google would handicap their platform by such an obviously slow, inefficient language. Android is C and NMI under the covers anyway. One wonders if James Gossling is behind it?
Because it allowed them to be CPU architecture agnostic. I don't believe an ARM based CPU is a requirement for Android?
Jumpstart the tartan drive.
Hardly anybody is a "rabid fan" of Java. It's a mature, full-featured language with a healthy (perhaps leading) ecosystem of APIs, tools, developers, and training materials, that is considerably faster compared to scripting languages in many situations. This is reality, not fandom.
This.
I don't like Java. It's the worst of the "curly brace languages" IMO. But I still find it vastly better than the scripting languages, even Python. The ability to find problems at compile time is very important indeed.
I like C# better, but it's a hard sale for Linux server code. I like C++ better for my own code, but I have vastly more confidence in my ability to train a fresh college hire to write safe code in Java than in C++. Hell, I enjoy writing C code more than Java code, but it's not very productive where Java is used today.
Socialism: a lie told by totalitarians and believed by fools.
The runtime was actually never particularly bad. Java mostly got its bad rap from poor Swing performance (not as smooth, and not as good looking as the native apps). People perceived that "visual lag" as the language being slow, while in reality it has always been pretty damn fast.
If you are using Java for Sys-Admin tasks or similar "dev ops" stuff, you should check out Groovy.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
The runtime was actually never particularly bad. Java mostly got its bad rap from poor Swing performance (not as smooth, and not as good looking as the native apps). People perceived that "visual lag" as the language being slow, while in reality it has always been pretty damn fast.
The VM initialization time and memory consumption in early Java didn't help, even the smallest program felt like a 747 taking off. That the controls felt like one too didn't help. Now a 747 is obviously a very useful plane in the right place and all but most people just wanted a Cessna. I remember running things like Azureus/Vuze, thank god for uTorrent and later qBittorrent. Maybe it's possible to write good java code but it seems to encourage being a sloth.
Live today, because you never know what tomorrow brings
Programming languages are just tools, like hammers and screwdrivers. Use the right tool for the job. Mostly the choice of language for a particular job will be centered on which packages you need -- since nobody writes code from the ground up anymore. If you are looking at Python, check out Flask & Django as examples of powerful frameworks available to you there.
There is a tremendous install base of existing Java applications out there, so if you are a programmer, you will need to eventually learn Java (and C, Groovy, Python, Perl, etc).