To mark Java’s 20th birthday this week, we’ve been chatting to some of the most passionate people in the sector, charting their diverse experiences with the Java language, and where it’s taken them. Today, we’re hearing from Voxxed regulars Arun Gupta and Ivan St. Ivanov. (This is part 2 of our series – here’s part 1)
Voxxed: What are your earliest memories of using Java and how you perceived it?
Arun: I started using Java in 1996 to embed an Applet in a page that could talk to the database. This was my first job out of college and so I was pretty mesmerised by the functionality provided. At that time, I never thought this language would evolve and change the technology landscape for ever. And here we are celebrating the 20th birthday of Java – pretty amazing!
Ivan: I began developing Java in 2000, when I started my first job. Before that, I had some rather academic experience with Pascal and C. The first thing that I encountered then was the Java tutorial – a free and professionally written guide for people in my situation. Back then I liked a lot the strong object oriented paradigm. It shifted my mind towards writing better structured code than the huge files I used to write before.
Even the earliest IDEs (I was using Kawa) had code completion and instant code checks, which decreased the number of “Syntax error” messages, which I used to get once in a while upon hitting the compile button. And JBuilder looked like software from another universe. I was using Java 1.3, but even that version had an immense collection of classes in its JDK. These were a fortune for a junior developer, who had just a vague idea about hash tables and who had to code in terms of pixels to write a decent GUI in DOS.
What are been your biggest success stories or disappointments around the language?
Arun: Biggest disappointment is how Sun Microsystems could never monetize Java. Sun Grid, Jini, Sun SPOT, and there were several other cool technologies in Java that were invented before their need.
Biggest success story is meeting and thriving with the vibrant Java community around the world. This wide network of Java User Groups and conferences allowed me to travel to remote and exotic countries and talk about the technology I love the most!
Another one is to be part of the founding team of Java EE and contributing to the platform in different roles and capacities.
Ivan: I can’t think of a particular success story. However, I can’t help mentioning something that is not only from my personal experience. And this I think is the biggest success story of Java.
As I always teach my students in the University, Java comprises the language, the platform and the ecosystem. The fact that we have the stability of the statically compiled language, allowing large teams to work on a single project, the robustness of the JVM making my program run as fast as one written in C, the extensibility of the platform, which brought us languages like Groovy, Scala, Clojure, JRuby, and the great ecosystem of plenty of wonderful and open source libraries, capable of doing almost any job, makes Java really successful, doesn’t it?
What do you hope to see happen with Java within the next ten years?
Arun: Java is already getting prominent on “things”. Games like Minecraft provide an excellent opportunity to introduce Java in elementary schools. There have been complaints around “ceremony” in Java language but that’s what makes the language that much more readable. Besides the usual syntax updates and languages features, I’d like to see the revival of JavaOS, an operating system that can run Java natively. I’d like to see more games, like Minecraft, to be written in Java as this will allow us to grow the number of Java developers around the world.
Ivan: Talking about the next ten years, I hope Java can continue to release a new version every couple of years. I hope that the Java architects will keep a balance between the urge to bring the new features that the whole community is asking for and the goal to keep the platform backward compatible. At the same time, I hope they keep pace with other trending languages. I also have a more short term dream: I’d like to see in Java 10 the features that are experimented now in Project Valhalla, namely, value types and primitives in generics.