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

Re: Definition of "The Right Thing"

Brad Johnson wrote:

>         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.

Your comparison between modular vs monolithic reminds me of some article
I read once, I forgot titles or URL unfortunately, but the question basically
was how should a computer language be built.. either start with basic
functionality, make sure that works really well and fast, and then add the
missing features over time, or start with the whole shebang in one shot,
and risk never getting it really working right..  Sounds a bit like
pragmatic vs theoretic, either you want a reasonably good product
in a reasonable time of development, or you want The Ultimate product
but that could take forever to finish/get stable/learn to use/...

> 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
> <snip>
>         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

I'm not sure if that is really two different camps of thought, or just two steps
in the historic evolution of how we do things.  I mean, maybe there's only
a distinction between vi and an emacs plugin because that's forced upon us
by the OS : when you want to create a nice little piece of functionality you're
forced to chose between the "pipe way" or some custom plugin scheme.
Maybe once everybody has Corba the first way will become obsolete, and
the second way will be dominant, with "custom" replaced by "standard".

Then instead of writing a bc clone, you'll just write a calc plugin in Corba
and either vi, emacs, or a strategy game that needs to do some economy
math can use it...

>         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?

Maybe the Right Thing is making the concept of a plug in so simple, that
a program that doesn't accept any plugin at all seems as silly to us at that
time as a program written entirely in assembly.

..well just 2 cents with early dawn..

-=<Short Controlled Bursts>=-