Fog Creek Software
Discussion Board

Joel and Eric on Paul Graham's latest?

What do you guys think about it?

I know the situation is such that you may not be willing to give a true opinion.  ;)

Saturday, July 31, 2004

Have they commented on Paul Graham's article? I didn't notice/

Matthew Lock
Saturday, July 31, 2004

The piece is very well written.  I could write a whole essay in response to it.  Instead, I think I'll just write a few offhand remarks and then go watch a Law and Order rerun:

It seems clear that a goal of this piece is to pick a fight.  It accomplishes that goal.

His characterization of great hackers is a perfect fit for some of the great hackers I know.

He seems to make the assumption that great hackers make the best hires.  That assumption clearly has some truth in it, but it still wants to be challenged and debated.

He broadly says great hackers don't use Windows or Java.  Like I said, that description fits a few people I know.  Still, I'm not sure I think the characterization is perfect.

Quite frankly, on a personal level, Graham's piece made me wonder if I am a great hacker or not.  I've always been faster than most of my peers.  I love python, Linux, emacs and have a general preference for open source.

But apparently I cared more about money than those things.  Today I use all kinds of technologies which Graham says great hackers don't use.  Furthermore, I've learned the secret that the most profitable products are the ones the great hackers think are beneath their skills.

This raises three possibilities:

1.  I never was a great hacker.  This could be true, but I've worked a few miracles of code in my day, so I can't shake the belief that I might have once been a great hacker.

2.  I used to be a great hacker, but I changed.  If this is true, I lost something.  But it seems I also gained something.

3.  Graham is wrong.

Like I said, his piece is very well written.

Eric Sink
Saturday, July 31, 2004

I agree.  He's certainly hinted at his disdain for all things Java (and Windows) in the past, but in this article, the gauntlet is firmly thrown down.

As you said, it's his usual well written essay.  However, there are a few premises that he asks us to swallow that I'm choking on.  In general there include:

- The supposed incompetence of all things Windows and Java

- Virtually ignoring C/C++ and Perl during his brief synopsis of major language use

- Statements like "Of all the great programmers I can think of, I know of only one who would voluntarily program in Java" begs the question of whether or not he automatically excludes people as being "great programmers" if they prefer Java

- His following statements concerning his friend and Windows development begs exactly the same question, only with Windows in place of Java

- His baffling belief that Apple exists because of the quality of their product rather than the fact that MS allows them to exist so that federal anti-trust lawyers don't come pounding on their door

However, he makes a lot of excellent points, and many of his observations are *often* true, if not absolutely so.

Saturday, July 31, 2004

For me, this piece revealed Graham's weaknesses and lack of insight. In reading a few of his earlier pieces I had suspected they were probably sparked by discussion on JOS, but without any acknowledgement. The latest one certainly has that feel. Unlike his earlier pieces, it displays no additional insight.

I'm sorry. I think this latest piece from Graham is cheap. He is essentially using it to promote his own approach to the world rather than it being a genuinely objective or insightful commentary.

Management material
Saturday, July 31, 2004
Saturday, July 31, 2004

Hi. I actually saw Paul Graham give this speech at the OSCON this week, and it was great (he's as good a speaker as a writer). I think you should keep in mind who his intended audience was for this -- people who were attending the Open Source Conference. So while it may seem like he's trying to "pick a fight", he was probably espousing the least-controversial opinion he could, given the crowd. But of course this attitude, which is largely unquestioned in that community, is almost intentionally meant to 'pick a fight' within the larger world of developers. Refer to the second-last paragraph of his piece:
<paul graham quote>
One difference I've noticed between great hackers and smart people in general is that hackers are more politically incorrect. To the extent there is a secret handshake among good hackers, it's when they know one another well enough to express opinions that would get them stoned to death by the general public. And I can see why political incorrectness would be a useful quality in programming. Programs are very complex and, at least in the hands of good programmers, very fluid. In such situations it's helpful to have a habit of questioning assumptions.
</paul graham quote>

Also, remember he is not talking about great programmers, but great *hackers*, which in his estimation is a very small (and difficult-to-recognize) portion of the population. Just because you are a great programmer does not mean you are a great hacker (according to Graham). I don't think he is talking about Joel. In fact, given Graham's definition, I don't even think Joel would consider himself a great hacker. Rather he's a great programmer with a profitable company that treats its employees well and fosters a unique online community of (usually) thoughtful and helpful people. He's also a great writer who is kind enough to share his thoughts and experience with the world (much like Graham). Most importantly though, Joel truly understands how to develop for the end-user, which is a quality that's even harder to find among programmers than 'great-hackerness'.

Jordan Lev
Sunday, August 1, 2004

I haven't bothered to read the piece, why should actual information be used to colour my own predjudices?  The word hacker is one of those terms of adolescence that I abominate it almost as much as 'techie'.

I think much of Paul Graham's opinions are formulated, like many, upon his original experience.  Those that Lisped in the beginning can rarely twist their tongue into new shapes.  Its not surprising that he doesn't value Win32, Java and the rest since he's done most everything his own way and, if what I've heard is marginally true, in ways which are difficult to maintain and frequently replaced.

I have nothing against Lisp, or any other means of shuffling stuff through transistors, I've not found a language or grammar so far that I haven't been able to understand,  though I prefer one that doesn't use recursion and a gazillion brackets to emit a string.

Simon Lucy
Sunday, August 1, 2004

Perhaps Paul Graham looked at Windows in the early 90's and concluded, probably correctly, that it was inferior to its competition.  Having made that conclusion, it sounds to me like he never really looked at it again, and so hasn't really seen how much ground Windows has made up.

I guess another reason for is anti-Windows stance is his belief that most software should be server-based.

While I don't agree with his anti-Windows view, I think the article is thought provoking and well written. 

John Rusk
Sunday, August 1, 2004

Graham is correct. All the best programmers work using Python and Perl on Linux. Programmers who use Java or work on Windows are not very intelligent. These facts are unassilable, sisnce they come from the man who wrote the world's FIRST web application EVER.

Rick Thunderbolt
Sunday, August 1, 2004

Does any one have a pointer to substantial open source code written by Paul Graham? He says that all great hackers work in open source and that he himself is a great hacker. Therefore it would follow that there must be considerable examples out there of his writing style in the form of working examples of finely coded, maintainable and robust applications.

Code Seeker
Sunday, August 1, 2004

I don't remember him calling himself a great hacker. Where does say that?

Sunday, August 1, 2004

Agreed -- I don't remember Graham claiming that he himself is a great hacker.

Eric Sink
Sunday, August 1, 2004

No he doesn't say that he's a great hacker in that article.

But if you listen to Doug Kaye's recent interview with him ( you'll find this quote:

"I wrote this spam filter in order to make sure this language was actually good for writing programs and the spam filter turned out to be really good.  I wrote something about it and a lot of other people wrote spam filters like it. But also simultaneously I’m working on a new axiomatic core of the language.  I’m trying to do what McCarthy did in building up a language from axioms the same way Euclid did with geometry ... [but] it could be years [before Arc is completed] because Lisp itself was invented in 1958, so I feel like people have waited over 40 years for a really good Lisp implementation and I don’t mind if they have to wait for another two in order to make sure that it is actually really good."

I think it's fairly clear that he considers himself a "good hacker" (to the extent that his greatest work has been needed for 40 years).  He describes his new language as being designed for good programmers (and simultaneously says that he's designed his language to make it easy for him to implement his spam filtering program).

In fact, I think that he probably is a "good hacker," but he's also clearly got a myopic attitude about quality in the world at large.  Some of this is just pandering to a particular audience (he's previously described Python as the result of Guido van Rossum "bending over backwards" not to reimplement Lisp so that he can claim to have created a new language), but I wonder how much he's mixing up tools (even intellectual tools) with the exploration of new domains.  It's like the question of whether Newton or Leibniz made a more important contribution (Newton's tools might have been less elegant, but his discovery of classical physics was significant).

Sunday, August 1, 2004

I think the reason why "great hackers" don't write in things like Java or Win32 is obvious.

It's because great hackers are the people who are creating things like Java or (more controversially) Win32.  At least, that's one possible definition of "great hacker".

It doesn't make people who leverage the great hacker's invention to do something practical any less smart or worthwhile.  They just have different goals and aspirations.

Maybe the mottoes of the two camps should be "Insanely Great" vs. "Gets Things Done".

Jim Rankin
Monday, August 2, 2004

*  Recent Topics

*  Fog Creek Home