In the evening I was reading this discussion:
Did not read all the comments. Among the comments I have read, this one appeared sympathetic to me.
In (my) IT maturity cycle, I don’t think you could get to highly productive Enterprise app development tool without a strong, mature, low-level language and platform to build on. Things were going that way with client/server until the internet changed the dynamic, like client/server changed green screen, like green…
Now that TCP/IP driven systems (when you get down to it) and open standards have matured, we can reinvent VisualBasic again. Spring is doing it for VmWare cloud, Google provides IDEs for GAE cloud, Redhat, MS, yadda yadda. Problem is, Java may not do so well in non-enterprise solutions against vendors that want to control their delivery channels through proprietary devices and cloud platforms.
When I think of Ent. app development, I think license costs, seats, and lock in. With the availability of mature, open source frameworks and accessible cloud platforms (no Google, GAE isn’t portable enough) I just can’t see trading perceived short-term productivity for long-term lock-in. Look at SalesForce – they have a new word for everything.
“not dead yet” and Holy Grail seem to go together. And Java is far from dead and IT will always chase after silver bullets and non-technical Holy Grail solutions but never quite get there.
posted by Andrew Clifford
As for the original post, I think to state Java is dead has little to do with reality. The super power companies Google, IBM and Oracle having big stake in Java related technologies does count, but that’s not all. The vastly available Java developers and the common mind patterns among them might be the driving power for Java’s liveliness. Nearly every university offers some Computer Science courses with Java as the implementation language for homework or team projects. As long as Java lives in the Software Engineering lectures, Java will be alive in the field. As many comments in the thread have already pointed out, Java as a language and a platform, has always been improving and it is good enough for building modern enterprise applications.
Automated unit/integration tests, issue tracking system and continuous integration are all necessary parts of development of quality software. Most of these tools are generic, so it really does not matter which language I am going to use for the next project. What really matters, in my biased opinion: Clients’ business requirements (we have to understand client’s business really well) and my developers’ core skills (we must be able to map the business logic into some machine-executable code elegantly). The technology to use should be derived from these two constraints, plus “license costs, seats, and lock in”. Software is peopleware at the very last. As long as there are people who learnt Java as their native language from universities, I do not see any danger for Java investment in the whole software industry.