Z0 - a tiny experimental language

  • Authors:
  • Saso Greiner;Damijan Rebernak;Janez Brest;Viljem Zumer

  • Affiliations:
  • University of Maribor, Maribor, Slovenia;University of Maribor, Maribor, Slovenia;University of Maribor, Maribor, Slovenia;University of Maribor, Maribor, Slovenia

  • Venue:
  • ACM SIGPLAN Notices
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Z0 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. Z0 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, Z0 looks to Smalltalk [6] and Self [20,17]. Z0 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 Z0 is compiled for a virtual machine (JVM-like [13]), it is much more efficient in execution than interpreted languages.