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."

6 of 60 comments (clear)

  1. 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.

  2. 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-
  3. Still think zope has more potential by Max+Romantschuk · · Score: 3, Insightful

    Water looks remarkably like ColdFusion... XML or not... I've used ColdFusion for quite some time, and separating logic and content is really difficult.

    Zope Page Templates is the fisrt solution I've seen so far which really separates content and code, while enabling editing of dynamic templates in a regular html editor...

    --
    .: Max Romantschuk :: http://max.romantschuk.fi/
  4. 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?
  5. Not again!! by pong · · Score: 3, Insightful

    When will people figure out that xml is perfect for machines but only tolerable for humans. Programming is for humans, not for machines. So what if it is a bit harder to write a parser/compiler for the programming language, if only it is easier on the programmer? XSLT sucks, because it is itself defined in XML. Now these guys are making the same mistake.

    Actually programming in XML takes away the clarity of expression that you would ideally have in a programming language - it is not terse, and the syntax is way too noisy. Take a look at ruby, if you are at all interested in a terse language, where it is easy to write code that actually communicate intent.