There is no language yet available to replace Java!

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

Twitter and Facebook social networking sites became popular, they are trying their level best to promote Scala and Ruby language respectively. Unfortunately they use buzz word “scalability” to promote these languages which makes everyone think of evaluating these languages at least once.

Initially Ruby developer started campaigning that too much code has to be written in Java for simple need, using Ruby less lines of code can be written so number of bugs will be reduced and productivity will be improved (this can be done easily in Java using a few utility classes). It gave them a nice entry into development industry but didn’t last long. Then Ruby on Rails came into market with simplified web framework. Many of them forgetting that there are more than dozens’ of innovative framework available in Java platform like Ruby on Rails.

Another hype is being created by Scala developers are it is functional programming, statically typed and extensible. Why need rocket science code for simple problems? perhaps they can try promoting Scala to NASA developers.

In my view Java developers are work in democratic environment where they are allowed to take risk, think out of box with innovation; example see how many open source tools and frameworks are available in Java platform. Whereas other languages like Ruby, Scala, .NET, etc. work in a communist environment where limited choices are available and work like a manual labor because you don’t have to think too much everything is defined, you just have to follow defined standard whether is right or wrong.

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

Some popular open source in Java platform

  • Hibernate, Spring
  • JavaFX, J2ME
  • Wicket, GWT, Struts
  • Velocity, Framemaker, Groovy
  • The list goes on……………. no end

Additional references:

The departure of the hyper-enthusiasts

http://www.theserverside.com/news/thread.tss?thread_id=38187

8 Responses to There is no language yet available to replace Java!

  1. Aditya says:

    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 says:

    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 says:

    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. Venkat says:

    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 says:

    >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 says:

    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 says:

    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 Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: