25 Years of JavaScript and Java! 🎉

The year is 1995…​

Java is born in May. So is JavaScript (but it’s called Mocha).

Microsoft releases Windows 95 in August.

JavaScript, as it’s known today, first appeared on this day, December 4th.

Wow! It’s so crazy to look back and see so many influential software releases happen in such a short period.

Congrats to both JavaScript and Java for doing so well over the last 25 years!

Fun fact from the @JavaScriptDaily 👇 in case you’d like to listen to some music while you read this post.

A Brief History of JavaScript

JavaScript went through quite the transformation in 1995. It started as an idea for a "glue language" for web designers and hobbyists, while Java was the "component language" for higher-priced programmers.

According to Dr. Axel Rauschmayer’s "Speaking JavaScript" book, specifically How JavaScript Was Created:

Eich wrote one [scripting language] in 10 days, in May 1995. JavaScript’s first code name was Mocha, coined by Marc Andreesen. Netscape marketing later changed it to LiveScript, for trademark reasons and because the names of several products already had the prefix "Live." In late November 1995, Navigator 2.0B3 came out and included the prototype, which continued its early existence without major changes. In early December 1995, Java’s momentum had grown and the language was renamed again, to its final name, JavaScript.

Yes, it’s true. JavaScript started as a marketing ploy. The higher-ups thought it’d be smart if it was positioned as a companion to Java. 25 years later, I think they’re excellent companions!

The JavaScript Renaissance started in the mid-2000s with jQuery. jQuery leveled the playing field to write code that would work on most popular browsers and freed developers from the browser wars burden. From there, full-fledged JavaScript frameworks like Ember.js, Backbone.js, and AngularJS took the developer world by storm.

jQuery: write less

In 2009, Node.js was created and the first version of npm. Node allows you to run JavaScript outside of a browser, and JavaScript found itself well-positioned on the server.

Node.js: designed to build scalable network applications

In 2013, GitHub created Electron and introduced a way to write multi-platform desktop applications with JavaScript. Some of the most often-used software developers use today (Slack and VS Code) are powered by Electron!

In 2014++, along came React, Angular (with TypeScript), and Vue. They continue to be the dominant frameworks for writing browser-based applications.

A Brief History of Java

To be truthful, Java 1.0 was released on January 23, 1996, so technically, JavaScript is older!

The birthdate that many assign to Java — May 23rd, 2020 — was when the Java programming language and platform’s first public alpha release happened.

Ben Evans published an excellent InfoQ article about Java at 25. In it, he speaks the truth:

The Internet was not yet really a part of the mainstream of public consciousness.

Oh my, how the times have changed!

Java became popular in the late 90s with applets. Then it hit its stride in the early 2000s with server-side development. Struts became one of the first "trendy frameworks" in 2001-2002. If you had experience with it, you could get $100/hour. Or you could learn it on the job (like I did) and still make great money!

Java enjoyed a glorious period from 2002-2006 with J2EE and all its web frameworks. Developers became frustrated with EJBs and Struts, causing Hibernate and Spring to rise to prominence as open-source frameworks.

J2EE without EJB

I had a lot of fun doing "Java web framework comparison" talks, starting in 2004. Then along came JavaScript with its renaissance.

It’s funny to look back and see that Flex 1.0, JSF 1.0, and Spring 1.0 were all released within weeks of each other. The term, Ajax, was coined in early 2005, and JavaScript eventually took out the first two, while Spring became a powerhouse on the server.

History of Web Frameworks
You can update this timeline by creating a pull request to the history-of-web-frameworks-timeline repository.

Java didn’t have much innovation while the JavaScript Renaissance was happening. I was a Java developer at LinkedIn in 2007-2008, then moved to full-time frontend development with GWT and jQuery at Evite in 2009. The frontend landscape flourished for the next few years, while the Java ecosystem languished.

Java 8 was the next major thing to happen in JavaLand, and Oracle didn’t release it until March 18, 2014! A couple of weeks later, Spring Boot 1.0 was released on April Fools Day, no less!

Spring Boot led to Spring Cloud, and both helped fuel the microservices boom that continues today. MicroProfile was created to help with the stagnation in the Java EE world.

Recently, there’s been a lot of innovation happening with new frameworks like Micronaut and Quarkus. All the major server-side Java frameworks are going native with GraalVM and making themselves relevant in a serverless, subatomic-startup-time world.

Hot frameworks in JavaLand

JavaScript and Java in 2020

Fast forward to today, and OMG - both Java and JavaScript have had a massive impact on the world and the internet!

I started learning JavaScript in the mid-90s, Java in the late-90s, and I’m amazed at how well they’ve fulfilled their original visions.

Yes, JavaScript is very powerful these days, and it’s not just a programming language for hobbyists and part-time programmers. In the same sense, it still works for those folks! When I talk to folks interested in programming, I often tell them to start with JavaScript. It typically requires fewer environment setup steps and allows you to see results faster.

That doesn’t mean I don’t recommend learning Java as a first language. Java had a decade where it could do so much more than JavaScript. You could write programs for embedded devices (now called IoT), create desktop applications, and spin up a dot com with server-side code in a few months.

It’s on soooo many devices around the world! java.com used to be a download site for the Java runtime and brag about how they ran on billions of devices. However, Java’s sweet spot was on the server, as evidenced by the Java web frameworks boom of the early 2000s and the continued proliferation of frameworks like Spring Boot.

Now, if you look at java.com, it’s still a download site for something most will never use, but it also has a What is Java? link that points to an excellent landing page for learning Java. Nice work, Oracle!

Yes, there’s still plenty of folks that think JavaFX is an excellent framework for writing apps. Gluon is doing amazing work in this space.

For web developers like me, it’s pretty cool that we can use JavaScript to create desktop apps with Electron + mobile apps with Ionic and React Native.

What’s Next for Java and JavaScript?

I believe the "what’s next" is already happening. For Java, it’s the ability to compile to native and make things soooooo much faster with GraalVM. It’s not like Java was slow before (particularly if you have a warm JVM), but it does matter in a serverless, pay-for-20-seconds-then-shutdown world.

In JavaScript, you could say a similar phenomenon is happening with React Native and its ability to compile to native code for devices.

I think the real excitement for both languages lies in their better language implementations.

Kotlin and TypeScript

Java has Kotlin, and JavaScript has TypeScript. Both intend to be improved languages that create the same bytecode as their predecessors.

While many developers are perfectly happy with Java and JavaScript, there’s a whole slew of folks that love Kotlin and TypeScript.

Kotlin 1.0 was released in February 2010. TypeScript was first made public in October 2012. They’ve both been around long enough to have fans. I find it interesting that neither seems to have many haters. Both Java and JavaScript have a plethora of haters!

I don’t see Kotlin/JS taking off, but TypeScript is definitely here to stay. Angular 2 was a major rewrite, and their decision to ditch AtScript in favor of TypeScript was a wise one! I use it almost every day and appreciate it.

Android has fueled the fire of Kotlin greatly, and most Android developers I know prefer it over Java.

Happy 25th to Us! 🥳

The real celebration here is to us as developers! If you’re old like me, you’ve had the privilege of enjoying both JavaScript and Java for quite some time. Both are still very popular and in high-demand.

Even if some new, drastically-better, language comes along in 2021, there’s enough vintage software to maintain for decades to come!

Happy 25th to JavaScript and Java!

Learn More about Java and JavaScript

I love both Java and JavaScript. It’s a rare trait among developers; to love both languages. They’ve both served me well when using the right tool for the job. I’m also infatuated with Kotlin and TypeScript and appreciate their continued innovation.

Here are a collection of posts on this blog that show the joy these languages can provide:

If you have any good stories about your experience with Java or JavaScript in the last 25 years, I’d 💙 to hear them! Please share them in the comments below.

If you liked this post, please follow my team on Twitter, like us on Facebook, check us out on LinkedIn, and subscribe to our YouTube channel.

Matt Raible is a well-known figure in the Java community and has been building web applications for most of his adult life. For over 20 years, he has helped developers learn and adopt open source frameworks and use them effectively. He's a web developer, Java Champion, and Developer Advocate at Okta. Matt has been a speaker at many conferences worldwide, including Devoxx Belgium, Devoxx France, Jfokus, and Devnexus. He is the author of The JHipster Mini-Book, Spring Live, and contributed to Pro JSP. He is frequent contributor to open source and a member of the JHipster development team. You can find him online @mraible and raibledesigns.com.