One thing I've learned working in tech is that change is pretty much a constant. Some really smart people build a system, then people that don't understand it as well work on it for a while, and eventually break it terribly, and then other people feel the need to refactor it into another new system, which other people that don't understand it very well modify, and so on.
That doesn't mean it's a bad idea to refactor a pre-existing system. It's just that it's not special. Every system has flaws, and doesn't handle tomorrow's design requirements. And has a ton of edge cases that it doesn't handle.
Really, I hate this myth of the ideal software system. All software is perfect the way it is, with all its blemishes and bloat. All its stinky odors and incomplete modifications. Its scars from the past, and its hopes and dreams for the future. It is in the ever changing journey to the future that it truly is idealized. The only constant is change, and embracing that change is the only way of maintaining sanity in the face of a barrage of external pressures to be something different than it is.
Wait is this a body image campaign or a post on software?
I noticed the same thing, and every day I thank Eris for leaving emacs, vim, and Excel functional for as long as she has, while competing new products have been made completely on the side. Adopting CLion will be like adopting git: A wonderful experience because it doesn't impact the ancestor (Eclipse or Subversion, etc.).
ReplyDelete