There is a perception created in the software development industry that Java is outdated and that Ruby, Python, Scala, etc., are going to take over Java’s position. Some “hyper-enthusiasts” have already left the Java platform. Sun’s profit model collapse, along with the failures of Applet, Jini, EJB, and JSF heavyweight frameworks, have added fuel to these campaigns. However, I still believe that no language currently available in the market can replace Java. I don’t need to explain why Java is better because it has been a proven solution for more than a decade. Instead, I would like to talk about the false campaigns created by these “hyper-enthusiasts.” It is easy to fall into these false campaigns because, as developers, we want new challenges and something new to learn.

Twitter and Facebook, the popular social networking sites, have been trying their best to promote Scala and Ruby, respectively. Unfortunately, they use the buzzword “scalability” to promote these languages, which makes everyone think about evaluating these languages at least once.

Initially, Ruby developers started campaigning that too much code had to be written in Java for simple needs. They claimed that using Ruby, fewer lines of code could be written, reducing the number of bugs and improving productivity (although this can also be easily achieved in Java using a few utility classes). This gave them a nice entry into the development industry, but it didn’t last long. Then Ruby on Rails came into the market with a simplified web framework. Many of them forgot that there are more than a dozen innovative frameworks available in the Java platform, like Ruby on Rails.

Another hype is being created by Scala developers, claiming that it is a functional programming language that is statically typed and extensible. But why use rocket science code for simple problems? Perhaps they can try promoting Scala to NASA developers.

In my view, Java developers work in a democratic environment where they are allowed to take risks and think outside the box with innovation. For example, look at how many open-source tools and frameworks are available in the Java platform. On the other hand, other languages like Ruby, Scala, .NET, etc., work in a more rigid environment where limited choices are available, and the work feels like manual labor because you don’t have to think too much—everything is defined, and you just have to follow the defined standard, whether it is right or wrong.

If you are bored with Java coding, look for different frameworks available in the Java platform. At least one of them will impress you.

Some popular open source projects in the Java platform include:

  • Hibernate, Spring
  • JavaFX, J2ME
  • Wicket, GWT, Struts
  • Velocity, Framemaker, Groovy

And the list goes on… There’s no end to it.

8 responses to “There is no language yet available to replace Java!”

  1. Aditya

    I partly agree with you in terms of the available frameworks that we have in Java and making our hands dirty by playing with any of them. But one point i want to mention over here is, every other framework works on the same old Java programming style and typical thread flow that JVM is built on.
    Whereas If you take Scala, apart from the fact that it follows a functional programming style, it is definitely a loosely typed (like JavaScript) and i really liked the way the exceptions are being handled in it. But it has its own flip side of not having much APIs (other than Lift) as i know of, for building trivial webapps.

  2. Hari

    Very good article, Venkat. What your article also implies is, there are developers around who are attracted to newer technologies and brag about how updated they are with the latest. Many service-based companies also contribute to creating a hyped atmosphere, as they also want to have a sound profile of technologies. So, the developers are kind of judged on how much they know or can code on. What they have to be taught and trained is, to concentrate on problems and then assess technologies on merit and the need. ROR or Scala could still be apt for some particular business problem, but if the same can be achieved through Java (which they can), then they have to stick to Java. So the developers have to be wary of the parameters drawn to compare.

  3. Mohan Narayanaswamy

    It took lot of time to catch up with you. I beg to differ form your point of view. but I also like to slap you for how much you are outdated. First let us compare between India’s national bird. Is peacock or crow, which is more in numbers? as per your logic (more applications are in Java), crow should be India’s national bird.

    Here are your claims.

    1) No language is available to replace Java

    2) Java is proven solution for more than decade, so what Lisp, Fortran has better track of record if you compare time as attribute.

    3) Hyper-enthusiasts are in the false campaign.

    4) ROR is hype than reality

    5) Democratic environment (Java) vs Communist environment (Scala, .Net)

    NO LANGUAGE IS AVALIABLE TO REPLACE JAVA.

    Nowhere programming languages are replaced for the sake of better & cooler language, I can’t rewrite an application because there is better language available out there. I have already spent 10 yrs and billion dollar spent on it. Programming languages are tiny when taking business decisions. COBOL is not replaced by Java, so Java will never be replaced by XYZ. As per my knowledge, COBOL is not used for web programming, exceptions could be there but it is just 1/10^10%.

    Think where is innovations are coming from, what are all the products are used by teens, what is made up of? From my experience in the last 6 yrs, .Net was well adopted in financial industry than any other programming language. BFSI always trust proven and reliable technology. Java projects are replaced by .net in many place, I am sort of victim couple of times.

    JAVA IS PROVEN SOLUTION FOR MORE THAN …
    So what?, any TURING compliant language can do what Java does, still people are coding in LISP, COBOL, FORTRAN. A fluent Lisp programmer can code in LISP and execute it on top of JVM just like that, but it takes month for you to understand. (cause you love only java)

    HYPER-ENTHUSIASTS ARE IN THE FALSE CAMPAIGN.

    Do you know Martin Odersky wrote the actual java compiler for all > JDK1.2 series of javac compiler. His generics was well adopted after thorough analysis. Do you he is short-list candidate for Turing award. Do you know what is the Noble equivalent of award in IT. They are not just leaving Java programming, they are fusing OOP + FP. It takes another decade for you to write an article on design pattern for better OOFP.

    ROR IS HYPE
    I don’t comment where I don’t have experience. But most of the start-ups are using it, I have seen it in unconferences. have you ever been to unconferences near to your location?

    5) DEMOCRATIC VS COMMUNIST
    Have you utilized your annuall leave and took enough of rest. It insane way of comparing things. Java is no open than Scala, Ruby, MONO (.Net). Scala developers are veterans in Java, but not other way around.

    Finally, Love Java, but if you are not programming fluently in multiple language, please don’t compare. Among my programming skills, I can code better in java than any other programming languages. But I can write quicksort with 2 lines of code in Haskell, may be 5-10 lines in Scala, 10X in java. I like dosa than idlies, it doesn’t mean dosa is better for guys who does lots of masturbation. Everyone will have their own taste, incidentally programming languages sometime liked by most. Java was very lucky. if there were statically typed small-talk from IBM in early 80, java would be as famous as Self (another language from SUN).

    Finally, I love to see you writing in Scala code, I know you are better coder than me, You will enjoy Scala better than me enjoying it. Have fun.

    Note : for others, this guy is one of my best friend, so I took granted. I know he love this sort of fight :)

  4. Mohan, :) I love your comments and criticism. Yes, I must accept I don’t have any experience in other language/script coding.

    So far I haven’t read any article which talks about Scala/Ruby solving some business problem better than Java. When I read the first Scala document, it talks more about less LOC and more productivity. Which is the main point I couldn’t accept as business/ enterprise solution.

    Have you come across any business problem where Scala/Ruby is better solution/fit?

  5. I think “Java” has a language might see an end depending on the updates they make to API’s future versions but “Java” as a Platform will not see an end, atleast for another decade. You itself mentioned in the post, “Groovy” is one such example.

  6. AndrewFink

    >communist environment
    Nice metaphor ;-)

    I think Java is great.
    But is you are hyper-enthusiasts – ok – try something else but it must work in JVM ;-)

    Clojure looks nice for example.

    + to Web frameworks:

    http://click.apache.org/
    http://vaadin.com

  7. AndrewFink

    What I need from next Java version:

    1. all from http://openjdk.java.net/projects/coin/

    2. all from http://code.google.com/p/guava-libraries/

    3. simple closures (not horror, that i saw), ex: #{method body } or #(arg1, arg2, ){ body }. Usage: new Thread(#{log.info(“hello!”); }).start();

    4. new “let” keyword, for method bodies, which use type of expression. Ex: let myvar = new ConcurrentHashMap<Integer, Set>(10); or final let s = “hello”; after it variable used as usual typed variable

    5. auto properties: if class has getter getFoo(), then you can call a = obj.foo, if has setter setFoo(T value), then obj.foo = v1. Inside class itself a= foo and foo = b use foo variable, but this.foo – must call getter/setter.

  8. Nick Bell

    Sir, you are mistaken. Java is not democratic. Rather it is the most communist language the mankind has ever seen. Good languages tend to be flexible, clean and have expressive power. Java lacks all of these and most of Java developers have parochial view of the computing world. It is also unfortunate that Java is hampering our thought process. I’m no advocate of Ruby or Python. I’ll suggest that some language is much better than Java unless I have used it. But in absolute terms, Java sucks. Period. Java as a platform, though, has tremendous potential. Especially the JVM is an amazing piece of foundation to build languages upon.

Leave a comment

I’m Venkat

A passionate software engineer with over 20 years of experience in the tech industry. Welcome to my digital playground where I share my journey through the ever-evolving world of software development and cloud technologies!