[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Definition of "The Right Thing"

	Okay, I thought I'd spark a bit of a debate here on the list. Lately
I've been thinking to myself about what exactly we mean when we refer to the
"Right Thing". To most people, all it really means is doing it the easiest,
simplest and best way without any unnecessary cruft.

	But then I got to thinking, and it seems to me that there are two
seperate groups when it comes to software. One group believes that the "Right
Thing" means that if their program is to accomplish a task, it must do it in
the simplest and quickest way possible. Nothing fancy, just get it done. An
example of this would be vi. These programs can be really useful if used
often, but are usually not flexible enough for every situation. (cp is great
for copying files, but you can't browse the web with it)

	The second group prefers to make things as expandable as they possibly
can. If there's a part of the program that can be customized, it must be able
to do anything the user wants it to, and must accept whatever the user decide
to throw at it. Examples of this would be Emacs, Enlightenment, and X itself
(At least, in my opinion). In most cases, these programs are flexible enough
that they can do almost (and sometimes literally) anything. Emacs can be a
text editor, a mail reader, and a kitchen sink. However, why load up Emacs and
a file browser to copy a file when all you really had to do was cp?

	Naturally, not everything is black and white, and there will always
be some grey area where a program is simple, but accepts plugins or somesuch.
But the question remains, what is the "Right Thing"? Empowering the user to
the utmost extent, or to mindlessly accomplish a single task in the most
efficient way possible?

	The reason I ask this is that a program I've been writing on and off
for some time now is nearing a point of "completion", and I'm undecided as to
wether I should just leave it as it is, or keep adding stuff to it.

	(To be honest, the game is tiny, and I'd love to see some of my ideas
at work in it, so no matter what people tell me, I'm sure I'll add them in
anyways, but I though it was an interesting topic nonetheless)