

How do you know if you're an Over-Engineer? - tsuriyathep
http://t.suriyathep.com/archives/431

======
kls
_You want to use multi-core PureMVC on Hello World or Pong._

While I agree with this one, I strongly disagree with the elegant code item,
the quote above is the exact opposite of elegance. The best developers, that I
have ever met wrote elegant code, and by elegant code we all generally
accepted that to mean so simple it seemed to be a work of art, so simple that
the simplicity of the problem is hidden until you see the code and you think
wow, that simplifies that problem so succinctly that it is beautiful. It is
the opposite of gold plating which I believe is the root of over engineering.
People that over engineer love complexity for complexity's sake. They like to
utilize a deep technology stack where people that write elegant solutions look
to simplify the technology stack, they look for redundancies and try to
eliminate them. I think elegant solutions that views simplicity as a
prerequisite for elegance is the antithesis of over engineering.

~~~
tsuriyathep
I'm not saying the words "elegant" or "beautiful" is wrong. I'm just saying
from my experience, non-programmers think I'm a fanatic and give me funny
looks when I say that. Could be the way I'm saying it :)

~~~
kls
Sure I understand the problem with that word is it means so many things to so
many people, it has an emotional element to it as such it is subjective to the
group of people that use it. But I generally see it used in the context of
code as being of simple form, so simple that it begets a beauty of it's own. A
secondary definition I see from time to time is clever, which can be a
albatross, clever code can be bad code and some people do use the term elegant
for clever code but to me it is misapplied, clever code goes against elegance
because it makes things more complex, so I tend to call clever code clever and
simple code that is cleverly simple elegant.

