공백 : 세계에서 가장 비현실적인 프로그래밍 언어를 만나십니까?

폭로: 귀하의 지원은 사이트 운영을 유지하는 데 도움이됩니다! 이 페이지에서 권장하는 일부 서비스에 대한 추천 수수료가 발생합니다.


Whitespace는 영국 더럼 대학교의 Edwin Brady와 Chris Morris가 개발 한 난해한 프로그래밍 언어입니다. 공백에서는 공백, 탭 및 줄 바꿈 만 의미가 있지만 다른 모든 공백이 아닌 문자는 인터프리터에서 무시됩니다..

이것이 이상하고 실용적이지 않다면, 그렇습니다! 사실,’공백의 요점.

약력

브래디와 모리스는 2002 년 말 펍에서 대화하는 동안 공백을 만들 겠다는 아이디어를 얻었습니다. 대부분의 프로그래밍 언어는 공백 문자를 무시하기 때문에 개발자는이를 공백 문자로 간주하지 않고 공백을 만들기로 결정했습니다. 아마도 대부분의 프로그래밍 언어는 술집에서 설계되지 않았으므로 이것은 공백을 독특하게 만드는 또 다른 사실입니다..

공백은 2003 년 4 월 1 일에 릴리스되었으므로 처음에는 지나치게 정교한 April Fool처럼 보였습니다.’농담. 그러나 4 월 1 일 릴리스 날짜는 순전히 우연입니다. 실제로, 출시 날짜는 공식적으로 발표되었을 때 Slashdot에 많은 관심을 끌기 때문에 매우 편리합니다..

풍모

공백은 정수를 지원하는 필수 스택 기반 프로그래밍 언어입니다. 부동 소수점 숫자에 대한 지원은 구현되지 않습니다. 구문에서는 공백 문자, 공백, 탭 및 줄 바꿈 만 의미를 가지며 다른 모든 문자는 무시됩니다. 결과적으로 공백 프로그램은 다른 언어로 작성된 프로그램의 공백 문자 또는 일반 텍스트 파일 내에 포함될 수 있습니다..

이론적으로 프로그래머는 공백 코드를 중심으로 소설을 작성할 수 있습니다. 코드는 여전히 작동하지만 대부분의 사람들은 기본 공백 코드가 아닌 소설 만 볼 수 있습니다..

난해한 프로그래밍 언어 (esolang) 인 Whitespace는 컴퓨터 프로그래밍 언어 디자인의 한계를 테스트하기 위해 만들어졌으며 주류 프로그래밍에는 사용되지 않습니다. 실용적 응용 프로그램이 매우 제한적인 개념 증명 일뿐입니다.’현실 세계에서는 거의 사용되지 않습니다.

그러나 실제로 문자가 아닌 공백을 기반으로 작동하는 프로그래밍 언어를 사용할 수 있음을 입증하도록 설계된 기술 시연자가 분명히 작동합니다. 불행히도, 공백은’그 이상을 위해 설계되었습니다. 실용적인 응용 프로그램을 위해 설계된 프로그래밍 언어가 아니라 정교한 기술 데모였습니다..

통사론

전체 코드뿐만 아니라 공백의 명령은 일련의 공백, 탭 정지 및 줄 바꿈으로 구성됩니다. 예를 들어 tab-space-space-space는 스택에서 상위 두 요소를 산술적으로 추가합니다. 코드는 명령 수정 자 매개 변수 (IMP) 형식으로 작성된 후 작업이 이어집니다. 공백에는 다음과 같은 IMP가 있습니다. “우주” – 스택 조작, “탭 공간” – 산수, “탭-탭” – 힙 액세스, “줄 바꿈” – 흐름 제어, “탭 줄 바꿈” – 입출력.

데이터는 이진수 형식으로, 0은 공백을, 1은 탭을 사용하고, 줄 바꿈이 이어집니다. 예를 들어 space-space-space-tab-tab-space-linefeed는 10 진수로 6 인 이진수 000110입니다..

다음 예제는 1에서 5까지 카운트하고 1에서 5까지의 숫자를 인쇄합니다. “에스” 공간을 나타냅니다, “티” – 탭 및 “엘” – 줄 바꿈 :

SSSTL LSSSTSSSSTTL SLS TLST SSSTSTSL TLSS SSSTL TSSS SLS SSSTTSL TSST LTSSTSSSTSTL LSSSTSSSTSTL SLL LLL

위 코드의 결과는 다음과 같습니다.

12 34 5

공백으로 Hello World를 작성하는 것은 어떻습니까? 글쎄, 그것은 거의 모든 단일 문자를 코딩해야합니다.’d 약 950 개의 공간, 탭 및 줄 바꿈 인스턴스가 생깁니다. 그것’분명히 공백에 대한 소개에 포함시킬 수있는 예는 아니지만,’관심이 있으니 여가 시간이 너무 많아 여기에서 확인할 수 있습니다..

공백 자원

공백을 배우는 데는 아무 소용이 없지만 개념을 좋아하고 개념에 대해 더 배우거나 몇 가지 예를 보려면 다음 리소스를 확인하십시오.

  • 공식 Whitespace 웹 사이트는 오프라인 상태이므로 유일하게 사용할 수있는 옵션은 Wayback Machine 보관 된 컨텐츠를 설명, 튜토리얼 및 실제 Whitespace 프로그래밍 언어의 예와 함께 확인하는 것입니다..
  • Whitelips IDE Online Whitespace 컴파일러를 사용하여 몇 가지 예를 시도 할 수 있습니다. “안녕하세요 월드” 기본적으로 예입니다. 공백에서는 ASCII 코드를 사용하여 각 문자를 하나씩 정의해야하기 때문에 예제의 길이에 놀랄 것입니다..

결론

프로그래밍 언어로서, 공백은 난해한 언어 표준에 의해 얻을 수있는 것처럼 이국적입니다..

그 동안’사람들이 실제로 생산적인 것을 위해 사용하는 프로그래밍 언어가 아니라’영리한 정신 운동이며 최소한 이론적으로 거의 모든 것을 코드로 바꿀 수 있다는 증거로 사용됩니다..

당신이 그것을 시도하고 어떻게 작동하는지 알아 낸 후에는’실제로 공백으로 할 수 있기 때문에’심각한 일에는 사용하지 마십시오. 글쎄, 당신이 죽일 시간이 많고 더 나은 일이 없다면 적어도 아닙니다..

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map