
I hate Lisp - divia
http://funcall.blogspot.com/2009/03/i-hate-lisp.html
======
SwellJoe
_This_ is exactly what I've been complaining about lately. Hacker News seems
to have been mobbed with people who have zero sense of humor and no ability to
recognize satire. Hackers like to laugh. They like to laugh at _themselves_
most of all.

I've noticed this trend for the past couple of months...comments and articles
that are clearly intended humorously being voted down as trolls, or responded
to as trolls, or both. I know we're supposed to be politely nudging these new
users onto the path of righteousness and into becoming productive members of
the HN community...but how does one teach someone to have a sense humor? I
really don't want to be one of those Eternal September types, but hackers like
to laugh.

~~~
menloparkbum
_Hacker News seems to have been mobbed with people who have zero sense of
humor and no ability to recognize satire._

In my tenure as a hacker I've found that the subset of hackers who don't get
satire and seem to have no sense of humor is at least as large as the subset
that does. For every cool, funny hacker guy you meet, there's at least one
weird, humorless semi-autistic guy waiting to make the next teambuilding
outing more awkward.

~~~
dkarl
Hey, I just told Jenny she would look way hotter if we were playing Lazer Tag
in tight Star Trek uniforms instead of our street clothes. That's a
compliment, right? I thought I was _supposed_ to make our new team member feel
welcome.

~~~
eru
You talk to females?

------
sharkbrainguy
I'm pretty sure the title is tongue in cheek, and would be more accurately
rendered as "I hated lisp when I first had to learn it", considering e.g. the
name of the blog, and posts like these with considerable lispy content.

<http://funcall.blogspot.com/2009/01/day-4-part-1.html>

I hate explaining a joke as much as anyone but it seems that it's gone over
some heads.

~~~
cchooper
Interestingly, almost everyone posting to the Reddit thread got that it was a
joke
([http://www.reddit.com/r/programming/comments/81s36/i_hate_li...](http://www.reddit.com/r/programming/comments/81s36/i_hate_lisp/))
but most people posting to HN took it seriously.

~~~
jonnytran
Maybe for more people on HN, Lisp is part of their identity, so they get
defensive.

~~~
jrockway
I haven't noticed this. Most people here seem to be PHP "programmers", which I
find hilarious. There is also a large Ruby contingent (whenever someone links
their open source project, it's always Ruby.)

~~~
jimbokun
Why the quotes around "programmers"? I think Facebook is mostly PHP (or at
least was initially?) and I am definitely not going to claim no one working at
Facebook is a programmer.

I understand that PHP is an atrocious language (although I haven't tried it
myself). But if someone uses it to create a product that people want and
satisfies a need, more power to them, right?

~~~
jrockway
I'm just saying that the demographic here is more people that think they can
get rich off some PHP app than hard-core Lisp hackers. I am not saying that
there are no PHP programmers, merely that the PHP-lovers here don't do much
programming.

I am being unfair to PHP, though... Java sucks too.

------
swombat
_Why would someone lookup a value in a property list when you could write a
simple routine in Macro-11 that would find the value in a table?_

Why indeed! I'm glad Lisp is finally dead so that we can all go back to
writing assembler code optimised for the cycle allocations of a specific cpu.
If only we could get back all the time wasted writing all that silly code with
all those silly parentheses!

~~~
swombat
Note to people writing a lengthy, angry reply: this article, and this comment,
are both satire.

Check the other posts on the blog. It's a lisp blog.

~~~
donw
I thought 'funcall.blogspot.org' might have given it away... ;p

------
Hexstream
I know it's a joke article, but I still find it pointless and without
substance. What can anyone learn from it?

~~~
bmj
Must everything be a lesson?

~~~
silentbicycle
Not necessarily, but favoring intellectually rewarding stuff is a good way to
keep the front page from getting saturated with e.g. lolcats.

~~~
bmj
I think, as pointed out in another comment, that this post isn't just lolcat-
esque--it does paint a picture of programming in the 1980s, something many of
us haven't experienced.

~~~
silentbicycle
I agree - I've heard of people considering Lisp (with its _garbage collection_
) incredibly indulgent and inefficient decades ago, but that's sufficiently
before my time that it was an interesting read.

I just think that, in general, "voted up because it's funny, even though it's
also dumb" is a terrible precedent.

------
mpk
The main point he seems to be making is that LISP is terribly inefficient from
an early 80s point of view because there's an abstraction layer between LISP
code and the CPU.

These days of course that's a moot point, as almost all day-to-day code is
implemented in a language that has such a layer. Ruby has a VM with multiple
implementations, Java has JVMs, C# has the Microsoft dotNet runtime and Mono,
etc.

I can't really tell whether or not this post is supposed to be funny but I'm
guessing that the only reason this made the front page is because of the
polarizing title.

------
snorkel
I don't hate Lisp but I do agree that in those days limited stack depth was a
problem. I don't know if this is an accurate assessment of Lisp but I think of
pure Lisp as language where all of the data is stored entirely in the call
stack. In other words it's just functions and arguments piled up in a stack.
Is that right?

~~~
dfox
Actually, no.

For some reason many people have impression that lisp is "functional language"
and so on, but that is not true, and certainly was not true for first
practical implementations (practical = really running on some hardware).

One could discuss various approaches of implementing LISP, but in the end
implementation either do not use stack at all (which is especially useful when
you want Scheme-like semantics) or use stack in way that is not too different
from C or assembly programs (and when it is different it in most cases means
using less stack space).

Other thing is that particularly common implementation strategy (at least in
various simple and educational implementations) of heap allocation and garbage
collection was ignoring the problem and simple allocating heap structures by
incrementing some pointer and never reclaiming used memory. Which in the end
looks somehow like "using ridiculous amounts of stack space".

------
jjames
Sounds like a construction worker enrolling in an architecture class. It would
be baffling. The author doesn't seem to acknowledge the value of processes
abstracted from laying bricks. My guess is that he hasn't faced many ad-hoc
buildings.

~~~
nomoresecrets
Sounds like a HN geek enrolling in an irony class. It would be baffling. Try
reading the article slower :-)

~~~
jjames
Eh, it's a troll. I sensed sarcasm but honestly, it's rendered as a troll. The
title itself is present tense. There is no hint other than extra-article
content that the author means anything other than what he's saying.

Didn't expect to see this type of thing on HN.

------
TweedHeads
What, nobody wants to piss on PG's beloved language?

Well, I DO hate Lisp and I'll tell you why. Syntactically speaking is the
ugliest of all. I don't deny its inner beauty but those parenthesis are a
stopper for me.

Look, nowadays we have powerful IDEs that help programmers do their job. How
about an editor that subtly hides the parenthesis so they are out of the way
when you don't need them?

Maybe then I would consider it, meantime no, I don't want to be cool.

~~~
KirinDave
So things like paredit mode (<http://mumble.net/~campbell/emacs/paredit.el>)
for Emacs don't count because... why exactly?

Honestly I find most people who "hate parenthesis" don't actually hate
parenthesis. They hate the idea of having to delimit the _start_ of a
statement as well as the _finish_. And unless your editor is helping out it
can sometimes be a pain (let's admit it, it can be). But like every computer
language, Lisp makes a tradeoff here and says that the features they can
enable with such an incredibly regular syntax outweigh the pain of needing an
editor mode.

~~~
TweedHeads
Hey, I DO hate parenthesis as much as I hate brackets, angled, square and
curlies. They are visual speedbumps, at least for me. Therefor I hate all C
based and java languages, also html and xml. Again, visually speaking.

Good to know there are editors out there that deal with the issue, I didn't
know they existed.

~~~
jimbokun
I think that leaves Haskell and Python?

The Python indentation thing was an inspired choice and usually works very
well, but sometimes fails in a way that would be solved neatly if everything
was delimited with parentheses. But it is a pragmatic compromise much in the
spirit of the rest of Python (or "Pythonic" as they say). There is a lot of
use of delimiters in data collection literals and list comprehensions, though,
which are commonly used parts of the language.

Haskell, to me, demonstrates the problem of getting rid of almost all
delimiters. I have a hard time scanning Haskell code and discerning the
structure or figuring out what is being applied to what, etc.

I like Clojure's approach: mix up the delimiters to provide cues for mentally
parsing the code at a glance. If you see [], it is usually a place where
variables are defined and destructuring can happen. () is function or macro
application or a special form. {} is mapped data. Along with consistent
indentation, I find it quite readable.

I credit you, though, for declaring your hate of all delimiters equally :). I
find the people who abhor parentheses while never noticing all the {};<> in
their preferred language a bit maddening.

------
bianco
Never mind, I hate Haskell. And since I'm too lazy to learn it, I'll hate it
maybe forever...

------
jcapote
die hard ASM fan hates higher level languages, news at 11.

is it me or is HN getting worse by the day?

~~~
swombat
It's you. This is satire.

~~~
jcapote
I realize that now, heh. One of those mornings I guess.

