💾 Archived View for yujiri.xyz › software › features.gmi captured on 2023-04-19 at 23:27:24. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-01-29)
-=-=-=-=-=-=-
In The Philosophy of Minimalism I claim that the practical cost of complexity is often much higher than non-minimalists think.
Here I'll point out some concrete reasons for this, specific to software.
Relevant: simplicity in game design
Specifications are contravariant
One of the many excellent quotes at cat-v is: "Normal people believe that if it ain't broke, don't fix it. Engineers believe that if it ain't broke, it doesn't have enough features yet."
http://quotes.cat-v.org/programming/
I think this insight is very underrated: *features are costs*. *Functionality*, defined as "the extent to which the software makes things easier than they are without it", is good, and *features*, which are "the quantity of the means by which it provides functionality", are bad. Features are the cost you pay to implement functionality, and you better pick your battles (another excellent cat-v quote: "In programming the hard part isn't solving problems, but deciding what problems to solve.").
It's like complexity versus depth in game design.
You can have either one without the other. For example, GNU Nano is an editor with relatively few features, but a lot of functionality. `find` and `git` are programs that have tons of features, but achieve tons of functionality with them. QuickBooks is a program that has a staggering amount of features and achieves surprisingly little functionality.