is laziness a programer's virtue?

Torben Ægidius Mogensen torbenm at app-5.diku.dk
Mon Apr 16 05:16:19 EDT 2007


Dan Bensen <randomgeek at cyberspace.net> writes:

> Xah Lee wrote:
>> Laziness, Perl, and Larry Wall
>> When the sorcerer Larry Wall said “The three chief virtues of a
>> programmer are: Laziness, Impatience and Hubris”, he used the word
>> “laziness” to loosely imply “natural disposition that results in being
>> economic”.
>
> Programming by definition is the process of automating repetitive
> actions to reduce the human effort required to perform them.  A good
> programmer faced with a hard problem always looks for ways to make
> his|her job easier by delegating work to a computer.  That's what
> Larry means.  Automation is MUCH more effective than repetition.

Indeed.  A programmer is someone who, after doing similar tasks by
hand a few times, writes a program to do it.  This extends to
programming tasks, so after writing similar programs a few times, a
(good) programmer will use programming to make writing future similar
programs easier.  This can be by abstracting the essence of the task
into library functions so new programs are just sequences of
parameterized calls to these, or it can be by writing a program
generator (such as a parser generator) or it can be by designing a
domain-specific language and writing a compiler or interpreter for
this.

        Torben




More information about the Python-list mailing list