A zero-code glance at the Java machine
Most people talk about Java the language, and this may sound odd coming from me, but I could hardly care less. At the core of the Java ecosystem is the JVM.
– James Gosling, Creator of Java
Big questions from the muggle community
If a non-developer asked you “What is Java?”, how would you respond? Sure, you can give the Wikipedia definition, which is this:
Java is a computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers “write once, run anywhere” (WORA), meaning that code that runs on one platform does not need to be recompiled to run on another. Java applications are typically compiled to bytecode (class file) that can run on any Java virtual machine (JVM) regardless of computer architecture.
Seems reasonable. But this answer cannot stand up to simple inquiries about “who makes Java”, could it? Indeed, could you answer questions from a muggle about how new features get added, who decides what features do or don’t make it to future versions, and how does a team of dedicated Java platform engineers and random developers around the world influence the language? Have you ever wondered what the whole “Java” thing is really about, and why, for Pete’s sake, did it take so long to get lambdas into Java? ;-)
Potentially not. And that’s why we thought it would be cool to write a report that covers, well, basically everything we can think of about Java that doesn’t have to deal with the actual code itself. Regardless of whether you’re a developer, architect or team manager, knowing about how Java is planned, executed, shipped and basically made available consistently and reliably around the world, from students in Afghanistan to former .NET architects switching sides to Java in California, is a pretty good thing.
In this report, we aim to give you a decent overview of the projects the Java community is based upon and clarify how these evolve over time, how you can take part in the development of the Java platform and contribute back to the ecosystem that supports all of us. Finally, we want to help you answer the biggest question: why do we want the Java platform to prosper and move forward, despite all the hipster opinions that Java is dead?
How popular is Java really?
It is easy to underestimate the importance of Java in the modern world. One might think that Java is just another programming language like hundreds of others, and not even the most modern one at that!
However, the power and influence of Java comes more from the the state-of-the-art virtual machine, the JVM, which is responsible for executing programs compiled from Java or other JVM languages like Scala, Groovy, Clojure and others.
Java has repeatedly topped two of the industries most well-respected language indices: Redmonk’s Quarterly Programming Language Rankings and the TIOBE programming language index. Clearly, Java has some extreme weight in the software development community.
In terms of numbers of meatbags writing code, Oracle estimates that there are 9 million Java developers in the world, which puts the a vast human force behind the language in addition to heavy online activity. The number of people involved in programming in Java is not surprising, the innovative JVM platform has made it easy for Java to grow into almost all areas where technology is involved. If we don’t get distracted by the fact that Java dominates enterprise and web-application development, we’ll find Java powering billion of devices: smartphones, TV’s, embedded devices that are commonly referred to as Internet of Things, IoT.