TL;DR summary of this post: Bad software
practices from the historical Eclipse team (IBM I guess?),
has left it with a lot of technical debt, and quite a bit
of functional debt too.
Bruno,
To blame the current state of Eclipse on "Bad Software
Practices" from 15 years ago is a rather simplistic way of
thinking. I was not working at IBM, so I don't take this
personally, but I remember Eclipse being a praised a
exemplary model of Software Development.
When Eclipse started, there was no Maven. Eclipse pushed
for MAJOR.MINOR.BUGFIX version numbers (and built tools to
enforce this) long before Tom Preston-Werner penned the spec
for Semantic Versions. Eclipse lead the way with both a
development time and runtime modularization platform that
focused on API compatibility between components. Eclipse
shipped, on-time, every-time, for 15 years. Eclipse
Delivered.
When Eclipse started, there was no GitHub. When Eclipse
started, there was no StackOverflow (we got our answers from
Java Lobby and JavaRanch). When Eclipse started, the concept
of small, reusable, open-source components was practically
non-existent. Criticizing Eclipse for not bundling the
components in a different way, to support the different use
cases that we see today, is a simplistic answer to a complex
problem.
We can all point to a design flaw in bundle XYZ. We can
all complain about a 12 year old bug that bothers us. We can
all criticize some aspect of the UI. But blaming the
development practices of yesteryear is unfair to those who
worked very hard to ship Eclipse.
Regards,
Ian