Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Особенности [ править ]

Технический обзор [ править ]

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

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

Выкройки [ править ]

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

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

классная  точка  {  int  x ,  y ; };

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

точка :  ( #  x ,  y :  @ целое число # )

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

В качестве другого сравнения, процедура в C ++ могла бы иметь вид

int  max ( int  x ,  int  y ) {  если  ( x  > =  y )  {  вернуть  x ;  }  else  {  return  y ;  } }

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

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

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

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

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

(#сделать 'Hello world!' -> PutLine#)

Дальнейшее чтение [ править ]

  • Оле Лерманн Мадсен, Биргер Мёллер-Педерсен, Кристен Найгаард: объектно-ориентированное программирование на языке программирования BETA, [2]
  • Бент Бруун Кристенсен, Оле Лерманн Мадсен, Биргер Мёллер-Педерсен: Когда, почему и почему не о языке программирования BETA, История языков программирования ACM III, Конференция, Сан-Диего 2007, [3]

Ссылки [ править ]

  1. ^ a b Источник: [1] Оле Лерманн Мадсен: Обзор BETA
  2. ^ https://beta.cs.au.dk/

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • gbeta Обобщенная бета- версия