BETA is a pure object-oriented language from the Scandinavian School in System Development where the first object-oriented language Simula was developed.

From a technical perspective, BETA provides the following unique feature:

  • Classes and Procedures are unified to one concept, a Pattern.
  • Classes are defined as properties/attributes of objects. This means that a class cannot be instantiated without an explicit object context.
  • A consequence of the above is that BETA supports nested classes; and BETA's nested classes are indeed one of the primary sources of inspiration for Java's so-called inner classes.
  • Classes can be virtually defined (much like virtual methods can in most other object-oriented programming languages).
  • Virtual entities (such as methods and classes) are never overwritten; instead they are refined or specialized.

BETA supports the object-oriented perspective on programming and contains comprehensive facilities for procedural and functional programming. BETA has powerful abstraction mechanisms for supporting identification of objects, classification and composition. BETA is a strongly typed language like Simula, Eiffel and C++, with most of the type checking being carried out at compile-time. It is well known that it is not possible to obtain complete type checking at compile-time without sacrificing the expressiveness of the language. BETA has an optimum balance between compile-time type checking and run-time type checking.

External links