|Think about Loose Coupling|
Paul Graham on Great Hackersby biosysadmin (Deacon)
|on Jul 29, 2004 at 06:54 UTC||Need Help??|
I'm a very large fan of the writings of Paul Graham, a fairly famous LISP hacker. In his latest essay he talks about the characteristics of truly great programmers, and even makes a peripheral reference to Perl:
Indeed, these statistics about Cobol or Java being the most popular language can be misleading. What we ought to look at, if we want to know what tools are best, is what hackers choose when they can choose freely-- that is, in projects of their own. When you ask that question, you find that open source operating systems already have a dominant market share, and the number one language is probably Perl.
In typical Paul Graham style he talks about a variety of topics ranging from programming language choice to programmer motivation to the tyranny of cubicles. If you've never read any of his material before I highly recommend it, I find his material very intellectually stimulating.
A quick visit to Super Search reveals that this isn't the first time that Paul Graham has spoken favorably of Perl:
As one of the more visible proponents of functional programming languages, I think that Paul has managed to do a great job developing independent thoughts on the relative values of programming languages. Most LISP people that I know are very sheltered academics who pine for the old "glory days" of functional programming, and who certainly wouldn't touch a weird language like Perl with a ten-foot pole.
There are certainly some things that I don't entirely agree with in the essay, particularly a section on how he instantly predicted the failure of a startup who based their infrastructure around Windows NT and a Windows NT guru. He claimed that any person who voluntarily used NT multiple times couldn't be a first-rate hacker. He may have been right in this case, but I think it's a little silly to automatically assume that there can't exist a truly talented hacker who chooses to work on a Windows variant (regardless of what the preponderance of evidence suggests). :)
I'd be interested to hear what other monks around the monastery think of this essay. Any stuff jump out at you as really insightful? Horribly false? Subversively un-American? :P Post back here, this type of discussion is very interesting to me.
Edit: Thinking more made me think of why many of my CS professors detest Perl. One professor of mine stated that Perl was a low-level language because the following code snippet for reading lines from a file was fairly slow compared to other languages:
When I pointed out to him that Perl was doing exactly what he was asking of him, he proceeded to explain to me that the point of a "high-level" language is to insulate the programmer from dealing with "low-level" ideas such as hard drives, buffers and other things. I disagree with him, but perhaps it's just a matter of semantics. As a periphal point to the discussion, is Perl a higher-level or lower-level language than Java? COBOL? C++? LISP? Is it even comparable to PROLOG? Graham's essay centers around the idea of using the most powerful tool for the job, is this abstract concept of "levelness" even related to programming language power?