Lambda the Ultimate

inactiveTopic Water : A new OO, Dynamic, and Secure Language for Web Services and XML
started 11/9/2002; 8:47:26 AM - last post 11/28/2002; 4:44:43 AM
Patrick Logan - Water : A new OO, Dynamic, and Secure Language for Web Services and XML  blueArrow
11/9/2002; 8:47:26 AM (reads: 745, responses: 8)
http://www.waterlang.org/

Chrsitopher Fry and Mike Plusch:

Water(TM) is a new Web services and general-purpose programming language that allows you to program in the ConciseXML syntax. Water is an open object-oriented language designed to simplify the creation of new Web services. Water is extremely flexible and adheres to a"Learn Once, Use Everywhere" philosophy where data, logic, and presentation have a uniform representation. Water also implements a capability security model to provide secure execution in protected domains. Water builds upon the ideas from a number of different languages such as Scheme, Self, Lisp, Java, SmallTalk, Self, JavaScript, HTML, and XML.

Isaac Gouy - Re: Water : A new OO, Dynamic, and Secure Language for Web Services and XML  blueArrow
11/10/2002; 4:18:16 PM (reads: 777, responses: 0)
Without wishing to stir-up a hornet's nest, am I alone in feeling that having just a uniform representation for data and logic is not an absolute good?

Let's take for granted the goodness of representing programs in a way that lets other programs take them as data (s-expr xml). For the sake of argument, let's say we sometimes don't want to munge the program. Then it seems we're left with a really verbose way to program, like XSLT.

Wouldn't it be "nicer" to have an underlying uniform representation for data, logic & presentation, with some sugar on-top to distinguish between data, logic & presentation when that's a useful thing to do?

Kimberley Burchett - Re: Water : A new OO, Dynamic, and Secure Language for Web Services and XML  blueArrow
11/11/2002; 3:01:31 PM (reads: 725, responses: 0)
Water is not exceptionally verbose. They use a non-standard version of XML that's basically s-exps with angle brackets instead of parentheses. (You don't need to include the tag name in the close tag.)

A similar language was presented at LL2. The last talk was about LZX, which is focused on client side execution (whereas water seems more like a middleware thing). Unfortunately LZX isn't out yet, and I can't find any website for it. But it gave really cool demos.

Patrick Logan - Re: Water : A new OO, Dynamic, and Secure Language for Web Services and XML  blueArrow
11/11/2002; 3:55:47 PM (reads: 718, responses: 0)
A few things I like about Water.

  • Best two-page summary I've read about what's fundamentally wrong with XML.
  • Good two-page description of capability-based security.
  • Attempts to incorporate both of these.

But I've not determined how well, or if I'd want to program in Water anyway.

I need to go back and review the video of LZX at LL2. LZX and Water were briefly compared. Water seems more clean as a language. LZX seems more capable as a GUI canvas.

Isaac Gouy - Re: Water : A new OO, Dynamic, and Secure Language for Web Services and XML  blueArrow
11/11/2002; 4:05:22 PM (reads: 728, responses: 0)
A similar language was presented
It's the trend that bothers me (and then there are template languages...)

It seems straightforward: if the representation of data, logic & presentation are the same; it becomes more difficult to identify which-is-which, it increases the cognitive load, consumes brainpower.
The fun thing about usability testing is that you often find out that your beliefs about how quickly or slowly you do things turn out to be plain wrong. What I think is important here is that a fundamental change in representation is sliding-in without an attempt to figure out if that's a "bad thing".

"In the 1960s, people actually measured language understandability —a major factor in software productivity." The Emperor with No Clothes & Command name design

Thanks to website usability issues a lot of people have heard about discount usability testing techniques, and those techniques can be applied to programming language design.

Patrick Logan - Re: Water : A new OO, Dynamic, and Secure Language for Web Services and XML  blueArrow
11/11/2002; 5:37:16 PM (reads: 725, responses: 0)
I actually find Water easier to read than DHTML + JavaScript. I've not programmed anything with it, so I am reserving final judgement.

Mixing data and behavior doesn't concern this old Lisp programmer. In fact I still prefer Scheme + SXML to Water or any other XML-like behavior notation. Maybe I am used to it. Maybe round brackets are more soothing to the eye.

But also there are better tools for programming behavior in Lisp. I could imagine (and maybe there actually is) a good display editor for Water that clearly distinguishes what is code and what is data based on detecting what "mode" the user is in.

Kimberley Burchett - Re: Water : A new OO, Dynamic, and Secure Language for Web Services and XML  blueArrow
11/12/2002; 12:36:13 PM (reads: 713, responses: 0)
I should add that I've seen a demo of the Water IDE, and it looked very interesting. I only saw it for ten minutes or so, but it managed to get me more excited about the language than an hour of polemic about the advantages of unifying code and data. It has a full object/class browser built in, and an XML-aware editor (e.g. double click to select an entire block).

My main takeaway for water, however, is that it's a solution in search of a problem. Since it doesn't have a GUI aspect, that tells me that it's most appropriate to run it on the server. And indeed the water folks seem to say that themselves. However they seem largely uninterested in execution speed, which does not seem at all appropriate for a server technology to me.

Another point that I heard voiced is although there are a profusion of different languages that have to be learned in order to create websites (XML, Java, javadoc, javascript, JSP, XSL, CSS, etc), it doesn't really matter since at least in large companies, no one person has to learn with all the languages themselves.

I'm dubious as to the advantages of unified syntax -- if it doesn't come with simplification of semantics, then you haven't really won anything. However you have lost all the tools that other people have created that work with the standard syntaxes, and all the shared knowledge that other people have amassed. Would you really want to have to write your own javadoc tool, just because you tossed out java syntax and moved to water?

Patrick Logan - Re: Water : A new OO, Dynamic, and Secure Language for Web Services and XML  blueArrow
11/12/2002; 2:31:32 PM (reads: 688, responses: 0)
And an IDE would not persuade me to use a language. There are plenty of IDEs for Java, but I use Java I use bare bones Xemacs + Java mode.

Unified syntax should definitely not be a holy grail. But it does so happen that a simple language, Scheme, does have unified syntax, so all the better. JScheme or SISC are pretty good choices across all these dimensions: simple semantics, simple syntax for code and data, integration with Java to use all the tools others have created.

Noel Welsh - Re: Water : A new OO, Dynamic, and Secure Language for Web Services and XML  blueArrow
11/28/2002; 4:44:43 AM (reads: 682, responses: 0)
As seen on Slashdot:

http://developers.slashdot.org/article.pl?sid=02/11/28/0251248&mode=thread&tid=156