Jump to content

БЕТА (язык программирования)

БЕТА
Парадигма Объектно-ориентированный
Разработано Бент Бруун Кристенсен , Оле Лерманн Мэдсен , Биргер Мёллер-Педерсен , Кристен Нюгаард
Веб-сайт бета .cs .дк
Под влиянием
начало

БЕТА — это чистый объектно-ориентированный язык, возникший в рамках «Скандинавской школы» объектной ориентации, где был разработан первый объектно-ориентированный язык Simula . [ 1 ] Среди его примечательных особенностей — введение вложенных классов и объединение классов с процедурами в так называемые шаблоны.

По состоянию на октябрь 2020 года проект неактивен. [ 2 ]

Технический обзор

[ редактировать ]

С технической точки зрения БЕТА предоставляет несколько уникальных функций. Классы и процедуры объединены одной концепцией — шаблоном . Кроме того, классы определяются как свойства/атрибуты объектов. Это означает, что класс не может быть создан без явного контекста объекта. Следствием этого является то, что БЕТА поддерживает вложенные классы . Классы могут быть определены виртуально, так же, как виртуальные методы могут быть определены в большинстве объектно-ориентированных языков программирования. Виртуальные объекты (такие как методы и классы) никогда не перезаписываются; вместо этого они переопределены или специализированы.

БЕТА поддерживает объектно-ориентированный подход к программированию и имеет комплексные возможности для процедурного и функционального программирования. Он имеет мощные механизмы абстракции для поддержки идентификации объектов, классификации и композиции. БЕТА — это статически типизированный язык, такой как Simula, Eiffel и C++ , в котором большая часть проверки типов выполняется во время компиляции. [ 1 ] БЕТА направлена ​​на достижение оптимального баланса между проверкой типов во время компиляции и проверкой типов во время выполнения.

Основной и своеобразной особенностью языка является концепция шаблонов. В другом языке программирования, например C++ , можно было бы иметь несколько классов и процедур. БЕТА выражает обе эти концепции с помощью шаблонов.

Например, простой класс в C++ будет иметь вид

class point {
    int x, y;
};

В БЕТА-версии тот же класс мог быть представлен шаблоном

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

То есть класс point будет иметь два поля x и y типа целочисленного . Символы (# и #) обозначают шаблоны. Двоеточие используется для объявления шаблонов и переменных. Знак @ перед целочисленным типом в определениях полей указывает, что это целочисленные поля, а не, напротив, ссылки, массивы или другие шаблоны.

В качестве еще одного сравнения: процедура в C++ может иметь вид

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

В БЕТА-версии такую ​​функцию можно было написать с использованием шаблона

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

x y , z и . являются локальными переменными Ключевое слово Enter определяет входные параметры шаблона, а ключевое слово выхода указывает результат функции. Между ними ключевое слово do указывает на последовательность выполняемых операций. Условный блок разделяется символами (if и if) , то есть ключевое слово if становится частью открывающей и закрывающей скобки. Истина проверяется // True внутри блока if. Наконец, оператор присваивания -> присваивает значение в левой части переменной в правой части.

Привет, мир!

[ редактировать ]

Этот фрагмент выводит стандартную строку «Hello world!» :

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

Дальнейшее чтение

[ редактировать ]
  • Оле Лерманн Мэдсен, Биргер Мёллер-Педерсен, Кристен Нюгаард: Объектно-ориентированное программирование на языке программирования БЕТА, Система Мьёльнера: Книги
  • Бент Бруун Кристенсен, Оле Лерманн Мэдсен, Биргер Мёллер-Педерсен: Когда, почему и почему не использовать язык программирования БЕТА, История языков программирования ACM III, Конференция, Сан-Диего, 2007 г., [2]
  1. ^ Jump up to: а б Источник: [1] Оле Лерманн Мэдсен: Обзор БЕТА.
  2. ^ «Домашняя страница языка БЕТА» . beta.cs.au.dk.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 690184319fe2b717cf559995a8aafb64__1679408940
URL1:https://arc.ask3.ru/arc/aa/69/64/690184319fe2b717cf559995a8aafb64.html
Заголовок, (Title) документа по адресу, URL1:
BETA (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)