Friday, August 27, 2004

Great Hackers - huh?

Nick,, posted a reference to this peice 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.


  1. About your open source comments.

    I think the allure of open source is that nothing is hidden, with enough effort you can always find out what happens.

    You mentioned Chuck Jazdzewski and Anders Hejlsberg, as far as I know they wrote compilers and libraries. They had/wrote all the source and did not depend others.(well maybe hardware vendors).

    This comes back to again one of Delphi's srengths, the VCL-source. Hackers, myself and a lot of other people are happy with the fact that we can find out how our libraries work.

  2. I don't think Delphi was being considered when that article was written. In the context of that article I would say Delphi has the open source spirit he's referring to.

    I have always considered one of Delphi's greatest strengths to be that it is created by programmers who use it on a daily basis to create the next version (it is an open source project for them). For the rest of us, virtually the entire library source is included, and the Open Tools API provides a great amount of control over the functioning of the portion for which no source is provided. If, for example, you don't like the editor, use an editor like Multi-Edit which includes full macro source for the editor allowing you to customize anything (I've personally made some interesting customizations to Multi-Edit), and integrates very well with the IDE (I know several programmers who use Multi-Edit with Delphi).

    On the comment that you get smarter programmers for Python than Java because they use Python because they love programming and aren't satisfied with C/C++/Java/VB, instead of because there are lots of jobs (like C/C++/Java/VB). That description fits Delphi as well. As much as we would all like for it to be different, you don't learn Delphi primarily to get a job (that's what C/C++/Java/VB are for) programmers use Delphi out of a love for the tool.

    Mr. Graham said great hackers choose a tool for control & programmers who learn languages because they aren't satisfied with C/C++/Java/VB are smarter because they do it out of love of programming. In spite of the sweeping generalities, using Delphi isn't inconsistent with this perspective.

  3. Just to add to Ronald Hordijk's reply. I think Delphi is Open source. Ofcourse the IDE is not, but the parts I use in programming: the VCL, is open source. I have all the source and I can fix bugs in it or walk trough it to see where the bugs in my own code is...

    I hate it (well really don't like it ;-) when people think Open source is the same as Free source. It isn't and it shouldn't. A lot of thirdparty Delphi components are open source: you get the source with it, but you still have to buy it. Which is logical: some people do have to earn a living.


  4. Let’s admit it! You start open your source only when you cannot sell your binaries. That is what this open source is about! The economy has changed. Small software development companies are forced to open source or they will be pushed out of the market. Even large companies are falling to this crack. Young programmers want to be recognized and they see only one way – open source. So this is my point – ignore it! If you are a good programmer – sell your work and be a good Hacker!

  5. You need Developers, not Programmers


Please keep your comments related to the post on which you are commenting. No spam, personal attacks, or general nastiness. I will be watching and will delete comments I find irrelevant, offensive and unnecessary.