Friday, August 27, 2004

Great Hackers - huh?

Nick, http://www.lemanix.com/nick, posted a reference to this peice http://www.paulgraham.com/gh.html and I finally got a chance to read through it.  I'm sorry, Nick, but what a bunch of self serving clap-trap?  From the article...

Great hackers also generally insist on using open source software. Not just because it's better, but because it gives them more control. Good hackers insist on control. This is part of what makes them good hackers: when something's broken, they need to fix it. You want them to feel this way about the software they're writing for you. You shouldn't be surprised when they feel the same way about the operating system.

Huh? Why is this some generally accepted axiom?  I personally know a couple of engineers that one could classify using Paul's terminology of “Great Hacker.”  Chuck Jazdzewski and Anders Hejlsberg. Anyone who's been around the block at least once in the Delphi community has heard these names bantered about more than once.  Anders was the technical wizard behind Turbo Pascal and later the Delphi compiler. With Chuck they were geniuses behind the design and architecture of the Visual Component LIbrary.  I don't think either one of them chose any kind of open source because it gave them “more control“. Besides when Turbo Pascal and Delphi were being designed and architected, Open Source was an underground, backroom movement.

What do hackers want? Like all craftsmen, hackers like good tools. In fact, that's an understatement. Good hackers find it unbearable to use bad tools. They'll simply refuse to work on projects with the wrong infrastructure.

OK, I can agree with this one.  So, Chuck and Anders created their tool of choice.  Can you imagine Delphi being built out of something like Python (zing!)?  So we use the best tool at our disposal with which to build Delphi; we use Delphi.

For example, if your company wants to write some software, it might seem a prudent choice to write it in Java. But when you choose a language, you're also choosing a community. 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.

Again, Huh?  Of course he tries to mitigate and backtrack on this statement a little if you follow the link, but the cat is out of the bag.  I'm sorry, but a “Good Hacker” is good no matter what language they use (OK, except maybe with Perl ;-).

Now of course if all Paul means by “Good Hacker” is a really good programmer, then I'm sorry I even compared Chuck and Anders to this hypothetical “Good Hacker.”  These two, I would place in the “Master Software Craftsman” category... sort of like the difference between a good carpenter framing out a room and a master cabinet/furniture-maker.  I do have to admit that some of Paul's article was interesting an intriquing, but it got muddled up in several sweeping generalities.