Slashdot Mirror


MIT Unifies Web Development In Single, Speedy New Language

itwbennett writes: A new programming language out of MIT, called Ur/Web, provides a way for developers to write pages as self-contained programs. It incorporates many of the most widely-used web technologies, freeing developers from working with each language individually. Ur/Web's author, Adam Chlipala, an MIT computer science assistant professor, will present his work next month at the Association for Computing Machinery's Symposium on Principles of Programming Languages. He says, "In Ur/Web, everything is based on transactions, where a single client request is handled by what looks like an uninterrupted execution of a single function. The language implementation has optimizations in it to support running many requests in parallel, on real servers. But the programmer can pretend everything is a transaction and think in a simpler concurrency model."

2 of 194 comments (clear)

  1. Well thank goodness by DrXym · · Score: 5, Insightful

    I always thought that the one thing web programming needed was YET ANOTHER PROGRAMMING LANGUAGE. One that seems to reinvent cgi programming combining business logic and structure into a single file and tosses the lot into a functional programming blender so nobody has a fucking clue what's going on.

  2. Death by Manual by fhage · · Score: 5, Insightful
    This language/framework has all the signs of an academic exercise.

    As someone who's been programming since the 1970's, I find it pretty hard to get past this statement in the Manual' "We give the Ur language definition in LATEX math mode, since that is prettier than monospaced ASCII".

    The author's choice precludes anyone cutting and pasting difficult syntax from the reference manual into their program. Look at page 26. Does any programmer find this useful? Scanning down to the more practical bits, I find;

    "The Ur/Web compiler is unconventional in that it relies on a kind of heuristic compilation. Not all valid programs will compile successfully. Informally, programs fail to compile when they are “too higher order.” Compiler phases do their best to eliminate different kinds of higher order-ness, but some programs just won’t compile."

    Really? Valid programs may not compile. I wouldn't spend a second learning any programming framework with this fatal flaw.