|This article does not cite any references or sources. (December 2007)|
|Designed by||Birger Møller-Pedersen, Kristen Nygaard|
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. Classes can be virtually defined, much like virtual methods can be in most object-oriented programming languages. Virtual entities (such as methods and classes) are never overwritten; instead they are redefined or specialized.
BETA supports the object-oriented perspective on programming and has comprehensive facilities for procedural and functional programming. It has powerful abstraction mechanisms to support identification of objects, classification and composition. BETA is a strongly typed language like Simula, Eiffel and C++, with most type checking done at compile-time. BETA aims to achieve an optimal balance between compile-time type checking and run-time type checking.
This snippet prints the standard line "Hello world!":
do ’Hello world!’->PutLine