About Water
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.
Who's the User?
The target audience for Water spans a broad range of skill sets.
An HTML developer can learn the basics in a few days, yet a Lisp or SmallTalk developer will feel right at home with Water’s power and flexibility.
Although Water can fulfill most of the needs of the general purpose programmer, someone who’s spent years learning a difficult language like C or Java is hard to convince to give up on their investment even if they can exceed their previous productivity in a few weeks.
Although many Water programs look trivial, the beauty of Water is the elegance and consistent that makes complex things look simple.
Water is not simplified at the expense of being able to accommodate complex programming tasks.
Learn While Doing
Today’s “internet-time” working environments don’t permit us the luxury of putting everything on hold while we learn a new language. Even if we know the language of implementation well, we usually can’t even take the time for a nice comprehensive design of the ideas. We must get prototypes up fast yet despite programmers’ pleas for re-design, prototypes get turned into products due to competitive pressures. We need a language that supports this reality.
Like HTML, Water permits you to just write a paragraph of English text and call it a web page. Also like HTML, you can take another pass and add markup without having to rewrite your original text. You need only learn the HTML tags that you need to know. However, should you require more dynamic behavior, with Water you needn’t learn a new scripting syntax such as Javascript, or worse, a whole new programming environment such as Java.
You can simply insert Water tags into your page using the same basic syntax that your markup is in. Plain text, markup, data, and code can be freely intermixed with no barriers between those functionalities and no “impedance mismatches” between text, markup, data and code. Water tries hard to give the user the most functionality per learning effort, emphasizing economy and elegance at the expense of hairy and rarely used features.
Water is a general purpose object oriented programming language that is, at its core, more flexible than Javascript, Visual Basic and Java.
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.
Since Water is a superset of HTML, it inherits all of HTML's capabilities.