"We are destroying software telling new programmers: “Don’t reinvent the wheel!”. But, reinventing the wheel is how you learn how things work, and is the first step to make new, different wheels."
I dunno, I feel like I'm having to reinvent the wheel more often these days. I try a few existing libs but they're frequently bad or bloated, and rewriting it from scratch yields better results. I have to pick my battles though, can only do this with things which take no more than a couple days to write.
Eh, I disagree. Oftentimes integrating someone else's wheel comes with so much added complexity that it rivals (or exceeds) making your own, and that code also needs to be maintained, is at risk of library churn, etc.
There are very real drawbacks to relying on other people's solutions to your problems. Sometimes they are outweighed by the hassle of implementing your own solution, but in many cases they do not.
Note that Dieter Rams is an industrial designer so his 10 principles are not about software but about 'design'. In that context a "good design" is indeed innovative in some way. But in engineering a "good design" does not have to be, and in many cases probably shouldn't be.
> a "good design" is indeed innovative in some way
Proof by repetition, I guess? You haven't answered the question in any meaningful way, just repeated the original assertion. It's still as unsupported as it ever was.