Lisp Users Are Arrogant

[moved from SocialProblemsOfLisp; some ReFactoring needed. Arguments re-arranged chronologically]

Scenarios of arrogance.

Code rage

When Lispers use other languages, often they think, "Man, this would be so much easier in lisp." Then of course, they must tell innocent bystanders, which isn't really endearing.

My last anecdote came from a language which is considered pretty enlightened and kind of lisp-like. When you call a library, it can throw an exception to you. Well, in lisp it can also signal a warning - if your app wants to handle it personally or give advice, that's fine; otherwise the library just decides what to do on its own.

So, I was writing an opensource library that conceivably would encounter partially-junk data. My desire was to signal a warning and crystallize something over time. I mentioned pointedly in a comment that the language didn't support warnings, and planned to deal with errorhandling later when I see what the library's evolved into. (The comment at least was politic enough not to mention lisp.) -- TayssirJohnGabbour

"I wasted years of my life not knowing about this?"

Lisp is like TheRedPill - after you take it, you think that maybe you should start killing other programmers who don't know any better and seem opposed to taking TheRedPill anyway. This wears off eventually, and you focus on building your own little submarines that fly. Occasionally popping into the net and fighting mythological creatures like trolls, or offering strangers odd red candies.

It's just a macro!

When she sees a BenevolentDictator and his TrustedLieutenants? getting together and announcing some new for(;;) loop, with a media circus and people getting paid to write new articles about it, your average lisper-in-the-street has one piercing thought: "Macro!"

Here are videos taken of MITers in the wild, setting upon LL2 speakers who unwittingly came bearing only macros: (Mainly with the Safe-Asynchronous-Exceptions-for-Python guy, the Microsoft guy, and the Ruby guy. Well, the Ruby guy didn't bear macros, which in his case was the issue.)

Republic of Lisp

Lisp is pretty different from other languages in government structure, and newbies initially have a hard time with it. Most languages have a BenevolentDictator and his TrustedLieutenants?, who actually call themselves by those names. Well, with lisp there is less need for such dictators and pals because people are empowered with various tools, macros currently being the most hyped. So you see more of a democracy, with individuals and representatives who can synch together with things like the CommonLisp standard.

So lispers will sound off on anything and everything, without knowing they're giving your sacred cow a noogie. "Damn, what's with this Guido Said This, Guido Thinks That crap?"

Loopy lispers

Some people are tempted to carry the "applied philosophy" nature of lisp a little far. Well, at least I personally might; I'm not sure if there are examples from others:

There is no loop

When a lisper hears, "Why are lispers too PURE to have a for loop?" it's like being told lisp has no parentheses. (Lisp's loop macro is like every for loop, in every language, rolled up into one. Like a giant neon cluestick, even the keyword "for" is almost always seen in it.)

As with any blatantly false propaganda, the human side of lispers are also targeted. "Respectable pragmatists" denounce lispers for acts of militant arrogance and insanity, emphasizing that percentage of socially unusual individuals who occur in any community. (*cough* Java BileBlog? *cough* .NET AngryCoder?.)

Does that make a few lispers arrogant like a self-fulfilling prophecy, to see people acting this way? Who knows.

Yes, I think this is at the heart of a lot of it... I'm imagining explaining to a PerlProgrammer? that perl is crap cause it lacks lexical closures, and that perl sucks cause you can't memoize functions without editing them directly, and perl sucks cause... well you get my point. Oh- and I could also toss in a couple of points about how nasty Perl programmers are, and back that up by referencing his reaction to my previous statements...

Also, to add insult to injury, many people who make bizarre, disparaging statements about Lisp lack the background to understand that the exact features that they are extolling in their language of choice not only exist in Lisp, but originated with Lisp. Is it arrogant to point that out?

Yep- I don't mean to implicate users of this wiki of course.. I mean the great unwashed, who _don't_ wiki ;). Except for whoever created this page, assuming that their tongue wasn't firmly planted in cheek... and, oh yeah, whoever made that LispUsersAreTakingOverWiki? page. One thing I noticed when I first started reading WardsWiki a few years ago was that there were a lot of really ardent Smalltalkers here. I had never thought of Smalltalk as anything other than a historical artifact before that- that's how it was presented in the classes I took at Uni, and how a lot of people think of it. I wound up downloading several Smalltalk environments, doing some real programming in them, and Smalltalk is definitely my second favorite language now- and I learned a lot by using it, particularly about how accommodating a development environment can be - I'm pretty sure CL has no analogue, and I think it can't- that is one of Smalltalk's features. Cl has some things to teach too, and just as I would have missed out if I were mostly concerned with calling SmalltalkersWhoTookOverOrMaybeStartedWikiEvenThoughItsWrittenInPerl? arrogant... well you get my point... Lisp was the first high level language- unless you call Fortran a high level language. It is still around, and is undergoing a renaissance- can't _all_ be arrogance

regarding development environments, consider reading about the lisp machines and operating systems, particularly Genera.

Let me try to get this straight: Lisp is a language for describing algorithms. This was JohnMcCarthy's original purpose, anyway: to build something more convenient than a Turing machine. Lisp is not about file, socket or GUI programming - Lisp is about expressive power. (For example, you can design multiple object systems for Lisp, in Lisp. Or implement the now-fashionable AOP. Or do arbitrary transformations on parsed source code.) If you don't value expressive power, Lisp ain't for you. I, personally, would prefer Lisp to not become mainstream: this would necessarily involve a dumbing down. So, if you want to use Java, use Java. But don't go around calling people morons. You're only giving yourself a bad name. (Is that why you didn't sign your rant?) -- VladimirSlepnev?

(To set the record straight, I am not a Lisp user per se. I do love Common Lisp, but haven't ever been paid to work with it. -- VladimirSlepnev?)

So, what are these problems, then? Well, apparently [above] someone is dead-set on demonstrating their social dysfunction. However, since they state an anti-lisp position, I don't know what that tells you about the putative social problems of lisp.

Hmmm, well assuming you are the one making the rather outre claims below - you may or may not be anti-lisp, but the comments are tendentious and contain a lot of misinformation. Either you don't understand lisp and its history, or you are deliberately misrepresenting it.

Not to completely derail this tangent of your argument, but nearly every academic society is steeped in "endless onanism" of one form or another. That's a harsh way to put it, but it's essentially true. Note though, that these little activities are what these people enjoy doing. Many of our greatest achievements in science, math, and more recently computer science started out looking like "endless onanism about semanitics." As for error correction, this is a common trait in hackers. Correctness is important. Get over it now, or forever be pissed off. You can be wrong and not be stupid. People, even smart ones (especially smart ones?), are wrong periodically.

Can I change the title to FpProgrammersAreArrogant?? It is not just a Lisp thing. --top

Probably not this page, I guess. Lisp is different from other FP languages. In fact Lisp is not even a functional programming language; it just happen to enable functional programming naturally. You wouldn't see other FP talks about Macro and Conditions System also.

See also: HowCanSomethingBeSuperGreatWithoutProducingExternalEvidence
CategoryRant CategoryLisp

View edit of March 18, 2011 or FindPage with title or text search