Today I had an interesting conversation with my ex-Boss and good friend. He asked me to summarize the current state of Java world these days as he was busy with databases and scientific computing. Here is my short take on it.

Ruby has become a cult like Apple.

PHP guys think they are winning over Java.

Java guys are busy writing tons of frameworks. I think some clear thoughts are missing.

JSF is a good attempt to solve MVC 2 problems with Struts and other Web frameworks.

JSF is very verbose to code fast without an IDE.

Sun Java Studio Creator is a good IDE. JSF is the future, with Ajax integration (yet to be built) and after lots of enhancements to core functionalities.

However it doesn't play well with JSP. So I am sticking with JSP for now. It gives me everything I need.

Architecturally when I look at all these IoC frameworks like Spring or PicoContainers, they don't solve the same problems we had with Service Locater pattern. So I don't think they add much value other than providing alternatives.

That's my short opinionated summary.

My friend replied: I think it is a good summary. I wonder why it has taken so long to get productive tools and frameworks in java. Seems that there is too much "not invented here" thinking. The proliferation of frameworks has just created camps of loyalists that make it more diffcult for developers to make good decisons about tools and design. It looks like a mess to me.

angsuman: Yes. People are out to get fame and recognition. Building a new OS framework will get more name and recognition than working with an existing one. I think it is a disease of OSS environments. The cost to start is low, so quality of most projects are low too. Even struts guys abandoned struts to go after new shiny toys. Unfortunately IBM or Sun failed to assume leadership role in frameworks. JCP is too liberal and allows even competing frameworks. Groovy is yet another overhyped piece.

angsuman: A framework is as good as the software built on top of it. Companies avoid producing frameworks because frameworks doesn't pay the bills. So the mantle is on OSS guys!

That is in short the gist of the conversation.

What is your take on the current state of affairs?