* 2010-01-27 12:48 (+0800), pansz wrote:

> In theory, a turing complete language could do anything.

In practice the effort of doing things is not equivalent, obviously. :-)
The abstractness and features differ very much and not every programmer
is qualified to compare languages' power. Certainly I'm not.

I'll quote a few paragraphs from Paul Graham's article "Beating the
Averages". It's about comparing languages' power. The article is
available from <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.

-- 
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php

Reply via email to