BETA(ID:1032/bet001)

Object oriented language  


Norwegian Computing Center, Oslo, 1975

Beta development process started in 1975, with the aim to develop concepts, constructs, and tools for programming. The team consisted of Bent B. Kristensen, Birger Molle-Pederson, Ole Lehrman Madsen, and Kristen Nygaard.  

Object-oriented language with block structure, coroutines, concurrency, strong typing, part objects, separate objects and classless objects. Central feature is a single abstraction mechanism called "patterns", a generalization of classes, providing instantiation and hierarchical inheritance for all objects including procedures and processes.

A modern OOL with comprehensive facilities for procedural and functional programming. BETA has powerful abstraction mechanisms that provide excellent support for design and implementation, including data definition for persistent data. The abstraction mechanisms include support for identification of objects, classification, and composition. Abstract mechanisms include class, procedure, function, co-routine, process, exception, and many more, all unified into the ultimate abstraction mechanism: the pattern. In addition to the pattern, BETA has sub-pattern, virtual pattern, and pattern variable.

does not only allow for passive objects as in SMALLTALK, C++, and EIFFEL. BETA objects may also act as co-routines, making it possible to model alternating sequential processes and quasi-parallel processes. BETA coroutines may also be executed concurrently with supported facilities for synchonization and communication, including monitors and rendezvous communication.


Mjølner Informatics ApS, implementations for Mac, Sun, HP, Apollo.


People:
Structures:
Related languages
GAMMA => BETA   Compiled by
SIMULA 67 => BETA   Evolution of
BETA => Ellie   Influence
BETA => MetaBETA   Augmentation of
BETA => Siri   Influence

References:
  • Kristensen, Bent Bruun; Madsen, Ole Lehrmann; Møller-Pedersen, Birger; Nygaard, Kristen "Multi sequential execution in the BETA Programming Language" view details
          in SIGPLAN Notices 20(05) May 1985 view details
  • Kristensen, Bent Bruun; Madsen, Ole Lehrmann; Møller-Pedersen, Birger; Nygaard, Kristen "The BETA Programming Language" pp7-48 view details
          in Research Directions in Object-Oriented Programming 1987 view details
  • Madsen, O. "The Mjølner BETA fragment system" view details External link: Cite seer
          in Knudsen, J. ; O. Madsen, B. Magnusson, and M. Lofgren, editors, Object-Oriented Environments. Prentice Hall, September 1993. view details
  • Nance, Richard E. "Simulation programming languages: an abridged history" view details Extract: BETA, GAMMA, DELTA,
    This period of expansion for SIMULA took the form of a pure system description language called DELTA (Holbaek-Hanssen 1977). The DELTA project sought to implement system specification for simulation execution through a series of transformation from a high level user
    perspective through an intermediate form called BETA, culminating with an executable language called GAMMA.
          in The 27th Winter Simulation Conference 3-6 December 1995 Hyatt Regency Crystal City, Arlington, VA view details
  • Søren Brandt and René W. Schmid "The Design of a Meta-Level Architecture for the BETA Language" (1995) Proceedings of META '95: Workshop on Advances in Metaobject Protocols and Reflection at ECOOP'95 view details External link: Cite seer Abstract: The design of a meta-level architecture for a compiled and statically typed object-oriented programming language is presented. The architecture provides compiled languages with sufficient runtime information to implement a full-blown typed meta-level interface, including both introspective and introcessory capabilities. The central component of the metalevel architecture is the runtime system. It is viewed as a virtual machine implementing the functionality of the programming language, and therefore provides a natural entity to be extended with a meta-level interface.

    The meta-level interface is based on a novel language construct, a meta-reference called attribute reference.

          in The 27th Winter Simulation Conference 3-6 December 1995 Hyatt Regency Crystal City, Arlington, VA view details
  • Abadi, Martin and Cardelli, Luca "A Theory of Objects" Springer Monographs in Computer Science, 1996 view details

          in The 27th Winter Simulation Conference 3-6 December 1995 Hyatt Regency Crystal City, Arlington, VA view details
  • Søren Brandt and Jørgen Lindskov Knudsen "Patterns and Qualifications in BETA: A Case for Generalization" view details
          in Cointe, P. editor, Proceedings of the Ninth European Conference on Object-Oriented Programming (ECOOP), July 1996. LNCS 1098, Springer-Verlag view details
  • Søren Brandt and Jørgen Lindskov Knudsen. "Generalising the BETA type system" pp421--448 view details External link: Cite seer Abstract: The type system of object-oriented programming languages should enable the description of models that originate from object-oriented analysis and design. In this paper, the BETA type system is generalised, resulting in direct language support for a number of new modelling aspects.

    The increased expressive power is obtained from a synergy between
    general block structure and the generalised type hierarchy, and not
    from syntactic additions to the language.

    The type hierarchy described in this paper is a superset of the class
    hierarchy. In order to regain an orthogonal and internally consistent
    language, we investigate the impact of the new type hierarchy on other parts of the language. The resulting increase in expressive power serves to further narrow the gap between statically and dynamically typed languages, adding among other things more general generics, immutable references, and attributes with types not known until runtime.
          in Cointe, P. editor, Proceedings of the Ninth European Conference on Object-Oriented Programming (ECOOP), July 1996. LNCS 1098, Springer-Verlag view details
  • Eiichi Takahashi Rin-ichiro Taniguchi Makoto Amamiya "Compiling Technique Based on Dataflow Analysis for Functional Programming Language Valid" view details
          in Cointe, P. editor, Proceedings of the Ninth European Conference on Object-Oriented Programming (ECOOP), July 1996. LNCS 1098, Springer-Verlag view details
  • Philippsen, Michael "A survey of concurrent object-oriented languages" pp917-980 view details
          in Concurrency: Practice and Experience 2000 v12 view details
    Resources