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
BETA homepage: http://daimi.au.dk/~beta/
GBETA, a generalized BETA: http://www.daimi.au.dk/~eernst/gbeta/
BETA is a modern object-orientedlanguage from the Scandinavian school of object-orientation where the first object-orientedlanguageSimula [DMN70] was developed.
BETA supports the object-oriented perspective on programming and contains comprehensive facilities for procedural and functional programming.
BETA is a strongly typed language like Simula, Eiffel [Mey88] and C++ [Str86a], with most type checking being carried out at compiletime.
BETA is a pure object-orientedlanguage from the Scandinavian School in System Development where the first object-orientedlanguageSimula was developed.
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.
BETA is a strongly typed language like Simula, Eiffel and C++, with most of the type checking being carried out at compile-time.