Java: Time Tested, Scalable, and Essential for the Novice and Expert Alike
Earlier this year, Stack Overflow conducted a survey of over 64,000 developers. Whether you’re a web developer, desktop developer, system admin, or data scientist, the verdict is the same: Java is an incredibly valuable skill to be able to list on your résumé.
Consistently ranked among the top five most popular platforms in a wide range of categories, Java provides the backbone for the technology stack at global-scale companies like Expedia, Amazon, PayPal, Netflix, and countless others.
A Quick History Lesson on the Evolution of Java
Java — initially referred to as Oak — is the brainchild of James Gosling, Mike Sheridan, and Patrick Naughton. It was originally designed to be used to develop applications for interactive television, but it proved to be ahead of its time with respect to the capabilities of the 90s digital cable industry.
Marketed as a multi-platform Swiss Army knife of sorts, Java 1.0 was released by Sun Microsystems back in 1995 when the internet was still in its infancy. Major web browsers soon began to support Java applets, which led to an explosion of popularity and caught the attention of the developer community.
Eventually, with the release of Java 2 (J2SE 1.2, Dec. 1998), new versions emerged for different platforms, namely J2EE featuring APIs optimized for enterprise applications and J2ME for mobile applications. Consequently, the desktop version was renamed J2SE (Standard Edition).
Finally, in November 2006, Sun released the source code behind the JVM under the GNU General Public License. Since then, various other Java Virtual Machine (JVM) languages have been developed, including Kotlin, Scala, and Groovy, and the world of enterprise Java development has evolved significantly.
The rest is history.
Why Should You Care?
Make no mistake, Java isn’t your grandfather’s programming language. As an open-source project, it is supported by an enormous global community and powers applications at every scale and in every industry. I learned Java (and OOP in general) as a young undergrad-ling, and I’ve used it ever since to create small proof-of-concept applications, solve a wide range of problems for clients, entertain myself with home-grown games, and even land a job at Expedia, Inc., where Java is king.
- Java is supported by countless frameworks and tools, like Maven and Spring, making enterprise-scale codebases highly maintainable and modular.
- It’s relatively simple to use, and the learning curve has a very gentle gradient, making it great for beginners.
- It’s fast! Living up to its caffeinated name, the JVM is optimized for performance, thanks to mature JIT (Just in Time) compilation techniques. Additionally, because of automated memory management — i.e. garbage collecting — you don’t have to worry about cleaning up after yourself.
- It has great support for test-driven development. With Java (and especially with Spring), you have no excuse not to test your code. JUnit makes unit/integration testing a breeze, and ScalaTest will help you quickly get your foot in the door with UI automation testing.
- You’ll make a lot of money. According to gooroo.io, Java developers make over $90K a year on average. Even if you already have a flourishing career as an SDE, learning Java will broaden your skill set and significantly increase your earning potential and upward mobility.
Ready to dive into Java? Join us for our upcoming course at Code Fellows! Learn More »
Looking for more great content as you learn to code?
Check out what’s new on the Code Fellows blog »