Now, though, he has an essay called Great Hackers, and in it he makes a number of assertions, some of which I disagree with, and I'd like to explain why, and possibly offer up an explanation as to why I disagree with him on them.
Note that I'm taking bits out of context, so you'd need to read his essay to really frame everything properly:
...And the quality of your hackers probably matters more than the language you choose. Though, frankly, the fact that good hackers prefer Python to Java should tell you something about the relative merits of those languages.
First statement: righto. Give me BASIC 2.0 and I'll do something with it, even though I don't consider myself a "great hacker." Second statement... uh, no.
Not to ravage Python or anything, because there's nothing wrong with it, but it and Java have different ideas driving them. Python is written to be a fun, weird language (much as Perl is) that enables thought in certain modes, typically more freewheeling. Python says "there are no good chains." Java says "there sure are - ones that mean you're not thinking so much about how to do it, because there's one good way, but about what to do." TMTOWTDI doesn't really fly so far in Java, and hackers LIKE it. Nothing wrong with that - I'm a fan of it myself - but saying that a language that doesn't emphasize it is inferior is like saying "those cheap phone lines are awful, because even though they actually do work and they're cheap, they don't have the bandwidth of my fiber optic line. Who knows? Some day, that guy may really desperately want as much bandwidth as I have."
BZZT.
He makes a few other bizarre statements along with a lot of good points, among them being "bugs are random," which they aren't. Bugs are deterministic. Any great hacker - and most okay ones - could tell you that, and should.
I don't think Paul is "mistaken" so much as... well... hmm, I can't think of a non-negative term that equates to "wrong" or "off the rocker" or anything like that, unless it's "slightly misled." That sounds good, so I'll run with that.
I think Paul is misled. Hackers and painters are a lot alike, but Paul cleverly forgets that paint goes in a lot of places: cars, walls, pianos, guitars, ceilings, garages, and every so often, it finds its way onto a canvas or into a mural. Lucky paint found its way into a Dali or a Van Gogh. Unlucky paint found its way onto felt.
I think hackers - programmers - are painters. Very appropriate concept, but Paul attaches so much value to Monet and Degas that he forgets the poor housepainter, who ALSO is a hacker in his own way, and Paul's elitism gets in his vision's way.
Python isn't TMTOWTDI. Python's stated aim is that "There should be one way
to do it: the right way." That's one reason for syntactically-significant
whitespace: it naturally kills most arguments about how code should be
indented (except for tabs v spaces, of course).
Of course, that's been harder to keep pure lately as more features have been added to the language, but the philosophy is that if you want to do something, it should be possible, but there should be one right way to accomplish it.
Charles Miller [cmiller@pastiche.org]
I think you are right in that there is a vast range of capabilitie sin
hackers or developers or whatever we are callingthem next week..
You know Paul reminds me of that famous Spainard tilting Windmills..he has experience but headed in the wrong direction
Fred Grott [badapple@netnitco.net]