
Recently, an umpteenth debate captured the imagination of the technical forums. You know, this is a discussion that starts on the state of the art and ends with considerations on the endless qualities compared with an "old language" as-of-the-case-specific do-it- -will-never-surpassed ...
It is a fact that the ecosphere Java is currently suffering from oversupply (Struts / Stripes, Tapestry, JSF, Spring MVC, GWT, JavaFX ... I'm dizzy) and redundant (see current debates Java EE vs. 6. Spring 3.x or the crowd of portals, GED or BSE appeared). It is also true that:
- beginners are poorly trained, including paradigms OOP, AOP and SOA
- experienced developers are running out of a framework to move to another
- architects do not have time to evaluate the versions that come out constantly
Not to mention the projects so they boarded several scalable Web Services technologies together or suffer from all sorts of technical debt, failing to receive scheduled maintenance ...
But conversely, in Java standards evolve so slowly that they prefer alternatives to high obsolescence. There we are. Admit that it is a shame to show immaturity at that age! In my day (ahem) good ideas were simply times and transcended in the "best" community created.
But now it seems that our industry is at war. jBoss vs. Spring, Adobe vs. Google vs. Hudson Jenkins ... Should we all preach the dictatorship as a remedy for anarchy? We do not want to become. Net, though? In short, I exaggerate (barely).
Why is the Java world did he get there?
I think this is because of its success, precisely. The activity level of the community seems quite remarkable, especially in open source, but not that. The downside is that so many stakeholders involved slowing decision making, thus promoting the adoption of specific solutions or unfinished.
Before, it was better (is not it?). A Tomcat application server and a few spin-off, a little injection and ORM best practices and go for the lightweight framework. A nice IDE, with some useful plugins. In addition, all that blackjack! And enthusiasm of handmade spread in companies in favor of SCM. Add to that the annotations, and it looked for a while that we would be productive.
Well ... it did not really enough. Is it not? Then there was Maven, continuous integration and even agility. And BOOM, maybe it works too well, finally: everybody started to talk / release at the same time, head to the grindstone. A real race to the new version.
But then what are we going to DO (God)?
We have a responsibility as a community and as professionals. This responsibility is thought to follow a direction to ensure our users and our customers some form of sustainability. I'm not talking about 10 or 15 years, of course. In information technology and communication (as they say), it is eternity! And it is forcing an open door to propose a common stable. We KNOW what we need. The question is HOW to get it.
Well I personally think that the Republic of Experts, it's over. We need a Participatory Democracy (note the capital letters, please). We are undergoing a transition period that could well lead to a lockout by a few major players (including Adobe, Google, jBoss or other), to the detriment of creativity and responsiveness. To avoid this, I think developers should be able to influence the direction of the market not only by plebiscite, a posteriori, but also upstream on the basis of information illuminating.
The Apache Software Foundation has shown us the way (through the incubation process and an elective). But meritocracy (who said bureaucracy?) Is not sufficient. Have you counted the number of projects that the foundation hosts, recently? Again, the overflow is more than we watch: it is around the corner. Some ideas are worth more than a technical opinion, they need a helping hand (as in the phrase "I poussoies", of course) in order to ensure the effort required. And each, as a primary policy, should be able to give his voice on the content of draft preferred.
We do not need a dozen bases NoSQL, we need a (one, two) solutions that work and guarantee a response to a real problem (but I keep to myself my opinion on this specific example) . The tools are there, I look to GitHub (as a collaborative platform, regardless of whether the support is Git or SVN, basically). We know federate motivation, but we have yet to express interest earlier in the development process to avoid the current mess of throwing our forces in competing projects, sometimes completely equivalent, but that nobody wants paternity leave.
A democratic, open, should enable future solutions to sufficient means for piercing, take time to stabilize, and finally win. Not on a fad that lasted, but the quality of an embodiment having received the necessary attention.


