The fact is that a piece of software is not a wheel. That a given piece of software does something which resembles what the programmer wants, is a mere part of the whole. A wheel is a wheel, you get one and it fits a hole on a stick thing. Making a new wheel is a fixed process which is clearly pointless and of little benefit. For software there are numerous factors which complicate the situation - how it is written, the burden for choosing to use it, the benefits of writing a better version and so on.. are all factors that need to be weighed up.
The sooner this expression dies, the fewer people who will be mislead into making poor choices because of it.
The expression is just an expression - it's fit to use in *quite a few* cases, it doesn't need to die because it's not universally applicable. What's next? KISS needs to die because it's not applicable when designing a complex system? Of course there are several factors that come into account - nobody argues that.
If you want to make a *tile authoring* application:
- Making a half-arsed paint program with some extra custom bits is the reinventing the wheel.
- Making a plug-in for a well-used paint program and adding the unique bits is "standing in the shoulder of giants". That's a ready user base and developing transferable skills right there.
And don't tell me "but but, plug-ins are proprietary/hard"
Next in line: write an IDE for roguelike development because the current free ones suck, as they don't support visualisation of levels in the variable watch windows while debugging.