BETA is a pure object-oriented language originating within the "Scandinavian School" in object-orientation where the first object-oriented language Simula was developed. From a technical perspective, BETA provides several unique features. Classes and Procedures are unified to one concept, a Pattern. Also, classes are defined as properties/attributes of objects. This means that a class cannot be instantiated without an explicit object context. A consequence of this is that BETA supports nested classes; and BETA's nested classes are indeed one of the primary sources of inspiration for Java's 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 aims to achieve an optimum balance between compile-time type checking and run-time type checking.

BETA Branch
Preceded by
BETA Followed by
J2SE Branch
Influenced by
BETA Influenced