« Too Cool - BikesAgainstBush | Main | Hell should freeze over (Grokker) »

Paul Graham's No-Spin Zone

August 24, 2004

Paul Graham has been called a tedious windbag and a lot of other things.  But what did he expect after saying something like this: "The programmers you'll be able to hire to work on a Java project won't be as smart as the ones you could get to work on a project written in Python."  In the blogging community, that quote was translated as everyone working on a java project is dumber than anyone working on a python project.  Great!  You just pissed off thousands of Java folks -- er... Hackers.

But maybe that's what he wanted all long.  After all, any publicity is good publicity, as they say.  Pissing lots of people off is a great way to call attention to yourself.  It's also a great way to sell your book.   I wonder what Python's creator, Guido van Rossum, would say to all of this.  What does Guido think about Java? 

So I did some googling and found this old article in the Linux Journal where Guido calls Python a "very simple, easy to understand, easy to remember" language and compares them to "complicated" environments like Java, C++ or Visual Basic.  Now Great Hackers wouldn't be afraid of complexity, would they?  In another interview with O'Reilly, Guido agrees with the interviewer in calling Python "a very natural scripting language for Java."  Later in the same interview, he compares buildng "very large, complex, distributed systems" in Python to the doing the same in Java, in a positive light. 

I followed some links to San Mateo, CA based Elemental Security, the company where Guido works now.  The jobs page has a posting for a QA Engineer with requirements for experience with build and test tools like JUnit, HttpUnit, Ant.  Whaaaa?   Java tools?  Maybe Guido didn't have anything to do with the job posting.  Or maybe, he doesn't hate Java at all.  Maybe he created Python because he saw a niche that needed to be filled.  Not to fill some grand void for a great language for great hackers.

I thought wow, Guiodo doesn't seem to be bitter or think he's a better hacker because he uses Python.  A few years ago when he was in the DC area, I met Guido at my former boss's house where I know I confessed my Java sins.  All I remember is he seemed like a really approachable, articulate person.  I didn't get a sermon on what makes a true hacker.

Okay, so pissing off Java folks was probably Graham's goal.  But what if taking shots at Java makes you look like you love Microsoft.  Can't have that!  So he makes another blanket diss on Windows NT.  Really Paul?  You coudn't even imagine someone using Windows NT being a great hacker?  I like Unix as much as the next guy, but come on!  How did Mark Russinovich miss the great hacker boat and end up in NT land?

Anyway, why Python?  Why not Ruby?  Or Perl?  Or PHP?  There are lots of other good languages and alternate platforms.  Thanks, but in my profession (consulting), language bigotry doesn't solve any problems.  Jon Eaves sums it up in his blog, "the environment is a first order determinant of how productive I can be, and not the programming language."

Update, Feb 21, 2005: Here's another analysis of Hackers and Painters that I really liked.

August 24, 2004 at 10:40 AM in Opinions | Permalink

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d834205eab53ef00d83456547069e2

Listed below are links to weblogs that reference Paul Graham's No-Spin Zone:

» Java Versus the World from Dichotomy's Purgatory
In the past month or so, the World seems to have taken Java on; and Java has responded by taking on the World. It all started with Paul Graham's Great Hackers and the quote:The programmers you'll be able to hire... [Read More]

Tracked on Aug 24, 2004 5:37:05 PM

Comments

This article is a perfect example of what Paul Graham was railing against, and why the Java community just doesn't understand and, with the quality of developers it attracts, never will.

"The programmers you'll be able to hire to work on a Java project won't be as smart as the ones you could get to work on a project written in Python."

He is drawing a distinction between programmers who learn the language du jour (Java at the moment) and never try anything else, compared to those who learn a number of languages out of intellectual interest. The key phrase is "you'll be able to hire". Programmers who know Python use it, and have learned it, for it's inherent quality, because it is a way to get a better job, not a better way to get a job. So, the programmers who will be able to work on a Python project are the ones with more intellectual capacity and a wider knowedge base than the average "enterprise" programmer.

"Guido calls Python a "very simple, easy to understand, easy to remember" language and compares them to "complicated" environments like Java, C++ or Visual Basic. Now Great Hackers wouldn't be afraid of complexity, would they?"

This is where you show that you just don't get it at all. Great hackers know that elegant simplicity is much, much harder to achieve than complexity. Any idiot can keep working away until they are the only ones who can understand their code. It takes great skill to create something so simple that everybody can understand it. That's why Paul Graham says that hackers like Python.

Posted by: | Nov 4, 2004 12:15:39 PM

In general, smart people are curious and like to try new stuff. But who says Java developers don't do that? For the past 10 years we've been doing nothing but developing new products, exploring new ways of solving technical problems, even helping to evolve the way software is developed (case in point, the java community's involvement with open source and agile methodologies).

It's not just about new languages any more. We try new stuff out of intellectual interest - it's just that it's higher up in the value chain. Remember, Java is a platform, not just a language.

Also, I agree with the point about elegant simplicity. There's a healthy debate on this topic in the Java community right now regarding EJBs vs lightweight frameworks. It's about choice, and the Java community has choices precisely because of its ability to evolve and adapt to new stuff.

Posted by: Vik | Nov 4, 2004 7:06:04 PM

Post a comment