Language for Simplified Web Services and XML Programming
Water for Educators


Water is an excellent language for use in introductory computer science and programming courses.

1. Target

  • Leading-edge educators who want to teach Web services and distributed programming
  • Educators who teach HTML and would like to provide a gentle path to programming
  • Educators who teach computer science using Scheme or Smalltalk
    Looking for a more practical language that is easier for students to learn.
  • Educators who teach computer science using Java
    Looking for less complex language, but still want to teach useful skills

2. Advantages

  • Practical programming language
    Learn real-world skills with Web services, XML, and distributed programming
  • Simple, clean, consistent language
    Teach critical thinking and good programming skills, not a specific language
  • Familiar syntax
    Extends HTML to dynamic programming
  • Smooth learning curve
    Start immediately with static HTML and gradually learn programming concepts
  • Multi-paradigm language
    Supports Object-oriented, Functional, Procedural, and Declarative

3. Development environment

  • Instant deployment
    Every time a student runs their code, it is instantly available for others to see
  • Zero-administration thin-client
  • Instant feedback with fully integrated and interactive development environment
  • Multiple views of objects
    Object inspector, rendered HTML, and XML
  • Easy stepping and debugging (stack trace)
  • Creates programs that can be instantly published on the Web
  • Graphical object inspector
  • Supports incremental design and implementation
  • Testing and documentation supported by the language
  • Development environment implemented in 1 page of Water code
  • Easily supports team and shared development in a classroom
    Students can develop and deploy on their machine, as well as on a shared machine

4. Language features

  • Both strong typing and weak typing
  • Has standard object-oriented, event-driven UI framework (the browser)
  • No confusing distinction between classes and instances (Prototype-based object system)
  • Automatic memory management (Garbage collection)
  • Exception handling
  • Uniform representation of data, presentation, and logic
  • Useful standard types: dates, regular expression
  • Wide range of use
    Same language across many areas: web, multimedia, 2D, 3D, ...

5. Advanced language features

  • Can implement control structure abstractions
  • Anonymous methods
  • Nested function definitions and global definitions
  • Closures

6. Availability

  • Cross-platform: PC, Mac, Unix
  • Free development environment
  • Free deployment for educational use
  • Many examples available (50+ examples)
  • Community of users at waterlanguage.org
  • Commercially supported by Clear Methods
© Copyright 2001-2003 Clear Methods, Inc. All rights reserved.