Every software application which has version 2 is itself proof that version 1 was not good enough; e.g. Zend Framework 1, Symfony 1, Doctrine 1. And usually it’s also the acknowledgement of its developers that they got it wrong after many years. What frustrates me is that they rewrite the whole thing from scratch and there is no room for backwards compatibility:
I’m not a Java developer but it looks like they have been responsibly improving it and there is good planning; the current version is 1.7 after 18 years:
Java version history
Every developer should know this before writing a single line of code:
You need to look at the version history to understand why I didn’t choose .NET after getting some training over 10 years ago: if M$ doesn’t know what it is doing, how can I depend my career on it?!
And here is a joke to finish the subject:
Timeline of web browsers