Software Needs Philosophers

X

Xah Lee

Software Needs Philosophers

by Steve Yegge, 2006-04-15.

Software needs philosophers.

This thought has been nagging at me for a year now, and recently it's
been growing like a tumor. One that plenty of folks on the 'net would
love to see kill me.

People don't put much stock in philosophers these days. The popular
impression of philosophy is that it's just rhetoric, just frivolous
debating about stuff that can never properly be answered. “Spare me
the philosophy; let's stick to the facts!â€

The funny thing is, it's philosophers who gave us the ability to think
rationally, to stick to the facts. If it weren't for the work of
countless philosophers, facts would still be getting people tortured
and killed for discovering and sharing them.

Does it ever strike you as just a teeny bit odd that after a brief
period where philosophy flourished, from maybe 400 B.C.E. to ~100 C.E.,
we went through a follow-on period of well over one thousand five
hundred years during which the Roman Catholic Church enslaved
everyone's minds and killed anyone who dared think differently?

What's weirder is that we tend to pretend it didn't really happen. We
like to just skip right over the dominance of religion over our minds
for a hundred generations, and think of religion today as a kindly old
grandpa who's just looking out for us kids. No harm, no foul. Let
bygones be bygones. Sure, there were massacres and crusades and
genocides and torture chambers with teeth grinding and eyes bleeding
and intestines torn out in the name of God. But we were all just kids
then, right? Nobody does that kind of thing today, at least not in
civilized countries.

We try not to think about the uncivilized ones.

It was philosophers that got us out of that Dark Ages mess, and no
small number of them lost their lives in doing so. And today, the
philosophy majors are the butts of the most jokes, because after the
philosophers succeeded in opening our minds, we forgot why we needed
them.

And if we stop to think about it at all, we think that it was other
people, people who are very unlike us, who committed those atrocities
in the name of Faith (regardless of whether it's faith in a god, or in
a political party, or any other form of mind control carried out by
force).

We like to think we live in an enlightened age, but we don't. Humans
haven't changed significantly in 10,000 years. We're still killing and
torturing each other. It's apparently incredibly easy to decide to kill
someone and then do it. Happens every day, all around the world.
Torture, too.

But those people are just people. If they had been born down the street
from you, they'd have gone to school with you, been friends with you,
learned to program with you, written blogs and comments, never tortured
or killed anyone in the name of an idea. They'd have been you. Which
means they are you; you just got lucky in where you were born.

One of the commenters on my last blog entry expressed the fervent wish
that I drop dead. To be sure, they qualified it with “on the
internetâ€. But if they really feel that way, especially about
something as hilariously and absurdly unimportant in the Grand Scheme
as whether the Lisp programming language has any acceptable
implementations, then what does it say about us?

Everyone who commented angrily on that blog entry was caught. I caught
you, anonymous or not, being a religious fanatic. The only
“negative†commenter who doesn't appear to be a religious zombie
was Paul Costanza (ironic, since he claims to be the opinionated one),
who relegated his comments to pedantic technical corrections. They're
welcome, of course; I'm always looking to correct any technical
misconceptions I harbor. But they're moot, since even if I was wrong
about every single technical point I brought up in that entry, my
overall point — Lisp is not an acceptable Lisp — remains largely
uncontested by the commenters.

Some of them just don't get it, which is fine; no harm in that. If
you've been using Lisp for years and years, and you've written books
and articles and zillions of lines of Lisp code, then you're unlikely
to remember anything about what it's like coming to Lisp for the first
time. They're religious because they've forgotten what it's like to be
a skeptic.

But make no mistake; a substantial percentage of people who take a side
in any programming language discussion that devolves into a flamewar
know exactly what the other side means, and they want to invoke the
Ultimate Censorship: drop dead! Killing someone, after all, is one of
the best ways to silence them. You also have to burn all their
writings, which is getting harder these days; hence the increased
vehemence on the 'net.

Those of you who've followed what I've written over the past year or so
know where I'm going. I'm taking a stand, all right, and it's a very
definite one. I'm finding myself drawn inexorably towards a single
goal: stamping out technological religion, because I'm frigging tired
of not being able to stick to the facts.

FACT: Java has no first-class functions and no macros. This results in
warped code that hacks around the problem, and as the code base grows,
it takes on a definite, ugly shape, one that's utterly unique to Java.
Lisp people can see this clear as day. So can Python folks, so can Ruby
folks. Java people flip out, and say “macros are too much powerâ€,
or “what do u mean i dont understand u†or “fuck you, you jerk,
Lisp will NEVER winâ€.

You think I don't hear ALL that, and much more, in the hate mail I get
every day?

I sure wouldn't want to be alone with a Java fanatic in a medieval
torture chamber, because God only knows what they're capable of.

Turn the mirror towards Python, and what happens? Funny, but the Java
folks will mail me saying: “yeah, I've always known I detested
Python, and you really nailed exactly why. Thanks!†Meanwhile, Python
folks are literally frothing at the mouth, looking for the “Kill That
Bastard†key on their 101-key keyboards.

I turned the mirror towards Lisp yesterday. Had to go to the bathroom
like nobody's business, and my wife was expecting me home any minute,
so I rushed it out: just a few thoughts here and there. So the Gorgon
only caught the tiniest glimpse of itself, but hell evidently hath no
fury like that of a Lisper scorned, and all that.

It doesn't matter that I rushed it out. I'm glad I did; spending any
more time on it, trying to get it “right†by looking up useless
factoids like how you can override length's non-polymorphicness with
some weird setting (when it plainly should just be the default), would
have had the exact same net effect: Lisp zealots would have found some
way to turn it into a flamewar. And I'd have been out 2 or 3 more
hours.

Let's call it a troll, then, because it was poorly researched; it was
just some months-old recollections of pain I'd gone through last year
trying to commit to Common Lisp, after another year of trying the same
with various flavors of Scheme and finding them all wanting. As far as
I'm concerned, Lisp is unacceptable today; it's my opinion and just
that, but I'll stick with it.

I still need Lisp; after you learn enough of it, it becomes part of
your soul. I get my fix hacking elisp, and I do a lot of it. The
commenters are quite right; I've never written anything substantial in
Common Lisp, because in each of my serious attempts, there was too much
friction. Risk/reward wasn't high enough, and believe me, I wanted it.

But after many attempts, I've given up on Common Lisp. They won't let
me use it where I work, and there are probably more Lispers per capita
where I work, including some famous ones, than at any other big company
in the world. If we can't use it where I work, then it's frigging
unacceptable; that's the shortest proof I can offer.

What I'm far more interested today is the situation that arises if you
consider my post a troll. I'm far more interested in the social
consequences of working in a world filled with religious fanatics of
different religious persuasions. Especially given that it's a world in
which “natural religion†has, by and large, been marginalized
through the work of philosophers.
[ • Peter Siebel is the author of the book Practical Common Lisp,
2005. ( http://gigamonkeys.com/book/).]

Let's look at this world in a little more detail, starting with Peter
Siebel's comment, which I believe is the most interesting. Peter said:

I was trying to figure out why on earth you spent so much time
writing about something that you apparently don't like. Then it hit me:
HCGS↗. So thanks for your help.

His first sentence speaks volumes about the sociology. His viewpoint is
exactly what they teach us all as kids: If you don't have anything nice
to say, don't say anything at all. We like to think people have a right
to believe whatever they want, and that it's not nice to say mean
things about other people's beliefs, especially when their livelihoods
are at stake.

That's where philosophers come in, folks. They pick your beliefs apart
and show you in unforgettable ways the consequences of what you believe
in. I'm no philosopher; I know basically nothing about it, but I can
tell you I wish fervently that some great philosophers would come along
and effect change in our technical society.

Because if nothing else, I can see the consequences of the way we're
thinking about things. One of many such consequences is that languages
aren't getting any better, and the worst offenders are Lisp and Scheme,
which by rights should be racing along the innovation curve faster than
their supposedly less capable peers. But they've stagnated worse than
any other non-dead language I can think of.[1]

Programming languages are religions. For a long while now I've been
mildly uncomfortable calling it “religionâ€, but I don't feel bad
about it anymore. They're similar enough. At the top of the language
religion is the language itself; it serves as the deity and the object
of worship.

Like any other organized religion, there's always a Pope (or a
politburo chairman, in countries where the government has brutally set
itself up as what is for all intents the religion of choice): a
spiritual leader that gives the religion the human touch. This person
is almost always the language designer, of course. In Lisp's case it's
complicated, because McCarthy, Sussman and Steele aren't very active as
spiritual leaders for their languages anymore.

Every major organized religion is a heirarchical government, and
programming languages are no exception. You'll find equivalents of
cardinals, bishops, priests and laity in programming language camps:
the closer you are to the fire, to the spiritual center, the higher
your rank. It's a great way to quantify your perceived self-importance:
a high-score list, in effect. Great for the ego, but it makes you a
piss-poor debater, because you're so emotionally invested in your
status.

You'd think your rank would be accrued by virtue of your technical
and/or documentation contributions, but in practice it's usually more
of a function of how many converts you've gained, how many followers
you have, how much you've been spreading the Word.

[• Paul Graham is a lisp dignitary. He is well known for having sold
his ecommerce software written in lisp to Yahoo.com for $49.9 million,
among other things. See Paul Graham↗ and http://www.paulgraham.com/]

That's why Paul Graham isn't the Pope of Lisp. He's eminently
qualified, but unfortunately he's a heretic. Notice that almost none of
the commenters on my last blog mentioned the PG argument I made. The
only one who did (as of this writing) tried to make it an argument for
Common Lisp. Let's face it: you can't give those heretics too much
press; people might start listening to them!

Peter, are you beginning to understand why I write so much about
something I apparently don't like? It's because I wanted to like it but
found it fatally flawed, technically and culturally. It's as if I were
a would-be convert to Roman Catholicism, but I can't bring myself to
commit because I've seen too much of their role in creating a history
that ironically we all wish we could rewrite.

I was born and raised a Roman Catholic, and I renounced it when I was
thirteen years old, after my Uncle Frank (a devout terrorist Catholic
if there ever was one) told me to stop reading the Bible, that it would
“really screw a person up†to do that, that you needed someone to
interpret it for you. That wasn't the only reason I renounced it, but
it'll suffice for our purposes.

Technologically I was born and raised an assembly-language programmer;
at least that's what my first real job was, for 5 years after I got my
CS degree. Assembly is just flagellation, though, and damned
uncomfortable at that, so I joined the Church of Java for fully seven
years. And practically at the very moment I'd finally tired of chafing
at Java's limitations, Paul Graham came along and through his early
essays, showed me Lisp. What a great new religion!

Problem is, each time you switch religions, the next one has less
impact on you. Once a Catholic, always a Catholic, they say. I don't
know what that means for me, since I was raised by the
assembly-language wolf, but it appears to mean that I'm never going to
be enthralled with another programming language. And now that I've
swallowed the red pill, what choice do I have? I need to try to show
people what's out there.

Interestingly, it was Peter Siebel's most excellent book, Practical
Common Lisp↗, that played the role of Uncle Frank and killed my
desired to continue with Common Lisp. Peter was the first person to
show me beast's underbelly. Every other Lisp book had pretended it was
pure and beautiful and uncorrupted, because they left all the nastiness
out as “implementation-definedâ€. Once I saw what you reallyneed to
do in order to build something resembling a portable Lisp code base,
and then had a few runs at it myself, I threw in the towel.

I much prefer Lisp the idea to Lisp the implementation.[2]

[ • Fyodor_Dostoyevsky↗, David_Hume↗, Aristotle↗,
Jean-Paul_Sartre↗, Ben_Franklin↗, Galileo_Galilei↗,
Bertrand_Russell↗, Albert_Einstein↗ ]

I can tell you this: I've tried writing this essay for a year. I've
tried fully a dozen times. I've tackled it from a dozen angles. I've
wanted to say it — software needs philosophers! — so many times, in
so many ways. We need great thinkers — the Fyodor Dostoyevskys and
David Humes and Aristotles and Jean-Paul Sartres and Ben Franklins and
Galileo Galileis and Bertrand Russells and Albert Einsteins to show us
the way through the Software Dark Ages we're in today: a time that will
doubtless be remembered as every bit as mired in darkness and ignorance
as the Dark Ages themselves.

But I've failed. This isn't the essay I wanted to write, because I'm
neither a great thinker nor a great writer. However, you might be: if
not now, then perhaps someday. So I think it's better to get the idea
out now than to hoard it in the hopes of someday writing a
world-changing essay.

For those of you who were surprised at the suddenness and vehemence of
the Lisp community's backlash to my little rant, I hope I've helped
shed a little light, helped you see its inevitability. Basically
they've had a lot of practice. Lisp is one of the oldest technology
religions, and they've both experienced and doled out their share of
religious persecution.

But that's not the lesson you should take away. The lesson is that they
are you. Whenever you hear someone ranting about something you take for
granted as wonderful and praiseworthy, and you're wondering why they
don't leave well enough alone so we can all get back to our incestuous
cheerleading, just remember: we went from the Dark Ages to our
reeeeasonably enlightened society today by questioning our most
cherished beliefs.

So keep questioning them.

[ • R6RS refers to the Scheme Lisp language's upcoming specification.
See Scheme programming language↗ ]

[1] Yes, I've read all of R6RS. It's a lukewarm compromise that punts
on most of the important issues. It's not going to make Scheme any more
successful than it is today, which to me feels practically criminal; it
was their one big chance to break out of the rut they're in. But it
doesn't matter. Let's pretend this footnote is just a troll. If your
hackles went up, then you're a techno-religious zombie, and I hope in
my lifetime to find you a cure. Try your best to think about that long
and hard before responding.

[ • SLIME is a emacs mode for lisp programing. See
http://common-lisp.net/project/slime/. ]

[2] For the record, the commenter I agree the most with is the one who
said the problem basically boils down to an IDE issue. SLIME doesn't
cut it, either, as beautiful as SLIME is. Can't use it on Windows to
save your life, for instance. But that's one of a thousand problems
with the Lisp IDE situation; it's pointless to try to discuss them all
in blogger. It's probably pointless to discuss them at all, because
it's just going to make me more miserable that no decent IDE exists for
Lisp, except for Emacs-as-Elisp-IDE. Which is why I get my Lisp fix by
hacking elisp these days.

----
This post is archived at:
http://steve-yegge.blogspot.com/2006/04/software-needs-philosophers.html

and
http://xahlee.org/Periodic_dosage_dir/_p/software_phil.html

This essay is reported with permission.

Xah
(e-mail address removed)
∑ http://xahlee.org/
 
M

Mark Shelor

Xah said:
Programming languages are religions. For a long while now I've been
mildly uncomfortable calling it “religionâ€, but I don't feel bad
about it anymore. They're similar enough. At the top of the language
religion is the language itself; it serves as the deity and the object
of worship.


Programmers often display religious devotion to their chosen
language(s). But that's a reflection of the programmer, not of the
language.

Programming languages are nothing more than instruments: a means for
describing the process of computation. Any given language has no
meaning or significance above and beyond its use as an instrument for
describing and performing computations.

What's the need for religion or mysticism, other than to impart false
importance to problems that are already well-understood? There's no
measurable value or progress in such an endeavor. Instrumentalism is a
more constructive path.

Problem is, each time you switch religions, the next one has less
impact on you. Once a Catholic, always a Catholic, they say. I don't
know what that means for me, since I was raised by the
assembly-language wolf, but it appears to mean that I'm never going to
be enthralled with another programming language. And now that I've
swallowed the red pill, what choice do I have? I need to try to show
people what's out there.


Is there really something new out there? I would argue that software
needs innovation more than it needs philosophers.

Mark
 
G

Guest

: the way through the Software Dark Ages we're in today: a time that will

Wrong. We live in a paradise of ideas and possibilities well beyond the
wildest dreams of only 20 years ago.

: But I've failed. This isn't the essay I wanted to write, because I'm
: neither a great thinker nor a great writer.

Finally you got _something_ right.

Anyway, unless ($your_text=m/\b[Pp]erl\b/) {print "Completely OT."}

Sorry for feeding the unspeakable, Oliver.
 
S

SamFeltus

Religious Fanaticism is a very strong in the Computer community. But,
is it really a surprise that when a bunch of hairless apes created a
new mental world, they created it with a complicated Quilt of religions
and nationalities, and many became fanatical?

I am confidant the responces Xah will recieve will validate his
observation on religious fanaticism. It is funny, Xah always questions
people's Sacred Cow's, I have often noted that the reponces often read
like the writings of religious fanatics. As a Georgian (US), the
responces often remind me of the Dark Side (there is a Light) of the
Southern Baptist Church, translated into Computer Speak.

Software needs philosophers is an interesting point, perhaps the most
important function of Philosophers is exposing Sacred Cows as just
Cattle.
 
M

M Jared Finder

SamFeltus said:
Religious Fanaticism is a very strong in the Computer community. But,
is it really a surprise that when a bunch of hairless apes created a
new mental world, they created it with a complicated Quilt of religions
and nationalities, and many became fanatical?

I am confidant the responces Xah will recieve will validate his
observation on religious fanaticism. It is funny, Xah always questions
people's Sacred Cow's, I have often noted that the reponces often read
like the writings of religious fanatics. As a Georgian (US), the
responces often remind me of the Dark Side (there is a Light) of the
Southern Baptist Church, translated into Computer Speak.

Software needs philosophers is an interesting point, perhaps the most
important function of Philosophers is exposing Sacred Cows as just
Cattle.

Finally, someone else who sees that Xah's posts consistently expose
valid problems! (Though his solutions are usually not well thought out.)

-- MJF
 
P

Pascal Bourguignon

SamFeltus said:
Software needs philosophers is an interesting point, perhaps the most
important function of Philosophers is exposing Sacred Cows as just
Cattle.

As I see it philosophers have a big problem: nobody need them, so
they're out of job. That's why we see occasional articles "X needs
philosophers". I just ask: where are the job offers?
 
I

Ilias Lazaridis

Mark said:
....

....
Is there really something new out there? I would argue that software
needs innovation more than it needs philosophers.

software needs innovation.

innovation needs philosophy.

philosophy needs openness.

-

For readers which like a more compact overview of LISP (and its
surrounding community):

"Showcase for: how the "human factor" can negate, eliminate and even
reverse the evolution of a Programming Language System."

http://lazaridis.com/core/eval/lisp.html

-

Note: the results of this reviews are currently moved into several
projects:

http://lazaridis.com/pj

http://case.lazaridis.com/multi

..
 
T

Tel A.

Xah,

I agree with the thrust of your thread here, though I don't think it's
anything special: people invest their values in what they invest their
time in. To top it off, you're taking an anti-CL viewpoint in a group
predominantly focused around CL (despite being named for just lisp).
You're fighting against group polarization even as you fuel it.

Nevertheless, I agree with your point.

Unfortunately, I think you need to look closer into the philosophy of
your own writing. Rhetoric might not produce definitive answers, but it
has a purpose.

If you're looking for a place to openly criticize lisp, to search for
ways to improve it or to craft an alternative then, simply and without
malevolence, look somewhere else. That is the frustrated plea of those
who respond violently to your posts. C.l.l. isn't so versatile;
however, I'm sure the people here are if you approach the problem from
the right angle, with the right rhetoric.

Good luck.
 
P

Philippe Martin

Xah said:
Software Needs Philosophers

by Steve Yegge, 2006-04-15.

Software needs philosophers.

This thought has been nagging at me for a year now, and recently it's
been growing like a tumor. One that plenty of folks on the 'net would
love to see kill me.

People don't put much stock in philosophers these days. The popular
impression of philosophy is that it's just rhetoric, just frivolous
debating about stuff that can never properly be answered. ?Spare me
the philosophy; let's stick to the facts!?

The funny thing is, it's philosophers who gave us the ability to think
rationally, to stick to the facts. If it weren't for the work of
countless philosophers, facts would still be getting people tortured
and killed for discovering and sharing them.

Does it ever strike you as just a teeny bit odd that after a brief
period where philosophy flourished, from maybe 400 B.C.E. to ~100 C.E.,
we went through a follow-on period of well over one thousand five
hundred years during which the Roman Catholic Church enslaved
everyone's minds and killed anyone who dared think differently?

What's weirder is that we tend to pretend it didn't really happen. We
like to just skip right over the dominance of religion over our minds
for a hundred generations, and think of religion today as a kindly old
grandpa who's just looking out for us kids. No harm, no foul. Let
bygones be bygones. Sure, there were massacres and crusades and
genocides and torture chambers with teeth grinding and eyes bleeding
and intestines torn out in the name of God. But we were all just kids
then, right? Nobody does that kind of thing today, at least not in
civilized countries.

We try not to think about the uncivilized ones.

It was philosophers that got us out of that Dark Ages mess, and no
small number of them lost their lives in doing so. And today, the
philosophy majors are the butts of the most jokes, because after the
philosophers succeeded in opening our minds, we forgot why we needed
them.

And if we stop to think about it at all, we think that it was other
people, people who are very unlike us, who committed those atrocities
in the name of Faith (regardless of whether it's faith in a god, or in
a political party, or any other form of mind control carried out by
force).

We like to think we live in an enlightened age, but we don't. Humans
haven't changed significantly in 10,000 years. We're still killing and
torturing each other. It's apparently incredibly easy to decide to kill
someone and then do it. Happens every day, all around the world.
Torture, too.

But those people are just people. If they had been born down the street
from you, they'd have gone to school with you, been friends with you,
learned to program with you, written blogs and comments, never tortured
or killed anyone in the name of an idea. They'd have been you. Which
means they are you; you just got lucky in where you were born.

One of the commenters on my last blog entry expressed the fervent wish
that I drop dead. To be sure, they qualified it with ?on the
internet?. But if they really feel that way, especially about
something as hilariously and absurdly unimportant in the Grand Scheme
as whether the Lisp programming language has any acceptable
implementations, then what does it say about us?

Everyone who commented angrily on that blog entry was caught. I caught
you, anonymous or not, being a religious fanatic. The only
?negative? commenter who doesn't appear to be a religious zombie
was Paul Costanza (ironic, since he claims to be the opinionated one),
who relegated his comments to pedantic technical corrections. They're
welcome, of course; I'm always looking to correct any technical
misconceptions I harbor. But they're moot, since even if I was wrong
about every single technical point I brought up in that entry, my
overall point ? Lisp is not an acceptable Lisp ? remains largely
uncontested by the commenters.

Some of them just don't get it, which is fine; no harm in that. If
you've been using Lisp for years and years, and you've written books
and articles and zillions of lines of Lisp code, then you're unlikely
to remember anything about what it's like coming to Lisp for the first
time. They're religious because they've forgotten what it's like to be
a skeptic.

But make no mistake; a substantial percentage of people who take a side
in any programming language discussion that devolves into a flamewar
know exactly what the other side means, and they want to invoke the
Ultimate Censorship: drop dead! Killing someone, after all, is one of
the best ways to silence them. You also have to burn all their
writings, which is getting harder these days; hence the increased
vehemence on the 'net.

Those of you who've followed what I've written over the past year or so
know where I'm going. I'm taking a stand, all right, and it's a very
definite one. I'm finding myself drawn inexorably towards a single
goal: stamping out technological religion, because I'm frigging tired
of not being able to stick to the facts.

FACT: Java has no first-class functions and no macros. This results in
warped code that hacks around the problem, and as the code base grows,
it takes on a definite, ugly shape, one that's utterly unique to Java.
Lisp people can see this clear as day. So can Python folks, so can Ruby
folks. Java people flip out, and say ?macros are too much power?,
or ?what do u mean i dont understand u? or ?**** you, you jerk,
Lisp will NEVER win?.

You think I don't hear ALL that, and much more, in the hate mail I get
every day?

I sure wouldn't want to be alone with a Java fanatic in a medieval
torture chamber, because God only knows what they're capable of.

Turn the mirror towards Python, and what happens? Funny, but the Java
folks will mail me saying: ?yeah, I've always known I detested
Python, and you really nailed exactly why. Thanks!? Meanwhile, Python
folks are literally frothing at the mouth, looking for the ?Kill That
Bastard? key on their 101-key keyboards.

I turned the mirror towards Lisp yesterday. Had to go to the bathroom
like nobody's business, and my wife was expecting me home any minute,
so I rushed it out: just a few thoughts here and there. So the Gorgon
only caught the tiniest glimpse of itself, but hell evidently hath no
fury like that of a Lisper scorned, and all that.

It doesn't matter that I rushed it out. I'm glad I did; spending any
more time on it, trying to get it ?right? by looking up useless
factoids like how you can override length's non-polymorphicness with
some weird setting (when it plainly should just be the default), would
have had the exact same net effect: Lisp zealots would have found some
way to turn it into a flamewar. And I'd have been out 2 or 3 more
hours.

Let's call it a troll, then, because it was poorly researched; it was
just some months-old recollections of pain I'd gone through last year
trying to commit to Common Lisp, after another year of trying the same
with various flavors of Scheme and finding them all wanting. As far as
I'm concerned, Lisp is unacceptable today; it's my opinion and just
that, but I'll stick with it.

I still need Lisp; after you learn enough of it, it becomes part of
your soul. I get my fix hacking elisp, and I do a lot of it. The
commenters are quite right; I've never written anything substantial in
Common Lisp, because in each of my serious attempts, there was too much
friction. Risk/reward wasn't high enough, and believe me, I wanted it.

But after many attempts, I've given up on Common Lisp. They won't let
me use it where I work, and there are probably more Lispers per capita
where I work, including some famous ones, than at any other big company
in the world. If we can't use it where I work, then it's frigging
unacceptable; that's the shortest proof I can offer.

What I'm far more interested today is the situation that arises if you
consider my post a troll. I'm far more interested in the social
consequences of working in a world filled with religious fanatics of
different religious persuasions. Especially given that it's a world in
which ?natural religion? has, by and large, been marginalized
through the work of philosophers.
[ ? Peter Siebel is the author of the book Practical Common Lisp,
2005. ( http://gigamonkeys.com/book/).]

Let's look at this world in a little more detail, starting with Peter
Siebel's comment, which I believe is the most interesting. Peter said:

I was trying to figure out why on earth you spent so much time
writing about something that you apparently don't like. Then it hit me:
HCGS?. So thanks for your help.

His first sentence speaks volumes about the sociology. His viewpoint is
exactly what they teach us all as kids: If you don't have anything nice
to say, don't say anything at all. We like to think people have a right
to believe whatever they want, and that it's not nice to say mean
things about other people's beliefs, especially when their livelihoods
are at stake.

That's where philosophers come in, folks. They pick your beliefs apart
and show you in unforgettable ways the consequences of what you believe
in. I'm no philosopher; I know basically nothing about it, but I can
tell you I wish fervently that some great philosophers would come along
and effect change in our technical society.

Because if nothing else, I can see the consequences of the way we're
thinking about things. One of many such consequences is that languages
aren't getting any better, and the worst offenders are Lisp and Scheme,
which by rights should be racing along the innovation curve faster than
their supposedly less capable peers. But they've stagnated worse than
any other non-dead language I can think of.[1]

Programming languages are religions. For a long while now I've been
mildly uncomfortable calling it ?religion?, but I don't feel bad
about it anymore. They're similar enough. At the top of the language
religion is the language itself; it serves as the deity and the object
of worship.

Like any other organized religion, there's always a Pope (or a
politburo chairman, in countries where the government has brutally set
itself up as what is for all intents the religion of choice): a
spiritual leader that gives the religion the human touch. This person
is almost always the language designer, of course. In Lisp's case it's
complicated, because McCarthy, Sussman and Steele aren't very active as
spiritual leaders for their languages anymore.

Every major organized religion is a heirarchical government, and
programming languages are no exception. You'll find equivalents of
cardinals, bishops, priests and laity in programming language camps:
the closer you are to the fire, to the spiritual center, the higher
your rank. It's a great way to quantify your perceived self-importance:
a high-score list, in effect. Great for the ego, but it makes you a
piss-poor debater, because you're so emotionally invested in your
status.

You'd think your rank would be accrued by virtue of your technical
and/or documentation contributions, but in practice it's usually more
of a function of how many converts you've gained, how many followers
you have, how much you've been spreading the Word.

[? Paul Graham is a lisp dignitary. He is well known for having sold
his ecommerce software written in lisp to Yahoo.com for $49.9 million,
among other things. See Paul Graham? and http://www.paulgraham.com/ ]

That's why Paul Graham isn't the Pope of Lisp. He's eminently
qualified, but unfortunately he's a heretic. Notice that almost none of
the commenters on my last blog mentioned the PG argument I made. The
only one who did (as of this writing) tried to make it an argument for
Common Lisp. Let's face it: you can't give those heretics too much
press; people might start listening to them!

Peter, are you beginning to understand why I write so much about
something I apparently don't like? It's because I wanted to like it but
found it fatally flawed, technically and culturally. It's as if I were
a would-be convert to Roman Catholicism, but I can't bring myself to
commit because I've seen too much of their role in creating a history
that ironically we all wish we could rewrite.

I was born and raised a Roman Catholic, and I renounced it when I was
thirteen years old, after my Uncle Frank (a devout terrorist Catholic
if there ever was one) told me to stop reading the Bible, that it would
?really screw a person up? to do that, that you needed someone to
interpret it for you. That wasn't the only reason I renounced it, but
it'll suffice for our purposes.

Technologically I was born and raised an assembly-language programmer;
at least that's what my first real job was, for 5 years after I got my
CS degree. Assembly is just flagellation, though, and damned
uncomfortable at that, so I joined the Church of Java for fully seven
years. And practically at the very moment I'd finally tired of chafing
at Java's limitations, Paul Graham came along and through his early
essays, showed me Lisp. What a great new religion!

Problem is, each time you switch religions, the next one has less
impact on you. Once a Catholic, always a Catholic, they say. I don't
know what that means for me, since I was raised by the
assembly-language wolf, but it appears to mean that I'm never going to
be enthralled with another programming language. And now that I've
swallowed the red pill, what choice do I have? I need to try to show
people what's out there.

Interestingly, it was Peter Siebel's most excellent book, Practical
Common Lisp?, that played the role of Uncle Frank and killed my
desired to continue with Common Lisp. Peter was the first person to
show me beast's underbelly. Every other Lisp book had pretended it was
pure and beautiful and uncorrupted, because they left all the nastiness
out as ?implementation-defined?. Once I saw what you really need to
do in order to build something resembling a portable Lisp code base,
and then had a few runs at it myself, I threw in the towel.

I much prefer Lisp the idea to Lisp the implementation.[2]

[ ? Fyodor_Dostoyevsky?, David_Hume?, Aristotle?,
Jean-Paul_Sartre?, Ben_Franklin?, Galileo_Galilei?,
Bertrand_Russell?, Albert_Einstein? ]

I can tell you this: I've tried writing this essay for a year. I've
tried fully a dozen times. I've tackled it from a dozen angles. I've
wanted to say it ? software needs philosophers! ? so many times, in
so many ways. We need great thinkers ? the Fyodor Dostoyevskys and
David Humes and Aristotles and Jean-Paul Sartres and Ben Franklins and
Galileo Galileis and Bertrand Russells and Albert Einsteins to show us
the way through the Software Dark Ages we're in today: a time that will
doubtless be remembered as every bit as mired in darkness and ignorance
as the Dark Ages themselves.

But I've failed. This isn't the essay I wanted to write, because I'm
neither a great thinker nor a great writer. However, you might be: if
not now, then perhaps someday. So I think it's better to get the idea
out now than to hoard it in the hopes of someday writing a
world-changing essay.

For those of you who were surprised at the suddenness and vehemence of
the Lisp community's backlash to my little rant, I hope I've helped
shed a little light, helped you see its inevitability. Basically
they've had a lot of practice. Lisp is one of the oldest technology
religions, and they've both experienced and doled out their share of
religious persecution.

But that's not the lesson you should take away. The lesson is that they
are you. Whenever you hear someone ranting about something you take for
granted as wonderful and praiseworthy, and you're wondering why they
don't leave well enough alone so we can all get back to our incestuous
cheerleading, just remember: we went from the Dark Ages to our
reeeeasonably enlightened society today by questioning our most
cherished beliefs.

So keep questioning them.

[ ? R6RS refers to the Scheme Lisp language's upcoming specification.
See Scheme programming language? ]

[1] Yes, I've read all of R6RS. It's a lukewarm compromise that punts
on most of the important issues. It's not going to make Scheme any more
successful than it is today, which to me feels practically criminal; it
was their one big chance to break out of the rut they're in. But it
doesn't matter. Let's pretend this footnote is just a troll. If your
hackles went up, then you're a techno-religious zombie, and I hope in
my lifetime to find you a cure. Try your best to think about that long
and hard before responding.

[ ? SLIME is a emacs mode for lisp programing. See
http://common-lisp.net/project/slime/. ]

[2] For the record, the commenter I agree the most with is the one who
said the problem basically boils down to an IDE issue. SLIME doesn't
cut it, either, as beautiful as SLIME is. Can't use it on Windows to
save your life, for instance. But that's one of a thousand problems
with the Lisp IDE situation; it's pointless to try to discuss them all
in blogger. It's probably pointless to discuss them at all, because
it's just going to make me more miserable that no decent IDE exists for
Lisp, except for Emacs-as-Elisp-IDE. Which is why I get my Lisp fix by
hacking elisp these days.

----
This post is archived at:
http://steve-yegge.blogspot.com/2006/04/software-needs-philosophers.html

and
http://xahlee.org/Periodic_dosage_dir/_p/software_phil.html

This essay is reported with permission.

Xah
(e-mail address removed)
? http://xahlee.org/


No Xah :) many of us want you to stay healthy !

Philippe
 
B

Burton Samograd

Pascal Bourguignon said:
As I see it philosophers have a big problem: nobody need them, so
they're out of job. That's why we see occasional articles "X needs
philosophers". I just ask: where are the job offers?

Some might think that Aristotle's categorization and type theories
might have created a few jobs in our current hobby/profession. There
are many types of philosophy, but from what I've read, the most
interesting the the mental deconstructionism of reality on a
humanistic linguistic level, similar to mathematics without all the
abbreviations.

No, there aren't any jobs for philosophers, and their works are
generally very underappreciated during thier lives, but it's quite
difficult to say that it's useless, just often misunderstood by the
less forward thinking people of their time.
 
K

Kent Paul Dolan

PofN said:
Xah Lee wrote:
No, software neds less idiots. So please take your medication and
change profession.

I'm afraid the idiot is you. You even misattributed the quote, since
that _entire_ posting was a quote of work by another author. We
can easily guess you never read past the first line before posting
your response.

Nice try at re-routing responses, too, you moronic scum.

Meanwhile, the article originally quoted is well worth the plowing
through and then indulging in a bit of introspection to realize that
yes,
being a True Believer in _anything_ is a disease needing curing by
something very like philosophers, even if that something is Java as a
programming language. Or, in the original posting, Common Lisp.

HTH

xanthian.
 
N

nikie

Xah said:
Software Needs Philosophers

by Steve Yegge, 2006-04-15.

Software needs philosophers.

This thought has been nagging at me for a year now, and recently it's
been growing like a tumor. One that plenty of folks on the 'net would
love to see kill me.

No, we all wish you a long and quiet life! Although some of us are a
little annoyed that you keep cross-posting articles wildly to
completely unrelated newsgroups...
People don't put much stock in philosophers these days. The popular
impression of philosophy is that it's just rhetoric, just frivolous
debating about stuff that can never properly be answered. "Spare me
the philosophy; let's stick to the facts!"

The funny thing is, it's philosophers who gave us the ability to think
rationally, to stick to the facts. If it weren't for the work of
countless philosophers, facts would still be getting people tortured
and killed for discovering and sharing them.

Does it ever strike you as just a teeny bit odd that after a brief
period where philosophy flourished, from maybe 400 B.C.E. to ~100 C.E.,
we went through a follow-on period of well over one thousand five
hundred years during which the Roman Catholic Church enslaved
everyone's minds and killed anyone who dared think differently?

I wonder where you get your historical "facts" form? (Monty Python
movies?) Let's just add a few fun facts: Yes, philosophy did flourish
in ancient greece, but liberty certainly didn't. Yes, Athens was (at
least most of the time) a democracy - which by the way, most
philosophers thought was a very bad thing. But still, about 90% of the
population of Athens were slaves at that time. Not just "mentally
enslaved", no, real, physical slaves.
Also, it was dangerous to have oppinions that authorities didn't like
(Socrates for example was sentenced to death because of impiety,
Anaxagoras and Aristoteles had to flee because of similar charges,
Hipposus, who _proved_ a flaw in Pythagoras' number theory was
drowned). And, sad to say, if philosophers would have been in charge,
things would probably have been even worse (Ever read Plato's "The
State"?)

Also, has the roman catholic church really "killed anyone who dared
think differently"? The Spanish Inquisition for example killed about
1000-2000 people in two centuries. That's bad enough, no question, but
"anyone who dared think differently"? Hardly.
What's weirder is that we tend to pretend it didn't really happen. We
like to just skip right over the dominance of religion over our minds
for a hundred generations, and think of religion today as a kindly old
grandpa who's just looking out for us kids. No harm, no foul. Let
bygones be bygones. Sure, there were massacres and crusades and
genocides and torture chambers with teeth grinding and eyes bleeding
and intestines torn out in the name of God. But we were all just kids
then, right? Nobody does that kind of thing today, at least not in
civilized countries.

Hmmm. There were massacres in the name of liberty to, e.g. in the
French Revolution. Does that make liberty (and those who value it)
equally evil? (The same is of course true for money, love, or probably
anything else people like)
We try not to think about the uncivilized ones.

We do! Let's think about some of them: The Khmers rouges come to my
mind, also China, and a few years back the Soviet Union. Notice
something? Right, no religion. In fact, they were more or less
following the works of the philosopher Karl Marx.
It was philosophers that got us out of that Dark Ages mess, and no
small number of them lost their lives in doing so.

In the "Dark Ages" pretty much the only chance to get a decent
education was to become a monk or at least be taught by monks. So, it
isn't surprising that almost all of the philosophers at the time (like
William of Occam or Roger Bacon) were monks. Therefore, philosophy was
never clearly separated from theology during that time.

The end of the middle ages is probably marked by the renaissance and
the reformation, the latter of course started by a priest.

What have we learned? Yes, Religion was an important power in the
development of europe over the last 3000 years (yes, I'm including the
Antiquity in this, it didn't just take a break to watch the philosophy
channel). So were money, and military power, technology, social
factors, and of course philosophy. Yes, it did have bad consequences,
and it did have good ones. The same is true for all the other powers as
well.

(BTW: Have you ever considered the possibility that philosophers might
not be interested in tab-versus-spaces-debates in the first place?
Maybe they have more interesting matters to discuss. Just like the rest
of us.)
 
M

Mumia W.

M said:
SamFeltus said:
[...]
Software needs philosophers is an interesting point, perhaps the most
important function of Philosophers is exposing Sacred Cows as just
Cattle.

Finally, someone else who sees that Xah's posts consistently expose
valid problems! (Though his solutions are usually not well thought out.)

-- MJF

I agree, Xah's articles make you think. Although in this case, it's a
blog article by Steve Yegge that Xah evidently got permission to post.

Software *does* need philosophers, but the more I think about the
implications of that, the more I think it's scary.
 
K

Kent Paul Dolan

Pascal said:
As I see it philosophers have a big problem: nobody need them, so
they're out of job. That's why we see occasional articles "X needs
philosophers". I just ask: where are the job offers?

And yet, what is the below, which you might recognize, but a stand
of a philosophical sort, striking a balance on the continuum between
the right to profit from personal accomplishment and innovation, and
the right to re-invent the apparently obvious without penalty?

:> Software patents are endangering the computer industry all around
:> the world.

Just because philosophy isn't currently paying the rent, doesn't make
it any less necessary for humanity to remain even vaguely human.

xanthian.
 
J

jab3

SamFeltus said:
Religious Fanaticism is a very strong in the Computer community. But,
is it really a surprise that when a bunch of hairless apes created a
new mental world, they created it with a complicated Quilt of religions
and nationalities, and many became fanatical?

I am confidant the responces Xah will recieve will validate his
observation on religious fanaticism. It is funny, Xah always questions
people's Sacred Cow's, I have often noted that the reponces often read
like the writings of religious fanatics. As a Georgian (US), the
responces often remind me of the Dark Side (there is a Light) of the
Southern Baptist Church, translated into Computer Speak.

Software needs philosophers is an interesting point, perhaps the most
important function of Philosophers is exposing Sacred Cows as just
Cattle.

Unless Xah Lee is Steve Yegge, Xah Lee did not write that essay. Nor did he
claim to:
Software Needs Philosophers
by Steve Yegge, 2006-04-15.

 
A

alex23

As a professionally trained "philosopher" and "programmer", I'm
perfectly well aware that the onus is on _me_ to make others respect &
appreciate my skills and what they offer. Posting to usenet about how
others just don't "get it" is, in fact, not "getting it".

Even further, using "religion" as the antithesis to the glorious
philosophy which produces only truth makes this little more than the
standard net rant of "your way is different from mine and therefore
wrong". I can just as easily use "philosophy" to mean "the pointless
rantings of obsessed individuals"...

Seriously, this fails on every single level it aims at.

- alex23
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,024
Latest member
ARDU_PROgrammER

Latest Threads

Top