Slashdot Mirror


Water, a Newish Web Language Out of MIT

jimdesu writes "True to its religion, MIT has reinvented LISP again, this time as a web-programming language called Water.At first blush, it looks rather interesting. It supports hashes, vectors and objects (prototype based) in a manner that makes it look as much like XML as one could possibly conceive. I'm certainly going to play with it. Anyway, the url is at http://www.waterlang.org."

8 of 60 comments (clear)

  1. Re:Interesting.. but. by Zach+Garner · · Score: 4, Informative

    How MUCH crack have you been smoking?

    LISP is over-rated but XML is just fine?

    Go Read

  2. Re:VB by wcbarksdale · · Score: 4, Insightful

    Why? Understanding Scheme is much simpler than understanding Visual Basic. People who really understand a language could write it from scratch if they had to.

  3. Interesting combinations of programming languages by Anonymous Coward · · Score: 5, Funny

    Water + PROLOG = Waterlog
    Water + Java = Kaffe

    Would a very large program written in Water be called Sea? Get it? Sea? C?

    Talk about diving into some Water programming. If you are under a lot of water programming, would you be drowning with work?

    Gator based on Ada and Water = Gatorada

    I'll shut up now.

  4. Here is Oleg's take on it by PissingInTheWind · · Score: 4, Interesting

    From: http://pobox.com/~oleg/ftp/papers/ILC02-impression s.txt

    * Sharpening the parentheses: bringing Lisp ideas to programming the Web

    Henry Lieberman of MIT Multimedia Lab.

    Henry Lieberman said that Lisp is indeed good for web
    programming, but people seem to prefer sharp parentheses () to round
    ones. If you can use Lisp, you should -- he said, -- but sometimes,
    you're constrained: you have to accept legacy XML documents and XSLT
    stylesheets. His solution: design a programming language with an XML
    syntax. He went on to describe a programming language,
    . As it turns out, XML syntax is indeed
    unsuitable for a programming language. So, the Language 'Water' uses
    some kind of a simplified XML syntax. The language is not Lisp either
    -- neither in notation (which is infix), nor in semantics. It looks a
    lot like a Javascript. Programs in the Water language can run either
    on a server, or on the client, in a browser plug-in.

    This talk left several people puzzled: at first the author
    said he wanted to use XML because it's popular, and Lisp because it's
    a good language. He ended up using neither. BTW, Water requires a
    license for a commercial use. I drew two conclusions: first, we need
    to advertise SXML better. SXML can do everything Water does -- and can
    do more and better. I also need to look up Henry Lieberman's slides,
    which say "Web community blew the web programming" and "web
    programming collapses under its own weight." Imagine a slide: Henry
    Lieberman, a colleague of Tim Berners-Lee, says: "Web programming is
    collapsing under its own weight." We need to save it.

    I wanted to talk with Henry Lieberman and point out that there
    is another way to assure interoperability with the XML culture. Rather
    than translating Lisp to XML, we can translate XML and XML tools into
    Lisp. That's what the SXML talk was all about. I didn't catch him. The
    conference schedule didn't leave much time for discussions. Anyway,
    SXML ideas are timely, we are not doing worse than other people -- and
    perhaps better.

    My overall impression from that talk is disappointment: I
    thought people at MIT media lab can design better languages than I do.

    --

    A message from the system administrator: 'I've upped my priority. Now up yours.'
  5. Highly Biased Examples? by Unknown+Relic · · Score: 4, Insightful

    Is it just me, or is the Water vs JSP example highly biased? I mean I'm as interested as anybody else about a new programming language, but the use of such an example really made me question if finding out more was worth my time.

    For those of you who didn't read the document, "The task is to create a new HTML tag with a single parameter, message, and use the tag from an HTML page to insert the chunk of HTML"

    Essentially what they want to do is define a new html tag and have it spit out a message. Not surprisingly, this is exactly how water seems to worry. According to their findings, this task can be completed in a single 7 line file in water, while using JSP it requires 4 files, 65 lines of code and 4 languages! While I'm not experienced with JSP, from looking at the code not only do they seem to be using a hugely complex solution for a simple problem, but a lot of unnecessary code as well. This doesn't even take into account the fact that they are counting blank lines as lines of code, and are putting every single opening and closing curly bracket on iits own line!

    I can't speak for the rest of you, but I would be much more interested in seeing some comparative examples which try to solve a problem in the manner best suited to each language. This nonsense of implementing a single highly specific and language biased solution to a very simple task just doesn't cut it.

    1. Re:Highly Biased Examples? by aminorex · · Score: 5, Insightful

      I have to agree with you.

      My impression is that the Water vs. JSP example
      is a poor one because JSP is designed for a
      different scale of complexity and level of control.
      The overhead for JSP programming is quite large,
      but as a result of buying into it's infrastructure,
      you get a lot of library support. That makes it
      suitable for large-scale development, where functional
      components need to be finely factored and real-world
      issues like deployment methods and human resource
      application come into play. It's also a poor
      example for showing the benefits of Water (of which
      I admit ignorance) because it makes Water look
      like a toy.

      Think about a Hello, World program.

      Basic:
      Print "Hello, World!"

      C:
      #include
      int main (int * ac, char ** av) {
      printf("Hello, World!\n");
      }

      Java:
      import java.lang.*;
      package org.slashdot.examples;
      public class HelloWorld {
      public static void main(String args[]) {
      System.out.println("Hello, World!");
      System.exit(0);
      }
      }

      Each of these is increasingly verbose and complex,
      yet who would argue that it was more complicated
      and difficult to develop and maintain a typical
      3-tier application in Java than in Basic?

      Of course the cost of entry is not a definitive
      indicator of the leverage offered by a platform!
      (format t "Hello, World!%n")
      is pretty straightforward, but CommonLISP is a
      very sophisticated and highly leveragable
      environment. It may well be that Water has
      inherited a similar scalability, but the example
      fails to show this, by virtue of its triviality.

      --
      -I like my women like I like my tea: green-
  6. XML syntax? by Kopretinka · · Score: 4, Insightful
    I wonder - have the authors of Water ever seen XML? What they have does in fact use pointy brackets, but that's about it. Consider for yourselves:

    true.<and false/>
    <thing foo=5/>.<equal <thing foo=5/> />
    object.<get key lookup=false if_missing='return' default=false/>

    I've seen a language that works with XML as a first-class data structure, but it had a normal C-like syntax, say

    x = <foo bar="3"/>;
    if (x.bar == 3) {...};

    IMHO the latter makes much more sense - you can work with XML and you don't have to learn a whole new LISPy hybrid syntax.

    --
    Yesterday was the time to do it right. Are we having a REVOLUTION yet?
  7. Re:Here is Oleg's take on it + Troll by foniksonik · · Score: 4, Interesting

    "you have to accept legacy XML documents and XSLT
    stylesheets"

    When did XML become a 'legacy' language?

    Wow, the 2nd millenium sure is moving fast!

    --
    A fool throws a stone into a well and a thousand sages can not remove it.