BLISS

BLISS는 William A. Wulf와 동료들이 1969년경 Carnegie Mellon University에서 개발한 시스템 프로그래밍 언어다. 처음에는 DEC PDP-10을 대상으로 하는 운영체제와 컴파일러 같은 시스템 소프트웨어의 작성에 초점을 맞췄으며, 기계어 수준의 제어와...

분류시스템 프로그래밍 언어
설계William A. Wulf, D. B. Russell, A. N. Habermann
개발 기관Carnegie Mellon University
최초 개발1969~1970년
첫 대상DEC PDP-10
패러다임명령형·절차형, 식 중심
타입 모델워드 기반·무형식
대표 구현BLISS-10, BLISS-11, BLISS-32, BLISS-64
주요 아키텍처PDP-10, PDP-11, VAX, Alpha
대표 사용처DEC 시스템 소프트웨어와 VMS
주요 기능매크로, 블록, 코루틴, 예외 처리
역사적 상태주요 상용 활용 종료, 소스와 문서 보존
기술 자료BLISS의 역사

BLISS는 William A. Wulf와 동료들이 1969년경 Carnegie Mellon University에서 개발한 시스템 프로그래밍 언어다. 처음에는 DEC PDP-10을 대상으로 하는 운영체제와 컴파일러 같은 시스템 소프트웨어의 작성에 초점을 맞췄으며, 기계어 수준의 제어와 고수준의 블록·식 문법을 결합하는 방향으로 발전했다. C 언어가 널리 보급되기 이전에 실제 시스템 소프트웨어를 작성하기 위해 고안된 대표적인 언어 가운데 하나다.[1]

BLISS는 명령문을 기본 단위로 구분하는 많은 언어와 달리 식 중심의 구성을 중요하게 다룬다. 블록과 조건, 계산 결과가 값이 될 수 있으며, 프로그램은 메모리 주소와 기계 워드에 직접 대응하는 데이터를 다룬다. 초기 언어에는 일반적인 강한 정적 타입 구분이 없었고, 프로그래머가 저장 구조와 값의 의미를 명시적인 연산으로 조작하도록 설계되었다. 매크로, 코루틴과 예외 처리 등 시스템 프로그램을 구성하기 위한 기능도 제공했다.

Digital Equipment Corporation(DEC)은 BLISS-10과 BLISS-11을 발전시키고 1970년대 중반 VAX 시스템을 위한 BLISS-32를 주요 시스템 구현 언어로 채택했다. 그 뒤 DEC의 컴파일러·시스템 유틸리티와 VMS 관련 프로그램 상당 부분이 BLISS로 작성되었으며, Alpha 아키텍처에 대응하는 32비트·64비트 구현도 만들어졌다. 이러한 활동은 언어가 대학 연구에 머무르지 않고 상용 운영체제 개발에 사용되었다는 점을 보여준다.[2]

BLISS와 C는 시스템 프로그램에 필요한 효율적인 기계어 생성과 메모리 제어를 중시하지만, 자료형과 식의 의미 및 언어의 발전 계보가 다르다. BLISS의 설계와 최적화 컴파일러 연구는 시스템 프로그래밍 및 컴파일러 최적화 연구에서 의미가 있으며, PDP·VAX·Alpha 시대 DEC 소프트웨어의 코드를 이해하는 데 중요한 역사적 언어로 남아 있다.

역사

CMU에서의 개발

BLISS-10

DEC 채택

VAX와 Alpha

언어 설계

식 중심 계산

블록과 유효 범위

시스템 프로그래밍 모델

메모리와 자료

워드·주소

무형식 모델

문법

함수와 식

조건과 반복

매크로

코루틴

컴파일러

최적화

대상별 코드 생성

주요 방언

BLISS-10과 BLISS-11

BLISS-32

BLISS-64

DEC 시스템과의 관계

영향과 보존

관련 문서

  1. BLISS — 시스템 프로그래밍 언어 논문 ↩
  2. Ronald F. Brender — BLISS 언어의 역사 ↩