BETA

BETA는 1975년부터 스칸디나비아의 객체 지향 언어 연구자들이 개발한 객체 지향 프로그래밍 언어다. Simula에서 발전한 객체와 클래스의 개념을 보다 일반적인 추상화 구조로 통합하는 것이 핵심 목표였으며, Kristen Nygaard, Ole Lehrmann Madsen, Birg...

분류객체 지향 프로그래밍 언어
설계 시작1975년
주요 설계자Kristen Nygaard, Ole Lehrmann Madsen, Birger Møller-Pedersen, Bent Bruun Kristensen
기술 계보Simula, DELTA
패러다임객체 지향, 절차형, 함수형
타입 시스템정적 타입, 강한 타입 검사
핵심 추상화pattern
관련 구조subpattern, virtual pattern, pattern variable
실행 모델객체와 코루틴·동시 실행
구현·환경Mjølner System
주요 용도언어 연구, 객체 모델과 시스템 설계
개발 상태역사적 연구 프로젝트
공식 자료BETA Language

BETA는 1975년부터 스칸디나비아의 객체 지향 언어 연구자들이 개발한 객체 지향 프로그래밍 언어다. Simula에서 발전한 객체와 클래스의 개념을 보다 일반적인 추상화 구조로 통합하는 것이 핵심 목표였으며, Kristen Nygaard, Ole Lehrmann Madsen, Birger Møller-Pedersen와 Bent Bruun Kristensen 등이 설계 과정에 참여했다. 객체 지향 프로그래밍과 더불어 절차적·함수적 계산을 지원하고, 모델링·시스템 설계와 언어 추상화 연구에 활용되었다.[1]

BETA의 가장 특징적인 언어 구성은 pattern이다. 다른 언어에서 클래스, 함수, 프로시저, 코루틴 또는 작업 형태로 표현되는 추상화를 하나의 공통적인 구성 원리로 다루려 한다. pattern은 객체의 속성과 동작, 인수와 반환 값, 실행 내용을 기술할 수 있고, subpattern이나 virtual pattern으로 이를 확장·특수화할 수 있다. 일반적인 상속보다 다양한 추상화 구조를 통일된 문법으로 기술하려 했다는 점이 중요하다.

BETA는 정적 타입과 강한 타입 검사를 제공하면서도 객체의 동적 결합과 중첩, 가상 pattern을 지원한다. 언어가 제시한 설계 방향은 클래스와 메서드를 서로 완전히 별개의 구성으로 취급하는 대신 공통적인 추상화 모델에서 도출하는 것이다. 코루틴과 준병렬(quasi-parallel) 실행도 객체 모델에 포함되어, 데이터를 저장하는 수동적인 객체뿐 아니라 실행 흐름을 표현하는 객체를 구성할 수 있었다.[2]

BETA는 Mjølner System 등의 개발 도구와 함께 연구되었고, 1980~1990년대 객체 지향 언어의 의미론과 추상화 설계에 영향을 주었다. 오늘날의 대규모 응용 소프트웨어 시장에서 널리 사용하는 주류 언어와는 다른 역사적 위치에 있지만, 데이터·계산·동시 실행을 통일된 추상화로 표현하려는 설계는 객체 지향 프로그래밍 언어를 비교하는 데 중요한 사례다.

역사

Simula와 DELTA

BETA 프로젝트 출범

Mjølner System

설계 철학

객체 지향 추상화

하나의 통합된 패턴

언어 구조

pattern

subpattern

virtual pattern

pattern variable

객체와 타입

객체 생성

강한 타입 검사

중첩과 상속

실행 모델

프로시저와 함수

코루틴

동시성

컴파일러와 개발 환경

Simula 및 다른 언어와의 관계

연구 성과

관련 문서

  1. Aarhus University — BETA 추상화 연구 ↩
  2. BETA Language FAQ ↩