5 ms·
"Configurability is the root of all evil" I'm getting so tired of the overuse of this principle. Look, I don't care what options are available (really...) when
by poink 16y ago
"Configurability is the root of all evil"
I'm getting so tired of the overuse of this principle. Look, I don't care what options are available (really...) when I'm dealing with a word processor, or a spreadsheet program, or whatever. I expect people who don't use a computer so much might say the same thing about their web browser or email client.
But a shell (and a text editor, and a window manager) is an extremely general tool by necessity, and I have a very specific way in which I use it to get things done. If a highly configurable terminal can make that marginally easier, over time it's worth it.
I don't disagree that many/most programs could do with fewer options and more informed choices on the part of the developer, but there's nothing inherently wrong with putting well-considered options into your program.
I love simple, discoverable interfaces as much as the next guy, but let us not stray too far from "fast" and "powerful" in search of "pretty" and "simple", where it counts.
- tjarratt 16y agoI agree completely. Every time I demo some code, people remark at my zsh setup (which I cloned from an article posted here some time ago). Unfortunately, when I suggest they do some customizations themselves, they make excuses and complain that they don't have any free time. This is completely backwards. If setting up a good shell saves you several seconds per command, then you're saving minutes every day, and several hours a month. I probably spent 30 minutes configuring zsh initially, and I occasionally spend a minute here and there tweaking small things (or not, if it looks like it will be too much trouble), but the payoff is worth it in the end. The moral of the story is try things, it really isn't as hard (or time consuming) as you think. If it is, then give up and do something else (or try later).
- pudquick 16y agoI think an unspoken aspect to that principle, but very much along the same thought lines as the article, is: Try something new, don't try to shoehorn this product into your existing method. "Configurability is the root of all evil" because if you can change everything, you'll eventually change it into the same stagnant workflow you've had all along. Take for example his mentioning of lack of 'man'. man has been with us since 1971. Lynx came 20 years later in 1992. There's no information that man encapsulates that couldn't be represented in hypertext - so why haven't the majority of shells moved away from man already? Sometimes that crutch of configuration can hobble you worse than it'll support you.
- jff 16y agoThe shells have no relation to man, except that being programs they typically have man pages. When you run man, it parses some file (often using nroff) and outputs it to standard output, usually through some form of pager. A shell can't "move away" from man. It could ship with its documentation in a different format, or the authors could even develop a new documentation reader... but if you think man and the shell should somehow be specially related, you're forgetting how Unix works.