Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I agree with the first point. Development is usually a team effort. Effective teams generally play of their strengths. This is probably more important than having a rockstar on board.

Isn't simple code inherently more maintainable. I can see it having the problem of lacking scalability, but prematurely building in scalability is the root of all evil...



I agree that premature anything is bad, especially in extreme form, however, your other point needs some elaboration.

Isn't simple code inherently more maintainable

Verbose, over-simplified code can also be unmaintainable because you lose track of the bigger picture.

The only really simple code is small projects, and code that was just written. In the longer run, as features are added, there is always complexity being added.

In that phase it becomes important to separate concerns, prevent accidental complexity, factor out repeated code, and so on. This can mean that some parts of the code have to make use of more powerful constructs of the programming language, and thus are less trivially "simple".

Also, opinions differ greatly on what is "simple code" and what is not. After all, all code is simple once you understand it.


That's why I have come to define "elegance" as "simplicity perfected."

The best solution is the one which makes use of a number of clear, easily understood, simple solutions in combination to solve a problem. But the wrong approach to simplicity can be as bad as complexity.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: