Slashdot Mirror


The Hundred-Year Language

dtolton writes "Paul Graham has a new article called "The Hundred-Year Language" posted. The article is about the programming languages of the future and what form they may take. He makes some interesting predictions about the rate of change we might expect in programming languages over the next 100 years. He also makes some persuasive points about the possible design and construction of those languages. The article is definitely worth a read for those interested in programming languages."

4 of 725 comments (clear)

  1. Re:how long by GnuVince · · Score: 5, Interesting
    Forth can be used a little bit like that (example taken from "Starting Forth", by Leo Brodie):

    \ Word definitions : convicted-of 0 ; \ To convict someone : murder 25 + ; : arson 10 + ; : robbery 2 + ; : music-copying 40 + ; : sentenced-to . ." years of prison" ;

    And to use it:

    convicted-of music-copying robbery sentenced-to

    Output: 42 years of prison This looks quite like english. Of course, you can do that in many languages, but it feels more natural in Forth I think.

  2. History and Future by AbdullahHaydar · · Score: 5, Interesting

    This is a really interesting paper on the history and future of programming languages. (Check out the history chart in the middle....)

    --


    Suicide Booth: You are now dead! Thank you for using Stop and Drop, America's favorite since 2008.
  3. Reductionism, you kidding? by Jagasian · · Score: 4, Interesting
    I think it's important not just that the axioms be well chosen, but that there be few of them. Mathematicians have always felt this way about axioms-- the fewer, the better-- and I think they're onto something.


    To anyone that has studied theoretical computer science and/or programming languages knows that such reductionism is a fallacy. "...the fewer, the better..."

    It turns out that its better to strike a balance, where you make the formal mathematical system (what a programming language is after all) as simple as possible, until you get to the point where making it more simple makes it more complicated. Or in other words, making it more simple would cloud the mathematical structures that you are describing.

    Here are some examples of reductionism gone too far: Sheffer stroke, X = \z.zKSK, one instruction assembler, etc...

    The only logical connective you need is the sheffer stroke... but thats of no use to us as it is easier to more connectives such as conjunction, disjunction, implication, and negation.

    The only combinator you need is X, and you can compute anything... but making use of other combinators... or better yet the lambda-calculus is more useful.

    Point is that we need more powerful tools that we can actually use, and there is no simple description of what makes one tool better than another. Applying reductionism can result in nothing special.

    The true places to look for what the future brings with regards to programming languages are the following:

    1. Mobile-Calculi: pi-calculus, etc...
    2. Substructural Logics: linear-logic, etc...
    3. Category Theory: It is big on structure, which is useful to computer scientists.

  4. Re:Awareness... by Kallahar · · Score: 4, Interesting

    If you're going to have the cars sort themselves out, why bother with signals at all? If everything is guided by GPS, why have headlights? If it's not the human doing the driving, why have traffic laws that are there to punish human errors?

    Travis