HQ9+
위키백과 ― 우리 모두의 백과사전.
HQ9+는 몇몇 종류의 컴퓨터 프로그램을 만드는 데 매우 효과적인, 간단하고 세련된 프로그래밍 언어이다. 클리프 비플(Cliff L. Biffle)이 2000년경에 만들었다. 언어의 이름에서 알 수 있듯이, 이 언어는 네 개의 한 글자 명령어, 즉 H, Q, 9, +를 가지고 있다.
- H 명령은 ‘Hello, world!’를 출력한다.
- Q 명령은 프로그램의 소스 코드를 출력한다. (콰인의 역할을 한다)
- 9 명령은 99 Bottles of Beer on the Wall 노래의 가사를 출력한다.
- + 명령은 가산기를 증가시킨다.
예를 들어서 ‘HHQ+HQ++’라는 코드는 올바른 HQ9+ 프로그램이다. 이 프로그램은 ‘Hello, world! Hello, world! HHQ+HQ++ Hello, world! HHQ+HQ++’를 출력하면서 가산기를 세 번 증가시킬 것이다.
실제로 HQ9+로 유용한 프로그램을 만들 수는 없으며, 난해한 프로그래밍 언어로 분류된다. 각각의 명령들은 새로운 프로그래밍 언어를 배우는 초보자들이 하는 공통적인 과제를 표시한다. 예를 들어서, ‘Hello, world!’라는 문장을 만드는 프로그램은 언어를 처음 배울 때 하는 과제인데, 몇몇 프로그래밍 언어는 이런 일을 하기가 상당히 어렵지만 HQ9+에서는 H 명령으로 해결할 수 있는 매우 기초적인 과제이다. 많은 프로그래밍 언어에서 가장 어려운 과제는 콰인, 즉 자기 자신의 소스 코드를 출력하는 프로그램을 만드는 것이지만 HQ9+에서는 이 또한 자명하다.
HQ9+ 인터프리터는 만들기 매우 쉬우며, 여러 언어로 많이 만들어져 있다. 하지만 HQ9+ 프로그램은 입력을 받을 수 없기 때문에 HQ9+로 HQ9+ 인터프리터나 컴파일러를 만드는 것은 불가능하다.
[편집] HQ9++
HQ9++는 David Morgan-Mar가 만든 HQ9+의 확장이다. 이 언어는 HQ9+와 하위 호환성을 유지하는 객체 지향적인 언어이다. 여기에는 가산기를 두 번 증가시키면서 객체의 새 인스턴스를 만드는 새로운 명령 ++
이 추가되었으며, 정보 은닉의 원리에 따라서 이 객체에 접근하는 것은 불가능하다.
[편집] 바깥 고리
- ((영어)) HQ9+
- ((영어)) HQ9++
- ((영어)) DM's Esoteric Programming Languages