Laziness, Perl, and Larry Wall
Xah Lee, 20021124
In the unix community there's quite a large confusion and wishful
thinking about the word laziness. In this post, i'd like to make some
clarifications.
American Heritage Dictionary third edition defines laziness as:
“Resistant to work or exertion; disposed to idleness.”
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”. As you can see now, “Resistant to work or exertion” is
clearly not positive and not a virtue, but “natural disposition that
results in economy” is a good thing if true.
When Larry Wall said one of programer's virtue is laziness, he wants
the unix morons to conjure up in their brains the following
proposition as true: “Resistant to work or exertion is a natural human
disposition and such disposition actually results behaviors being
economic”. This statement may be true, which means that human laziness
may be intuitively understood from evolution. However, this statement
is a proposition on all human beings, and is not some “virtue” that
can be applied to a group of people such as programers.
Demagogue Larry Wall is smart in creating a confusion combined with
wishful thinking. By making subtle statements like this, he semi-
intentionally confuses average programers to think that it is OK to be
not thorough, it is OK to be sloppy, it is OK to disparage computer
science. (like the incompetent unixers and perlers are)
Can you see the evil and its harm in not understanding things clearly?
This laziness quote by Wall is a tremendous damage to the computing
industry. It is a source among others that spurs much bad fashion
trends and fuckups in the industry. It is more damaging than any
single hack or virus. It is social brain-washing at work, like the
diamond company De Beers' tremendously successful sales slogan: “A
Diamond is Forever” or Apple's grammatically fantastic “Think
Different”.
The most fundamental explanation of why Larry Wall's sophistry are
damaging to society is simply this: What he said is not true and they
are widely spread and conceived as worthwhile. This is a form of mis-
information. This is a manifestation of Love without Knowledge as i
expounded before, with subtle but disastrous consequences (already).
[DISCLAIMER: all mentions of real persons are opinion only.]
----
This post is archived at:
http://xahlee.org/UnixResource_dir/writ/perl_laziness.html
Xah
xah@xahlee.org
∑ http://xahlee.org/
Dan Bensen - 15 Apr 2007 19:19 GMT
> 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.

Signature
Dan
www.prairienet.org/~dsb/
Torben Ægidius Mogensen - 16 Apr 2007 10:16 GMT
>> Laziness, Perl, and Larry Wall
>> When the sorcerer Larry Wall said âThe three chief virtues of a
[quoted text clipped - 7 lines]
> 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
Daniel Gee - 15 Apr 2007 20:00 GMT
You fail to understand the difference between passive laziness and
active laziness. Passive laziness is what most people have. It's
active laziness that is the virtue. It's the desire to go out and /
make sure/ that you can be lazy in the future by spending just a
little time writing a script now. It's thinking about time
economically and acting on it.
Rob Warnock - 16 Apr 2007 08:22 GMT
+---------------
| You fail to understand the difference between passive laziness and
| active laziness. Passive laziness is what most people have. It's
| active laziness that is the virtue. It's the desire to go out and /
| make sure/ that you can be lazy in the future by spending just a
| little time writing a script now. It's thinking about time
| economically and acting on it.
+---------------
Indeed. See Robert A. Heinlein's short story (well, actually just
a short section of his novel "Time Enough For Love: The Lives of
Lazarus Long") entitled "The Tale of the Man Who Was Too Lazy To
Fail". It's about a man who hated work so much that he worked
very, *very* hard so he wouldn't have to do any (and succeeded).
-Rob
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607
Torben Ægidius Mogensen - 16 Apr 2007 12:19 GMT
> +---------------
> | You fail to understand the difference between passive laziness and
[quoted text clipped - 10 lines]
> Fail". It's about a man who hated work so much that he worked
> very, *very* hard so he wouldn't have to do any (and succeeded).
You can also argue that the essence of progress is someone saying
"Hey, there must be an easier way to do this!".
Torben
Kay Schluehr - 15 Apr 2007 20:08 GMT
> Laziness, Perl, and Larry Wall
>
[quoted text clipped - 52 lines]
> x...@xahlee.org
> ∑http://xahlee.org/
I like Larry Wall, despite being not a Perl programmer, and when he
secretly subverts the american, protestant working ethos I like him
even better :)
John Thingstad - 15 Apr 2007 20:47 GMT
> Laziness, Perl, and Larry Wall
>
[quoted text clipped - 6 lines]
> American Heritage Dictionary third edition defines laziness as:
> “Resistant to work or exertion; disposed to idleness.”
In this context I think you can safely take it to mean:
Don't work hard, work smart.
Avoid repetitious work. If somthing seems to elaborate find a more
efficient way.
In a course I took on verifiable programming I found working with Hoare
logic
extremely tedious. So I started using rewriting loops as recursive
procedures and
using induction instead. It took about a quarter of the time as the
invariant of a loop
fell out rather naturally this way. I failed the course, but when I took
the course
over again a year later I noticed that the book had been rewritten and now
half the book
was dedicated to Generator Induction. (Seems the professor noticed I
failed in a interesting
way and figured out it was not so stupid after all.) Naturally I had no
problems the second time ;)
This is just one example but it should convey the idea.

Signature
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Jim Ford - 15 Apr 2007 21:17 GMT
> Laziness, Perl, and Larry Wall
>
[quoted text clipped - 3 lines]
> thinking about the word laziness. In this post, i'd like to make some
> clarifications.
Years ago I used to work with someone who used to say 'I'm a lazy person
- I like to do things the easy way!'. I guess this is what Larry Wall means.
Jim Ford
James Stroud - 15 Apr 2007 22:15 GMT
> Laziness, Perl, and Larry Wall
>
[quoted text clipped - 53 lines]
> xah@xahlee.org
> ∑ http://xahlee.org/
Laziness is re-posting something dated 2002.
dbenson@eecs.wsu.edu - 16 Apr 2007 00:00 GMT
Of course, for functional languages, 'lazy' means something rather
different...
Cor Gest - 16 Apr 2007 00:57 GMT
Some entity, AKA dbenson@eecs.wsu.edu,
wrote this mindboggling stuff:
(selectively-snipped-or-not-p)
> Of course, for functional languages, 'lazy' means something rather
> different...
lazy means: just get a post-grad to do the grunt-work for free.
Cor

Signature
The biggest problem LISP has is that it does not appeal to dumb people
If this failed to satisfy you try reading the Hyper-Spec or woman frig
(defvar MyComputer '((OS . "GNU/Emacs") (IPL . "GNU/Linux")))
Read the mailpolicy before mailing http://www.clsnet.nl/mail.html
D Herring - 16 Apr 2007 02:37 GMT
Blatherskite!
http://innovators.vassar.edu/innovator.html?id=8
http://www.itweek.co.uk/itweek/comment/2160655/laziness-mother-invention