I hate Lisp
funcall.blogspot.com
funcall.blogspot.com
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.
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.
Also, I wouldn't call this satire, since I get the feeling it's an accurate description of how the author felt when he was first introduced to Lisp. And since it's missing the "Eureka!" moment that I assume is coming in part two, I can't fault people for not spotting that.
Regarding attempts at humor, I think most of that becomes noise. Most people aren't funny, but are convinced otherwise. Half of most Slashdot threads are posters trying to be funny. I think attempts at humor don't scale well.
I didn't, actually. I don't look at usernames, and I definitely don't click through to see how long they've been around.
I guess it's always been this way and I just like to complain. (This sentence is sincere.)
$topic.(" considered harmful" x ((int rand 5)+1))
Well, see, here's the problem. 99% of articles written like this are not satire. So you get conditioned to jump down people's throats when you read something like this.
(I am not sure why the "Someone is WRONG on the Internet" effect is so strong, however. If someone really does think like this, we should just ignore them and hope they go away.)
Laughing to the same joke over and over is retarded. We have seen this same (or variation of this same) joke many times before. Its getting old, tired and uninspiring.
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.
"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.)
If you met someone face to face who happened to be a PHP programmer, would you let them know that ostensibly based solely on the language that they happen to be using at the time, you don't consider them a real programmer?
I'm just saying man, it's a slippery slope and one that I actively try to avoid these days.
Sure, why not.
Happening across some of your other posts, you seem to be a person who likes to make sweeping generalisations in the hope of offending someone. I suspect that you're well aware of what you're doing and are doing it intentionally. So I'll wish you good luck with that and be on my way.
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?
I am being unfair to PHP, though... Java sucks too.
What is there to do with this besides chuckle and move on? I didn't come up with anything. I suppose I could destroy its life by publicly dissecting it. But, in the spirit of the original author, I would prefer to leave the interpretation of the story as an exercise for the student.
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!
Check the other posts on the blog. It's a lisp blog.
I just think that, in general, "voted up because it's funny, even though it's also dumb" is a terrible precedent.
(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.
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.
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".
Didn't expect to see this type of thing on HN.
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.
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.
Good to know there are editors out there that deal with the issue, I didn't know they existed.
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.
There is a very good one for Lisp called SLIME.
(I suppose it's actually SLIME + Emacs, but that makes my point less concise so I will leave this as a parenthetical remark.)
http://www-student.cs.york.ac.uk/~anc505/code/sugar-read.scm
Some less-parenthesised forms for Scheme:
http://www-student.cs.york.ac.uk/~anc505/code/macro-sans-par...
Scheme mode for Emacs will fade out any remaining parenthesis :)
is it me or is HN getting worse by the day?