To discuss Java’s continued relevance, Times Techies Webinar last week hosted two of India’s three Java Champions, Mala Gupta and Rajmahendra Hegde. And one of the first questions that came from our audience was how one could become a Java Champion. Hegde said a Java Champion is a community recognition, not a certificate. They are selected by the 300 Java Champions in the world, and that selection depends entirely on the level of contribution you have made to the Java ecosystem. “You have to contribute to open source. You should be an author of books. You could organise events. The work can be more than what you do in your company,” said Hegde, who works for a leading bank in its software engineer group, and who created and leads the Java User Groups in Chennai and Hyderabad.
There were questions around the future of Java, given the popularity of languages like Python, Kotlin and Rust. Gupta said languages must be seen as a means to an end, and you should pick a language depending on your destination. Python, she said, may be a better language for AI/ML, and R and Rust for specific purposes. But Java is extensively used in enterprises. “Java should be one of the languages you learn, because sooner or later, you will be working with it,” she said.
Hegde said Java should be seen not as a language but as a platform, the Java Virtual Machine (JVM). Many programming languages, including Kotlin, Scala, Groovy, Clojure, JRuby, all use JVM in order to make the application run on varied systems. “Many startups may be using other languages. But if you want to work in an enterprise, the Java platform is inevitable,” Hegde said.
Asked about the ability to write code faster and in a more compact way with a language like Python, Gupta said she has a problem with writing less code. You could write less code and end up failing later, she said. “Java takes care of all errors during the compilation time. That saves time. When a Python programmer tells me how many less lines he takes to write `Hello world,’ I say I’m not looking to write a `Hello world,’ I’m writing enterprise applications,” she said.
Java, Gupta noted, is also changing with the times. New versions are being released every six months. “And Java is moving with newer areas like cloud-native applications, serverless applications and moving applications to Docker and Kubernetes,” she said.