Hacker News new | ask | show | jobs
by lbriner 1736 days ago
Prepares to be downvoted...

Why are these supposed to be special? Everyone would agree with these in theory but the problem is not lack of these principles, the problem is how to actually use them in a fast moving business with imperfect tools, imperfect knowledge, imperfect employees and changing goals.

If you looked at my systems, you might say I am not following the principles but I was and am, they just don't always work very well in real life.

3 comments

> Everyone would agree with these in theory...

Not me - when I read "Take a moment to step back and look at your code. It should look beautiful to you", my bullshit detector goes off full-tilt. The last person I want reviewing code is someone who wants to apply this principle (I don't so much care if they think this while writing code, if and only if it has no tangible downsides in what they produce.)

This is compounded with the following sentences "Beauty often embodies many useful properties. Code that pleases the eye is often readable, idiomatic, and expressive", as if pursuit of this undefined beauty causes these outcomes.

I am not sympathetic to arguments that this is true "in a sense", as this just adds subjectivity and circumlocution to an issue that should be, like good code itself, as straightforward and to-the-point as is possible while getting the job done.

I think what you might be getting at is that Dieter Rams is a great designer because he is a great designer.

Almost everyone agrees with all or most his design rules. I can agree all day but that doesn't mean I can execute my designs anywhere near as well as he did during his career.

A lot of people don't (really) seem to agree with number two here:

> 2. Good software is useful

The UNIX philosophy highly prioritizes simplicity (number 10 on this list), and there's always been a large group (and still is) of programmers that interpret this as "sacrifice functionality for the purposes of simplicity".