I remember the extremes of the utter unconstrained chaos of Emacs and the rigid ultra-high-boilerplate approach of the Eclipse IDE. Emacs was fun to hack on, but impractical to use as an IDE, because if you installed enough plugins to make it useful as an IDE, it was broken half the time (my experience, many years ago.) Eclipse had a robust architecture, but writing plugins for it was a dispiriting slog, even when I got paid for it (again, my experience, many years ago.)