5 ms·
I hate Lisp
- snorkel 18y agoI 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?
- sketerpot 18y agoYou have to heap-allocate data sometimes, too. There's nothing special about Lisp in this respect. I mean, why wouldn't you have to use a heap?
- dfox 18y agoActually, 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".
- jcapote 18y agodie hard ASM fan hates higher level languages, news at 11. is it me or is HN getting worse by the day?
- jjames 18y agoSounds 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 18y agoSounds like a HN geek enrolling in an irony class. It would be baffling. Try reading the article slower :-)
- jjames 18y agoEh, 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.
- swombat 18y agoWhy 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!
- sharkbrainguy 18y agoI'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 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 18y agoInterestingly, almost everyone posting to the Reddit thread got that it was a joke (http://www.reddit.com/r/programming/comments/81s36/i_hate_lisp/ http://www.reddit.com/r/programming/comments/81s36/i_hate_li...) but most people posting to HN took it seriously.
- trapper 18y agoPerhaps real hacker's spend less time here [ducks].
- rbanffy 18y agoHN works flawlessly in w3 under emacs.
- dkarl 18y agoI think Lispers like to pretend they are soooooooo smart and so baffled by the stupidity of (cough) "normal" people that they don't dare assume any lower bound on human intelligence. "You eat poop? Really? Ummm. Gosh. Welllllll, that's understandable. I... um... used to eat poop too! Before I learned about food. But if you give me a chance I think I can convince you of the merits of food. Let me tell you about my Road to Food!" (Yeah, I love Lisp and like HN; I just can't resist poking some fun.)
- jonnytran 18y agoMaybe for more people on HN, Lisp is part of their identity, so they get defensive.
- mpk 18y agoThe 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.
- TweedHeads 18y agoWhat, 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 18y agoSo things like paredit mode (http://mumble.net/~campbell/emacs/paredit.el 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 18y agoHey, 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.
- parenthesis 18y agoParentheses, braces etc. sure beat BEGIN and END.
- jimbokun 18y agoI 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.
- SwellJoe 18y agoThis 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 18y agoHacker 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 18y agoHey, 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 18y agoYou talk to females?
- nostrademons 18y agoThe subsets can sometimes be overlapping, depending on how comfortable the people in question feel in the group.
- scott_s 18y ago
- Hexstream 18y agoI know it's a joke article, but I still find it pointless and without substance. What can anyone learn from it?
- bmj 18y agoMust everything be a lesson?
- Hexstream 18y agoEverything that gets upvoted to the top HN position should have... something interesting about it in some way. Apart from a linkbait title.
- silentbicycle 18y agoNot necessarily, but favoring intellectually rewarding stuff is a good way to keep the front page from getting saturated with e.g. lolcats.
- bmj 18y agoI 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 18y agoI 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.
- willchang 18y agoI thought this post was information-dense to the point of being poetic. (1) I wasn't around in the early 80's so I appreciate insight into what hacking was like back then. (2) It's interesting how something as great as hacking really could be made ridiculous by those Principles that he cited, and that self-important educators did those kind of things, and I wonder if that happens a lot today. (3) It's also true that hackers like getting close to the metal and having control over their machine, to the point of making disk actuators spin or indicator lights blink, etc. Surely it is right to lament the seldomness with which such things concern us today? (4) I thought it was funny that ugly, all-caps names like MEMQ and ASSQ, were NOT the things that he complained about, since as an assembly programmer he wouldn't even notice. Nomenclatural conventions is a microcosm of hacking. The things people say about how names should be -- short, long, structured, typographically this way or that -- these are analogous to what people say hacking should be. It is telling that early lispers didn't give a shit about names that looked like opcodes. (5) As profound as Lisp was, it probably did suffer from being taught by the same guys that came up with those Principles. Like Chaucer urged before, let us separate the wheat from the chaff.
- bianco 18y agoNever mind, I hate Haskell. And since I'm too lazy to learn it, I'll hate it maybe forever...