raganwald
(This is a snapshot of my old weblog. New posts and selected republished essays can be found at raganwald.com.)

Wednesday, January 30, 2008
  David Heinemeier Hansson step aside, Paul Graham is next to be voted off the island


Well, you recall my mentioning how real life is a lot like high school. The latest manifestation of this is an “Arc backlash.” In case you haven’t seen it, Arc is a programming language designed by Paul Graham and (I think) Robert Morris. Actually, it’s a Lisp dialect, so in some respect, you can probably claim that it isn’t a new language at all, just Paul and Robert doing what Lisp programmers have always done.

Now technically, there is not much to Arc at the moment. The language’s own site admits as much:

The current version compiles into MzScheme and structurally is as much a skin on MzScheme as a separate language.

So, what we have here is someone who promotes the language in his essays, then releases a version that fails to transmute lead into gold. And immediately, there was much rejoicing. Seriously, I said rejoicing. There is a distinct tone of schadenfreude to the commentary that is going around. There is much talk of people being “disappointed,” but I have a felling these folks complaining would have had no interest in trying Arc no matter what form it took. I have read the argument that expectations for Arc were high. What does that mean, exactly? That there were people holding off on trying a new language because they were waiting for Arc? Has Paul spread FUD to prevent people from using Scala or Haskell?

Why aren’t people shrugging their shoulders? Honestly, if you don’t have any career or business capital invested in Arc, what could you possibly care about whether it is more or less than what you imagined it might be?

The response to Arc reminds me very much of the alleged “Ruby on Rails backlash.” Quite a bit of the energy behind the RoR backlash is resentment against David Heinemeier Hansson for daring to promote his web development framework. Stepping forward and aggressively attempting to change the world is something we humans claim to admire, but we have complicated rules for how you are supposed to go about it. We want more Steve Wozniak, less Steve Jobs. We want people who blink in surprise at the TV cameras and the limelight of fame, not people who seek it out.

It’s easy to understand why. Although we seem to have complex motivations—some of us after technical mastery, some of us after money, some of us after sexual partners, some of us after land holdings—most of what we do can be traced to standing within our social group. We are social animals, and almost everything we do is connected to the complexities of aligning ourselves with some folks and distancing ourselves from others in our tribes. Although I dislike the show, I would offer Survivor as being a true mirror of human nature. We spend most of our time voting each other off the island.

Live the early stages of Survivor, we play a complex game where we have to think about both our overall welfare and also about our standing within the tribe. The shy, quiet genius who invents things we can use without promoting himself is an asset to us. He helps our tribe in battles against other tribes without jeopardizing our own standing in the tribe. Whereas the self-appointed hero may indeed help our tribe, but in doing so he vaults ahead of us.

That’s why Matz is so well-regarded: he is quiet and unassuming. His behaviour poses no threat to our own place on the ladder. Whereas David is eager to step forward and change the world. His technical contribution to the world of Ruby is at least as valuable as the creation of the language itself, and it is not obvious to me that the world of Ruby would benefit if David hadn’t vigourously promoted Rails. But nevertheless, we are eager to see David “cut down to size,” just as we criticize Steve Jobs while praising Woz.

Which brings me back round to Arc. Paul’s behaviour is now drawing the inevitable response. I personally think it is almost irrelevant how much technical strength the language may have had, there has been a noticeable anti-Paul tone on many programmer forums for quite some time. And what is at the root of it all? Resentment against what some people think is relentless self-promotion.1 Resentment against his occupying a place above us on the nerd social ladder.

I don’t think there’s anything wrong with feeling that way, if you choose. We are humans, and it is folly to pretend otherwise. Social behaviour matters. But if that’s what it is, let’s “Call a spade a spade” and not pretend that we are disappointed with Arc. Let’s be up front and say that we are angry with Paul for daring to elbow us aside on his climb up the ladder. Let’s admit that we want to be the admired one.

And let’s admit that even if Arc had cured cancer, we would still resent Paul. It’s just that we would have been forced to bide our time, to wait for him to stumble on something else. Just as we are still waiting for Apple’s stock to fall and for Rails to fade into obscurity.



  1. That sentance originally read “Paul’s relentless self-promotion.” I wrote that as a reflection on what people perceived to be the case, but I should have been more explicit, thus my edit. Paul challenged this. Paul is an essayist, he distributes his ideas and, in a sense, promotes the ideas and not himself. That is very true. It is also true that David promotes Rails and Steve Jobs promotes iPods. The perception of a large number of people—and this article is about those people, not about Paul specifically— is that promoting your ideas is exactly the same thing as promoting yourself. These things are not particularly rational.
 

Comments on “David Heinemeier Hansson step aside, Paul Graham is next to be voted off the island:
Very good observation. It's sad that so many people secretly root for people that have had some acclaim to be "cut down to size". It' born of insecurity. People comfortable in their own skin and who are confident in their own worth spend much less time calling for other people to fail. They actually get excited by other peoples' success (a little envy is ok, thinking, "that could be me one day!").
 
"And what is at the root of it all? Resentment against his relentless self-promotion. Resentment against his occupying a place above us on the nerd social ladder."

Speculation on your part. It sounds like you admire Graham and are emotionally distressed that people are making negative remarks about his latest offering.

"I personally think it is almost irrelevant how much technical strength the language may have had,"

This may be why you are missing the points of several valid criticisms.

"And let’s admit that even if Arc had cured cancer, we would still resent Paul."

I am very disappointed with Arc, but I do not respect Graham any less.

"Arc, what could you possibly care about whether it is more or less than what you imagined it might be?"

Because you got caught up in the hype that Graham provided. Because you were looking for something new in the language scene. Because you read his essays and expected more.

"let’s “Call a spade a spade” and not pretend that we are disappointed with Arc."

Maybe some folks, but it's petty and rather high school to lump all the criticizers into one pool of dirty water.

Have you never critized someone's product? Was anyone there to complain that you were doing it just because you felt the creators were above you on some imaginary ladder? Lots of fallacies in this one.
 
I don't think the backlash is just social jostling. Paul Graham has acquired (or perhaps cultivated) a religious following. The expectations surrounding Arc weren't just high, they were messianic. So when Paul Graham lifted the veil on his anticipated miracle people weren't simply disappointed, they experienced religious disillusionment. Suddenly it's become clear that Arc isn't going to revolutionize the programming world, it won't "beat the averages", or do anything particularly magical. It's just another Lisp dialect, shuffling awkwardly into a long line behind GOO and newLisp.
 
It sounds like you admire Graham and are emotionally distressed that people are making negative remarks about his latest offering.

I have no problem with people criticizing Arc without touching on "expectations" or "hype." I have read interesting commentary that does not stray into discussing what Paul said about Arc and about programming languages prior to releasing Arc.

However, there has been much, much, much more commentary that either is exclusively about the so-called hype or about the relationship between what was said and what was perceived to be delivered. And my post is my theory explaining this behaviour.

Is all of the commentary and criticism driven by this? Of course not. But you mention fallacies. It is a fallacy to say: "Look, here is an exception to your argument, therefore your argument is junk."

If my argument explains a substantial proportion of the behaviour we are seeing, I stand by it as being something useful to think about.
 
Alex:

religious disillusionment

Two things. First, I accept this alternate explanation for people who were uniformly positive prior to Arc's unveiling, but not for people carping from the sidelines.

Second, what both of our explanations have in common is a focus on social behaviour.
 
How would you compare DHH and Linus Torvalds? Linus seems to me to have all the same traits of opinionation, wanting to change the world, etc., but is very highly regarded.
 
Pete Bevin:

In my (likely naive) estimation, the difference can be mostly attributed to time, at this point. Linus has created a highly successful computer-related something that has stood the test of time. David has created a highly successful computer-related something that has not stood long enough to say it has been tested by time.
(You could possibly say that the religious zealotry existing around programming languages today is much more pronounced than than the same when The Kernel was only a few years old. I, however, do not have the experience or knowledge to confidently make such a proclamation.)

By the way, don't kid yourself; there are people who absolutely hate Linus.
 
The whole damn world is just as obsessed
With who‘s the best dressed and who‘s having sex,
Who‘s got the money, who gets the honeys,
Who‘s kinda cute and who‘s just a mess
And you still don’t have the right look
And you don’t have the right friends
Nothing changes but the faces, the names, and the trends
High school never ends

from http://lyricwiki.org/Bowling_For_Soup:High_School_Never_Ends

-- Swaroop
www.swaroopch.com
 
Fortunately for the Arc folks there also seems to be a lot of people who are quietly going about enjoying it and already figuring out ways to improve it:

http://www.archub.org//arcsug.txt

I don't "get" Arc, as in I'm not a Lisp programmer so it's over my head and out of my realm, but it pleases me to no end see that while there are those who jumped up immediately and decried it, there are also those who are quietly going about doing something useful and interesting.
 
I think Paul Graham has become the author of the next Blub.

What's disappointing about how he describes Arc isn't the fact that it has weaknesses or it isn't complete. That's to be expected. It's the hand-waving about character sets not being important and too bureaucratic - it's no different than his description of a Blub programmer dismissing concepts that are too advanced or too difficult to abstract away.

The world is full of languages that deal very well with a small problem subset and ignore other major problems that need solved. Arc is not new in that respect. Where I think respect has been lost for Paul is that for the longest time he's claimed that his language of choice and approach can solve hard problems and make them simpler and less verbose.

Unfortunately, the emperor is revealed to be naked - the approach to complex problems seems akin to my two-year-old's - stick your fingers in your ears, say "la-la-la, you don't exist".
 
I think that there is a much simpler explanation. Paul Graham writes many things that piss people off, whether they be Python programmers, Java programmers or even Lisp and Scheme programmers. When he screws up, everyone who he pissed off has an excuse to get back at him.

According to your theory, we are all waiting for all famous people to fall so we can pile on. We are (collectively) equally hoping for a screw-up by Jon Stewart and Rudy Guiliani. Isn't it simpler (and more accurate) to say that those who dislike Jon Stewart are looking forward to his screw-ups and those who dislike Rudy Guiliani are happy to see him do so as well?
 
This post has been removed by the author.
 
This post has been removed by the author.
 
Reginald, to answer your question:

"Why aren’t people shrugging their shoulders?"

The same reason as any other product/technology that received a lot of attention before its actual release, but for whatever reason failed to live up to the expectations of the people waiting for it. Seems rather straightforward.
 
In fairness to Paul Graham - if you have read On Lisp, you'll get his *big idea* in software is "syntax matters", and while Arc as of v1 is no more than a skin, it captures the spirit of his philosophy.

How many v1's are already great? It's much easier to talk about things on the sideline and much harder to just do something. DHH and PG are both walking thir walks, who knows where they'll end up if they keep it up. The top rung of social ladders are occupied by achievers.

But your social standing theory sure is interesting - I personally don't find it to be different than what Paul Prescod says but I think it's got more story telling points ;)
 
Occam's razor. Paul Graham is a self-described "hacker" of the first degree. The fact that Arc is nowhere near remarkable is only half the disappointment though; Paul's apparent inability to evolve with the times is a bit of a shock and probably works as a resentment amplifier. Ascii-only. A table-based html-library with the ridiculous excuse that "w3c approved" CSS-based layout represents the opposite of "exploratory programming"?

Come on, he's trying to make himself look like an elite hacker, when the reality probably lies closer to him not being able to make heads or tails of CSS-based html layouting. Anyone who can do it knows that CSS-based html layouts are far better exactly for "exploratory programming".

And who calls himself a "hacker" anymore? Who casually refers to programming as "hacking" anymore? Old dogs who won't learn new tricks, that's who.
 
I think Paul Graham went out of his way to alienate people who think Unicode support is a crucial feature:

"I realize that supporting only Ascii is uninternational to a point that's almost offensive, like calling Beijing Peking, or Roma Rome (hmm, wait a minute). But the kind of people who would be offended by that wouldn't like Arc anyway."

So if PG decided I won't like Arc, then why should I even try to like it, specially when Lisp dialects are as numerous as XML files in a Struts application? Why not use, for example, newLisp, which is a simple, stable, well-documented, and yes, unpretentious Lisp? Or build my own Lisp on top of Ruby in fifty lines, like others did?
 
As long as people are in the world doing cool things, there will be others who want to knock them down. I think your observations are very perceptive, and that although some people legitimately feel that arc is not right for their project because it's missing some important features, the intensity and derision of some of the criticism reveals the emotional component at the heart of the backlash.

Well said.
 
So I can't exactly speak for most people, but my feeling is mostly...confusion?

I feel more optimistic about the release after rereading the Hundred Year Language essay.

What do you think is the point of Arc?

At first I just thought it was odd how it didn't really seem any fundamentally different from any lisps before. I was expecting something that was going to be pretty different so as to be a better base for future work.

What we got was essentially a neo-Scheme, a minimalist system with a slightly different set of fundamental operators and some different syntax.

Maybe that's the point? Maybe the whole idea is that Arc's release as open source is supposed to promote a creative, freewheeling, evolution of the language as opposed to the more rigorous development of the Scheme spec.
 
@tomas jogin:
Old dogs who won't learn new tricks, or old emperors who won't wear new clothes?
 
From a book by Booch:

The amateur software engineer is always in search of magic, some sensa-tional method or tool whose application promises to render software development trivial. It is the mark of the professional software engineer to know that no such panacea exists. Amateurs often want to follow cook-book steps; professionals know that such approaches to development
usually lead to inept design products, born of a progression of lies, and behind which developers can shield themselves from accepting responsi-bility for earlier misguided decisions. The amateur software engineer either ignores documentation altogether or follows a process that is docu-mentation-driven, worrying more about how these paper products look to the customer than about the substance they contain. The professional acknowledges the importance of creating certain documents but never does so at the expense of making sensible architectural innovations.
The process of object-oriented analysis and design cannot be described in a cookbook, yet it is sufficiently well defined as to offer a predictable and repeatable process for the mature software development organization. In this chapter, we examine the analysis and design process in detail (and the overall software development process in general) as we consider the purposes, products, steps, and measures of each of the analysis and design activities.
 
Here's the thing. I can _read_ Arc. And I'm an idiot with Lisp. Somehow, my brain managed to read through the examples and get what they were saying, even before I had mentally done the tedious Lispy substitution-and-evaluation stuff.

Which is a little off the subject of Schadenfreude, so let me try to tie it awkwardly back. Arc as is stands is flawed and frustrating, but that little kernel of readability and expressiveness is a nice start.

We should probably cheer on the kind of messianic brain that wants to build a hundred-year language or ten-thousand-year clock, even if it gets on our nerves sometimes.
 
Another genius post, Reg.

This hype was probably inevitable since when PG first mentioned Arc. Sure, he promoted it a bit on his site. But this "hype" everyone always speaks of is usually just the echo chamber of:
* admirers & followers of a person/technology
* the doubters or people who do not see what the fuss is about, and believe there shouldn't be any fuss to begin with

... stirring things up in all the usual channels (blogs, reddits, etc).

Spolsky on the Marimba Phenomenon:
http://www.joelonsoftware.com/items/2005/11/02.html

Dreaming In Code is also a great read, if anyone wants a thorough analysis of a super-hyped project destined for "failure".
 
Reg, here in Ireland we call the kind of people describe "begrudgers". Here, "begrudge" is envy with a large dose of schadenfreude.
 
Don't see the point of putting in DHH and Ruby/Rails in an observation about Paul Graham and Arc. No reason at all unless attracting traffic on behalf of the "DHH" brand.
 
Akita:

Don't see the point of putting in DHH and Ruby/Rails in an observation about Paul Graham and Arc. No reason at all unless attracting traffic on behalf of the "DHH" brand.

How nice to hear from you, I enjoy your own blog. You know what I enjoy most about other people’s blogs? They write about their perspective, they draw the connections that they perceive between things.

I don’t always agree with the parallels and connections I read, of course. I don’t consider that a flaw in their writing or a flaw in my ability to grasp what they are saying. It is often the case that reasonable people can disagree on subjective reality.

Ok, so to respond directly to yur comment: you don’t see the point, but I did see the point, a point I have explained quite plainly. Your suggestion that my point was not what I said but rather some other hidden agenda is false.
 
I have a comment on a snippet from the article:

> I don’t think there’s anything wrong with feeling that way, if you choose.

You're correct in the first part. There's nothing *wrong* with feeling any particular way, because there is no "right" or "wrong" about feelings (or, more usefully, there's no point in declaring certain feelings "right" or "wrong"). However, we often don't have any actual control over our feelings. How we act in response to those feelings is our responsibility, and we should be held accountable for that action.
I think you pointed this out well enough in the follow-on text, but I feel the phrasing here implies that people are being petty or disingenuous by *choosing* to feel a certain way, which is probably incorrect, not useful, and detracts from the power of the following text. Pointing out that people are being petty and disingenuous by their *behavior* is useful, because that's a controllable attribute.

> We are humans, and it is folly to pretend otherwise. Social behaviour matters. But if that’s what it is, let’s “Call a spade a spade” and not pretend that we are disappointed with Arc. Let’s be up front and say that we are angry with Paul for daring to elbow us aside on his climb up the ladder. Let’s admit that we want to be the admired one.
 
That there were people holding off on trying a new language because they were waiting for Arc?
If the new language was another type of lisp, then yes, he has: By deciding to pre-announce Arc, he Microsofted Lisp. Killed it with vaporware. It's a great strategy when you're an evil empire. I don't think that's exactly what Paul had in mind, but let's face it: that's what happened. So Common Lispers grumble about Paul in the hallways. With this first, very late release of Arc being not all that, and Paul coming across as being more concerned about proving he's right than engaging the real lisperati to build the best lisp ever, the schadenfreude is well-deserved.

From what I can tell, the Rails backlash was sparked by Rails is a Ghetto which focused on the "fucking tool bag piece of shit" that was half of Rails core. There was also the technical backlash exemplified by this Dreamhost blog post complaining how Rails and shared hosting just don't mix, but DHH doesn't think this is a problem.

Back to Paul Graham, I personally stopped paying attention to him not long after reading Dabblers and Blowhards. The success of Y Combinator shows that he's good at making money, but that is in no way transitive to actually knowing what he's talking about.
 




<< Home
Reg Braithwaite


Recent Writing
Homoiconic Technical Writing / raganwald.posterous.com

Books
What I‘ve Learned From Failure / Kestrels, Quirky Birds, and Hopeless Egocentricity

Share
rewrite_rails / andand / unfold.rb / string_to_proc.rb / dsl_and_let.rb / comprehension.rb / lazy_lists.rb

Beauty
IS-STRICTLY-EQUIVALENT-TO-A / Spaghetti-Western Coding / Golf is a good program spoiled / Programming conventions as signals / Not all functions should be object methods

The Not So Big Software Design / Writing programs for people to read / Why Why Functional Programming Matters Matters / But Y would I want to do a thing like this?

Work
The single most important thing you must do to improve your programming career / The Naïve Approach to Hiring People / No Disrespect / Take control of your interview / Three tips for getting a job through a recruiter / My favourite interview question

Management
Exception Handling in Software Development / What if powerful languages and idioms only work for small teams? / Bricks / Which theory fits the evidence? / Still failing, still learning / What I’ve learned from failure

Notation
The unary ampersand in Ruby / (1..100).inject(&:+) / The challenge of teaching yourself a programming language / The significance of the meta-circular interpreter / Block-Structured Javascript / Haskell, Ruby and Infinity / Closures and Higher-Order Functions

Opinion
Why Apple is more expensive than Amazon / Why we are the biggest obstacles to our own growth / Is software the documentation of business process mistakes? / We have lost control of the apparatus / What I’ve Learned From Sales I, II, III

Whimsey
The Narcissism of Small Code Differences / Billy Martin’s Technique for Managing his Manager / Three stories about The Tao / Programming Language Stories / Why You Need a Degree to Work For BigCo

History
06/04 / 07/04 / 08/04 / 09/04 / 10/04 / 11/04 / 12/04 / 01/05 / 02/05 / 03/05 / 04/05 / 06/05 / 07/05 / 08/05 / 09/05 / 10/05 / 11/05 / 01/06 / 02/06 / 03/06 / 04/06 / 05/06 / 06/06 / 07/06 / 08/06 / 09/06 / 10/06 / 11/06 / 12/06 / 01/07 / 02/07 / 03/07 / 04/07 / 05/07 / 06/07 / 07/07 / 08/07 / 09/07 / 10/07 / 11/07 / 12/07 / 01/08 / 02/08 / 03/08 / 04/08 / 05/08 / 06/08 / 07/08 /