BETA (programovací jazyk) - BETA (programming language)

BETA
Paradigma Objektově orientovaný
Navrhl Bent Bruun Kristensen , Ole Lehrmann Madsen , Birger Møller-Pedersen , Kristen Nygaard
webová stránka beta .cs .au .dk
Ovlivněn
Simula

BETA je čistý objektově orientovaný jazyk pocházející ze „skandinávské školy“ v objektové orientaci, kde byl vyvinut první objektově orientovaný jazyk Simula . Mezi jeho pozoruhodné vlastnosti zavedl vnořené třídy a sjednocené třídy s postupy do takzvaných vzorů.

Projekt je od října 2020 neaktivní.

Funkce

Technický přehled

Z technického hlediska poskytuje BETA několik unikátních funkcí. Třídy a postupy jsou sjednoceny do jednoho konceptu, vzoru . Třídy jsou také definovány jako vlastnosti/atributy objektů. To znamená, že třídu nelze vytvořit bez kontextu explicitního objektu. Důsledkem toho je, že BETA podporuje vnořené třídy . Třídy lze definovat virtuálně, podobně jako virtuální metody mohou být ve většině objektově orientovaných programovacích jazyků. Virtuální entity (jako jsou metody a třídy) se nikdy nepřepisují; místo toho jsou předefinovány nebo specializovány.

BETA podporuje objektově orientovaný pohled na programování a má komplexní vybavení pro procedurální a funkční programování. Má účinné abstrakční mechanismy na podporu identifikace objektů, klasifikace a složení. BETA je staticky napsaný jazyk, jako je Simula, Eiffel a C ++ , přičemž většina kontroly typu se provádí v době kompilace. Cílem BETA je dosáhnout optimální rovnováhy mezi kontrolou typu kompilace a kontrolou typu run-time.

Vzory

Hlavním a zvláštním rysem jazyka je koncept vzorů. V jiném programovacím jazyce, jako je C ++ , by člověk měl několik tříd a procedur. BETA vyjadřuje oba tyto koncepty pomocí vzorů.

Například jednoduchá třída v C ++ by měla formulář

class point {
    int x, y;
};

V BETA může být stejná třída reprezentována vzorem

point: (#
    x, y: @integer
#)

To znamená, že třída s názvem bod bude mít dvě pole, x a y , typu integer . Symboly ( # a #) zavádějí vzory. Dvojtečka slouží k deklaraci vzorů a proměnných. Znak @ před celočíselným typem v definicích polí určuje, že se jedná o celočíselná pole, a nikoli naopak o odkazy, pole nebo jiné vzory.

Jako další srovnání by procedura v C ++ mohla mít formu

int max(int x, int y)
{
    if (x >= y)
    {
        return x;
    }
    else
    {
        return y;
    }
}

V BETA by taková funkce mohla být zapsána pomocí vzoru

max: (#
    x, y, z: @integer
enter (x, y)
do
    (if x >= y // True then
        x -> z
    else
        y -> z
    if)
exit z
#)

X , y a z jsou lokální proměnné. Zadat klíčové slovo určuje vstupní parametry vzoru, zatímco výjezd klíčové slovo určuje výsledek funkce. Mezi nimi je dělat klíčových předpon sled operací, které mají být provedeny. Podmíněný blok je ohraničen (if and if) , tj. Klíčové slovo if se stane součástí otevírací a zavírací závorky. Pravda se kontroluje pomocí // True v bloku if. Nakonec operátor přiřazení -> přiřadí hodnotu na levé straně proměnné na pravé straně.

Ahoj světe!

Tento úryvek vytiskne standardní řádek „Hello world!“ :

(#
do ’Hello world!’->PutLine
#)

Další čtení

  • Ole Lehrmann Madsen, Birger Møller-Pedersen, Kristen Nygaard: Objektově orientované programování v programovacím jazyce BETA, [2]
  • Bent Bruun Kristensen, Ole Lehrmann Madsen, Birger Møller-Pedersen: The When, Why and Why Not of the BETA Programming Language, ACM History of Programming Languages ​​III, Conference, San Diego 2007, [3]

Reference

externí odkazy