Domain: waterlang.org
Stories and comments across the archive that link to waterlang.org.
Comments · 7
-
Zope is great, but too complex and hard to learn.I've developed a production web site in Python and Zope (http://www.Connected.TV), and I like Zope a lot, and absolutely love Python. But Zope is much more complicated than it needs to be, and not well documented at all. The Zope developers are certainly aware of those problems, and working to correct them. I don't agree with all the directions they're taking (like the messy dtml and crippled xml page templates that want to be a programming language but aren't quite -- didn't they already make that mistake with XSLT? Why repeat the mistakes of the past?), but since it's written in Python, you don't have to use the crazy stuff, and you can just drop down to Python and program the hell out of it to do whatever you want.
Zope's DTML is a pain in the ass, and the xml page templates are lame and bizarre. What I would really love, would be an elegent xml based and fully functional web templating and programming language like Water, implemented in open source Python, embedded in an interactive dynamic object publishing content management web server framework like Zope (but simpler).
If you're interested in language design, definitely read the white papers like the Water Rationale on the Water web site. They're to the point, brilliantly written, and hit the nail on the head.
-Don
[Interesting excerpts from http://www.waterlang.org/doc/water_rationale.htm]:
Water Rationale
Fry, May 2002
OverviewWater is a language for the web that embodies the three primary functionalities needed for general purpose information manipulation into one unified language:
- Code: Water is a general purpose object oriented programming language that is, at its core, more flexible than Javascript, Visual Basic and Java.
- Data: Water permits the description of persistent structured data on the web via an XML syntax yet having the capability of computing values that may contain self-referencial interconnections.
- Markup: Since Water is a superset of HTML, it inherits all of HTML's capabilities.
The syntax of Water is a superset of HTML, or, more properly, a superset of XML. HTML has proven to be an easily understandable markup language since it has been learned by millions of people in the several years that the web has existed. XML is a standard for putting structured data on the web. Water extends the syntax of XML to make a language less cumbersome to write code in. Water provides a way to define functions and call them in addition to defining and instantiating objects. The object system is a multiple-inheritance, prototype-based object system with annotations. This will be described below, but for now it's sufficient to say that it is more powerful yet simpler than the class-instance object systems currently in vogue in languages such as Java and C++.
[...]
We Need Another Language Like A Hole in the Head
Right now the plethora of languages on the web causes more than headaches. New ones seem to be born monthly. Having to learn two or more to get a task done is more than twice as hard as one language because the interface between the languages is always additional hair which is, more often than not, poorly documented.
Why do we have HTML, XML, Java, Javascript, C++, Visual Basic, VRML, XSLT, PHP, etc? Because none of them are flexible enough to give programmers the functionality they need in building a modern Web application. Looking within the scope of what each of the above intends to cover, we often find serious flaws. But when we try to move outside of that scope, say doing markup in Java, we have a full-fledged disaster on our hands.
We do not need a new language for implementing some specialized functionality. Sooner or later that specialized functionality will need general purpose utilities like condi
-
Zope is great, but too complex and hard to learn.I've developed a production web site in Python and Zope (http://www.Connected.TV), and I like Zope a lot, and absolutely love Python. But Zope is much more complicated than it needs to be, and not well documented at all. The Zope developers are certainly aware of those problems, and working to correct them. I don't agree with all the directions they're taking (like the messy dtml and crippled xml page templates that want to be a programming language but aren't quite -- didn't they already make that mistake with XSLT? Why repeat the mistakes of the past?), but since it's written in Python, you don't have to use the crazy stuff, and you can just drop down to Python and program the hell out of it to do whatever you want.
Zope's DTML is a pain in the ass, and the xml page templates are lame and bizarre. What I would really love, would be an elegent xml based and fully functional web templating and programming language like Water, implemented in open source Python, embedded in an interactive dynamic object publishing content management web server framework like Zope (but simpler).
If you're interested in language design, definitely read the white papers like the Water Rationale on the Water web site. They're to the point, brilliantly written, and hit the nail on the head.
-Don
[Interesting excerpts from http://www.waterlang.org/doc/water_rationale.htm]:
Water Rationale
Fry, May 2002
OverviewWater is a language for the web that embodies the three primary functionalities needed for general purpose information manipulation into one unified language:
- Code: Water is a general purpose object oriented programming language that is, at its core, more flexible than Javascript, Visual Basic and Java.
- Data: Water permits the description of persistent structured data on the web via an XML syntax yet having the capability of computing values that may contain self-referencial interconnections.
- Markup: Since Water is a superset of HTML, it inherits all of HTML's capabilities.
The syntax of Water is a superset of HTML, or, more properly, a superset of XML. HTML has proven to be an easily understandable markup language since it has been learned by millions of people in the several years that the web has existed. XML is a standard for putting structured data on the web. Water extends the syntax of XML to make a language less cumbersome to write code in. Water provides a way to define functions and call them in addition to defining and instantiating objects. The object system is a multiple-inheritance, prototype-based object system with annotations. This will be described below, but for now it's sufficient to say that it is more powerful yet simpler than the class-instance object systems currently in vogue in languages such as Java and C++.
[...]
We Need Another Language Like A Hole in the Head
Right now the plethora of languages on the web causes more than headaches. New ones seem to be born monthly. Having to learn two or more to get a task done is more than twice as hard as one language because the interface between the languages is always additional hair which is, more often than not, poorly documented.
Why do we have HTML, XML, Java, Javascript, C++, Visual Basic, VRML, XSLT, PHP, etc? Because none of them are flexible enough to give programmers the functionality they need in building a modern Web application. Looking within the scope of what each of the above intends to cover, we often find serious flaws. But when we try to move outside of that scope, say doing markup in Java, we have a full-fledged disaster on our hands.
We do not need a new language for implementing some specialized functionality. Sooner or later that specialized functionality will need general purpose utilities like condi
-
Zope is great, but too complex and hard to learn.I've developed a production web site in Python and Zope (http://www.Connected.TV), and I like Zope a lot, and absolutely love Python. But Zope is much more complicated than it needs to be, and not well documented at all. The Zope developers are certainly aware of those problems, and working to correct them. I don't agree with all the directions they're taking (like the messy dtml and crippled xml page templates that want to be a programming language but aren't quite -- didn't they already make that mistake with XSLT? Why repeat the mistakes of the past?), but since it's written in Python, you don't have to use the crazy stuff, and you can just drop down to Python and program the hell out of it to do whatever you want.
Zope's DTML is a pain in the ass, and the xml page templates are lame and bizarre. What I would really love, would be an elegent xml based and fully functional web templating and programming language like Water, implemented in open source Python, embedded in an interactive dynamic object publishing content management web server framework like Zope (but simpler).
If you're interested in language design, definitely read the white papers like the Water Rationale on the Water web site. They're to the point, brilliantly written, and hit the nail on the head.
-Don
[Interesting excerpts from http://www.waterlang.org/doc/water_rationale.htm]:
Water Rationale
Fry, May 2002
OverviewWater is a language for the web that embodies the three primary functionalities needed for general purpose information manipulation into one unified language:
- Code: Water is a general purpose object oriented programming language that is, at its core, more flexible than Javascript, Visual Basic and Java.
- Data: Water permits the description of persistent structured data on the web via an XML syntax yet having the capability of computing values that may contain self-referencial interconnections.
- Markup: Since Water is a superset of HTML, it inherits all of HTML's capabilities.
The syntax of Water is a superset of HTML, or, more properly, a superset of XML. HTML has proven to be an easily understandable markup language since it has been learned by millions of people in the several years that the web has existed. XML is a standard for putting structured data on the web. Water extends the syntax of XML to make a language less cumbersome to write code in. Water provides a way to define functions and call them in addition to defining and instantiating objects. The object system is a multiple-inheritance, prototype-based object system with annotations. This will be described below, but for now it's sufficient to say that it is more powerful yet simpler than the class-instance object systems currently in vogue in languages such as Java and C++.
[...]
We Need Another Language Like A Hole in the Head
Right now the plethora of languages on the web causes more than headaches. New ones seem to be born monthly. Having to learn two or more to get a task done is more than twice as hard as one language because the interface between the languages is always additional hair which is, more often than not, poorly documented.
Why do we have HTML, XML, Java, Javascript, C++, Visual Basic, VRML, XSLT, PHP, etc? Because none of them are flexible enough to give programmers the functionality they need in building a modern Web application. Looking within the scope of what each of the above intends to cover, we often find serious flaws. But when we try to move outside of that scope, say doing markup in Java, we have a full-fledged disaster on our hands.
We do not need a new language for implementing some specialized functionality. Sooner or later that specialized functionality will need general purpose utilities like condi
-
1.<plus 1/><is 2/>
The samples below come from the Waterland website. ConsiceXML violates XML specifications the same way HTML does.
doc/fast_intro.html-
5.<is 5/>
-
object.<get key lookup=false if_missing='return' default=false/>
-
<if> cond1 action1 cond2 <do> action2a action2b 'continue' </> otherwise action3 </if>
Furthermore I do not understand the way they seem to mix values in text and tags. I mean
5.<plus 7/>.<divided_by 3/>
simply scares the hell out of me. I mean<int value="(5+7)/3"/>
or<math divide_by="3"><math add="7">5</math></math>
would be acceptable. These would readable or exploit the structure of XML. I do not want to offend anyone by any means, but what on earth are these Water(TM) people think they are doing?I like C. I like Java. I like C++, LISP, Perl, Prolog and Python. I even like
.BAT (4dos), sh, HTML and XML. I even can see the use of Visual Basic, but why would anyone want to use XML to write code? To optimize it using XSLT? Or only to <BUZZ>blah</BUZZ>? This is not a language. This is slang. Being fluent in it characterizes savages. -
-
Re:Alternatives (Water -- www.waterlang.org)
Christopher Fry and Mike Plusch have developed the Water language. Christopher Fry was one of the original developers on Macintosh Common Lisp when it was Coral Software. Water was designed to be as easy as Basic, but give you all the power (and more) of Lisp. Water was designed to support both object-oriented programming and functional programming. It uses the ConciseXML syntax and uses the syntax for data, logic, and presentation. Water is an All-Level Language because it can be used for both high-level and low-level tasks.
-
Re:Comments from the co-author of Water
I think making money is a very good thing and I have no preference for open or closed source products but when I see these consulting fees:
Consulting Services
Architect: $3,000 per day
Programmer: $1,500 per day
Jumpstart Workshop: $20,000 for one-week, up to 6 developers
and the other ways money is to be made ($100,000 for joining a committee!!!), I get the feeling that you guys are out to line your pockets by faking out stupid corporations who will waste gazillions on anything they don't understand. I get that curl feeling...
Good luck though since you will be competing with Sun and Microsoft.
I leave this bit to ponder from http://www.paulgraham.com/langdes.html:
"If you look at the history of programming languages, a lot of the best ones were languages designed for their own authors to use, and a lot of the worst ones were designed for other people to use.
When languages are designed for other people, it's always a specific group of other people: people not as smart as the language designer. So you get a language that talks down to you. Cobol is the most extreme case, but a lot of languages are pervaded by this spirit.
It has nothing to do with how abstract the language is. C is pretty low-level, but it was designed for its authors to use, and that's why hackers like it.
The argument for designing languages for bad programmers is that there are more bad programmers than good programmers. That may be so. But those few good programmers write a disproportionately large percentage of the software.
I'm interested in the question, how do you design a language that the very best hackers will like? I happen to think this is identical to the question, how do you design a good programming language?, but even if it isn't, it is at least an interesting question. "
-----
-
Re:Highly Biased Examples?
Of course the examples are biased; look at the website. It looks more like a press-release or an advertisement than a community site. It's more in the vein of this, this, and this than it resembles this, this, or this. Water is clearly being developed & marketed from "dazzle the PHB with buzzwords" angle. The big difference is that Clear Methods doesn't really have the size, reputation, or money to stuff something like this down everyone's throats. It's an even harder sell when you have tojustify the cost in comparison to the competition, which is free.