Oz is a programming language.which supports declarative programming, object-oriented programming, constraint programming, and concurrency as part of a coherent whole. For distribution, a common implementation (Mozart) provides a true network transparent implementation with support for network awareness, openness, and fault tolerance. Oz is ideal for both general-purpose distributed applications as well as for hard problems requiring sophisticated optimization and inferencing abilities. Oz applications include sophisticated collaborative tools, multi-agent systems, and digital assistants, as well as applications in natural language understanding and knowledge representation, in scheduling and time-tabling, and in placement and configuration.
If you have programmed before and would like to see a little bit of how Oz works and is different from other programming languages, you can get an overview.
Contents
- History
 - Syntax
 - Features
 - Data
 - Code and Interfaces
 
Beginning Oz
- Basic Concepts
 - Data Types
- Value
 - Number
 - Int
 - FDInt
 - Char
 - Float
 - Record
 - Tuple
 - Literal
 - Atom
 - Name
 - Bool
 - Unit
 - Procedure
 - Cell
 - Chunk
 - Array
 - Dictionary
 - BitArray
 - Class
 - Object
 - Lock
 - Port
 - Space
 - Thread
 - ByteString
 - BitString
 
 - Variables
 - Simple Input and Output
 - Simple Math
 - Program Flow
 - Procedures and Functions
 - Libraries
 - Standard Libraries
 - Further Math
 - Compiling
 - Beginning Exercises
 
In-depth Oz ideas
- Pointers and Arrays
 - String Manipulation
 - Programming Structure and Style
 - Complex Types
 - Memory Management
 - Error Catching
 - Closures
 
Oz and beyond
- Language Overloading and Extensions
 - Combining Languages
 - Commented Source Code Library