Last week I was discussing with a friend about the technologies to use in our next project. We were arguing about the features, performances, pros and cons of Thymeleaf, JSP’s or JSF, among others.

At some point of the discussion, an idea came up, it was about time computing industry actually get industrialized for good, letting a few companies to decide the destiny and future of the technology, cutting the freedom of developing new ways of doing things but allowing standards to settle and grow.

Java’s universe has been expanding since a long time now, and now it seems like that universe is converging again.

Today for example, JSF is a technology used by thousands of companies around the world, is relatively mature, and has many other projects attached to it that also evolves really fast, such as PrimeFaces or RichFaces. But who can guarantee the future of JSF in the future?

And when I say future, I only talk about 3-5 years. Java has already released a spec to eventually adopt MVC as a standard pattern. Someone may think this move would make JSF to eventually die in the mid-future. In Java, there are several companies that vote each spec of the language, companies like Hewlett-Packard, IBM, RedHat or Oracle. In this case, my friend was convinced that the way to go should be to ‘shutdown’ technologies like Spring or Hibernate, and let those companies to decide the future of java. In this case, it would assure the ‘industrialization’ of the technology since we will always know at any given time what the present and future of the technology is.

In the other hand, at least in the java world, is a fact that technologies like Hibernate or Spring have been moving faster and better than java itself, creating better projects and products, that later java has been taking into account and adopted.

Also .Net core has been released as open source last November ‘14, so even in Redmond’s company values the opportunity given by the fact that a whole community can operate and expand .Net universe and allow others to develop new ideas.

In my opinion, I think Java won’t quit this idea anytime soon, and projects will continue growing and/or dying, and from that evolution java will improved in following releases, and so will .Net. But the task of deciding which technologies to use in projects that need a certain evolution in time is becoming more and more difficult if this expansion never ends.