Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlug] ruby and python in Japan



On Tue, 27 Feb 2007, Stephen J. Turnbull wrote:

...that most of the anti-PHP
comments I've seen from people I respect are of the form "You should
use Python [etc] instead of PHP because PHP doesn't ...".  But the
stuff that goes in the ellipsis is of the same genus as when the same
folks deprecated MySQL: "You should use PostgreSQL instead of MySQL
because MySQL doesn't ...".

You have to wonder "Does anybody in the real world really need ...?"
Or, more precisely, you should wonder, "Do *I*?"

From Paul Graham's _Beating the Averages_ (http://www.paulgraham.com/avg.html):

Programmers get very attached to their favorite languages, and I don't want to hurt anyone's feelings, so to explain this point I'm going to use a hypothetical language called Blub. Blub falls right in the middle of the abstractness continuum. It is not the most powerful language, but it is more powerful than Cobol or machine language.

    And in fact, our hypothetical Blub programmer wouldn't use either of
    them. Of course he wouldn't program in machine language. That's what
    compilers are for. And as for Cobol, he doesn't know how anyone can
    get anything done with it. It doesn't even have x (Blub feature of
    your choice).

    As long as our hypothetical Blub programmer is looking down the
    power continuum, he knows he's looking down. Languages less powerful
    than Blub are obviously less powerful, because they're missing some
    feature he's used to. But when our hypothetical Blub programmer
    looks in the other direction, up the power continuum, he doesn't
    realize he's looking up. What he sees are merely weird languages. He
    probably considers them about equivalent in power to Blub, but with
    all this other hairy stuff thrown in as well. Blub is good enough
    for him, because he thinks in Blub.

    When we switch to the point of view of a programmer using any of the
    languages higher up the power continuum, however, we find that he in
    turn looks down upon Blub. How can you get anything done in Blub? It
    doesn't even have y.

    By induction, the only programmers in a position to see all the
    differences in power between the various languages are those who
    understand the most powerful one. (This is probably what Eric
    Raymond meant about Lisp making you a better programmer.) You can't
    trust the opinions of the others, because of the Blub paradox:
    they're satisfied with whatever language they happen to use, because
    it dictates the way they think about programs.

    I know this from my own experience, as a high school kid writing
    programs in Basic. That language didn't even support recursion. It's
    hard to imagine writing programs without using recursion, but I
    didn't miss it at the time. I thought in Basic. And I was a whiz at
    it. Master of all I surveyed.

This is certainly quite apparent to me in the PostgreSQL vs. MySQL
debate: I've done a fair amount of development in both, and MySQL drives
me up the wall becuase things that are trivial to fix in when using
PostgreSQL drive me to write a pile of application code to deal with the
problem in a half-assed way when I use MySQL.

PHP has been getting steadily more powerful through versions 3, 4 and 5.
But it's stilll missing a lot of good stuff: my impression was that it's
at about the level of Java, last time I checked it. But the real issue
I've always had with it is all the backwards-compatable cruft that can
nail you in a really bad way: one wrong config file setting can open up
massive security holes in your application.

cjs
--
Curt Sampson       <cjs@??>        +81 90 7737 2974


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links