Z0 - A tiny experimental language
Z(0) is a tiny experimental class-based pure object-oriented programming language. Its key features include syntactic simplicity, similarity with Java [8], strong static typing, pure object abstraction, and some dynamic mechanism which are normally only found in dynamic languages. Z(0) provides a unified, object-oriented treatment of all values, primitive, user-defined, and even control structures. In a nutshell, everything is an object. As far as object "purity" is concerned, Z(0) looks to Smalltalk [6] and Self [20,17]. Z(0) uses a clean and strict method-based model. There are no explicit instance variables, only methods. A dynamic, compile-time checkable method update mechanism is provided to make methods manipulable at run time. Inheritance model is simple and straightforward. Variant type system and dynamic typing with Self enable a high degree of typing flexibility that is statically safe and can be efficiently implemented. Because Z(0) is compiled for a virtual machine (JVM-like [13]), it is much more efficient in execution than interpreted languages.
language design object-orientation