베타(프로그래밍 언어)

BETA (programming language)
베타.
패러다임객체 지향
설계자벤트 브루운 크리스텐슨, 올레 르르만 마드센, 버거 뮐러 페더슨, 크리스텐 니가르드
웹사이트beta.cs.au.dk
영향을 받은
시물라

베타(BETA)는 최초의 객체지향 언어인 시물라가 발달한 객체지향에서 "스칸디나비아 학교" 내에서 유래한 순수한 객체지향 언어다.[1]주목할 만한 특징 중, 중첩된 클래스를 도입하였고, 절차가 있는 클래스를 이른바 패턴으로 통일하였다.

이 프로젝트는 2020년 10월 현재 활동이 없다.[2]

특징들

기술 개요

기술적 관점에서 BETA는 몇 가지 독특한 특징을 제공한다.계급과 절차는 하나의 개념인 패턴으로 통일된다.또한 클래스는 객체의 속성/특성으로 정의된다.이는 명시적 객체 컨텍스트 없이는 클래스를 인스턴스화할 수 없다는 것을 의미한다.그 결과 BETA는 중첩된 클래스를 지원하게 된다.클래스는 가상 방법이 대부분의 객체 지향 프로그래밍 언어에 있을 수 있는 것처럼 사실상 정의될 수 있다.가상 엔티티(예: 메서드 및 클래스)는 덮어쓰지 않으며, 대신 재정의되거나 전문화된다.

베타(BETA)는 프로그래밍에 대한 객체지향적 관점을 지원하며, 절차적·기능적 프로그래밍을 위한 종합적인 설비를 갖추고 있다.물체의 식별, 분류 및 구성을 지원하는 강력한 추상화 메커니즘을 가지고 있다.베타(BETA)는 시물라, 에펠, C++와 같이 정적으로 타이핑된 언어로, 대부분의 타입 체크는 컴파일 시간에 이루어진다.[1]BETA는 컴파일 시간 유형 확인과 런타임 유형 확인 간의 최적의 균형을 달성하는 것을 목표로 한다.

패턴

언어의 크고 특이한 특징은 패턴의 개념이다.C++와 같은 다른 프로그래밍 언어에서는 몇 가지 클래스와 절차가 있을 것이다.베타(BETA)는 패턴을 사용하여 이 두 개념을 모두 표현한다.

예를 들어, C++의 간단한 클래스는 형식을 가지고 있다.

계급 점을 찍다 {     인트로 x, y; }; 

베타에서 동일한 클래스를 패턴으로 나타낼 수 있음

점을 찍다: (#     x, y: @정수의 #) 

, 점이라고 불리는 클래스는 x와 y의 두 가지 필드를 가지며, 정수는 형식이다.기호(##)는 패턴을 도입한다.결장은 패턴과 변수를 선언하는 데 사용된다.필드 정의의 정수 유형 앞에 있는 @ 기호는 이러한 필드가 정수 필드임을 명시하며, 대조적으로 참조, 배열 또는 기타 패턴이 아니다.

또 다른 비교로서, C++의 절차는 그 형태를 가질 수 있다.

인트로 맥스.(인트로 x, 인트로 y) {     만일 (x >= y)     {         돌아오다 x;     }     다른     {         돌아오다 y;     } } 

베타에서 그러한 함수는 패턴을 사용하여 기록될 수 있다.

맥스.: (#     x, y, z: @정수의 입장하다 (x, y) 하다     (만일 x >= y // 그렇다면 사실         x -> z     다른         y -> z     만일) 퇴장하다 z #) 

x, y, z는 국부적 변수다.입력 키워드는 패턴에 대한 입력 파라미터를 지정하고, 종료 키워드는 함수의 결과를 지정한다.둘 사이에 do 키워드는 만들 작업 순서에 접두사를 붙인다.조건부 블록은 (ifif)로 구분되며, 이는 키워드가 열리고 닫히는 괄호 안에 포함되는 경우입니다.진실은 if 블록 내에서 // True를 통해 확인된다.마지막으로, 할당 연산자 ->는 왼쪽의 값을 오른쪽의 변수에 할당한다.

헬로 월드!

이 조각은 "Hello world!"라는 표준 대사를 인쇄한다.

(# 'Hello world!'->PutLine #)

추가 읽기

  • Ole Lehmann Madsen, Birger Möller-Pedersen, Kristen Nygaard: BETA 프로그래밍 언어의 객체 지향 프로그래밍, [2]
  • Bruun Kristensen, Ole Lehmann Madsen, Birger Möller-Pedersen:BETA 프로그래밍 언어의 시기, 이유 및 이유, ACM 프로그래밍 언어 III, 컨퍼런스, 샌디에이고 2007, [3]

참조

  1. ^ a b 출처: [1] 올레 르르만 마드센:베타 개요
  2. ^ https://beta.cs.au.dk/

외부 링크