비의 프로그래밍 언어의 재미(광기)

비의 프로그래밍 언어는 언어 디자인의 규범에 도전하기위한 프로그래밍 언어입니다. 그것은 요점을 만들기 위해 설계된 언어입니다. 요점은 무엇이든 될 수 있습니다:특이한 것을 만들고,정교한 농담을하고,언어를 예술적 표현으로 만들고,프로그래밍에 대한 유망한 아이디어를 테스트하는 도전 그 자체.

이것은 정의에 따라 규칙을 무시하기 때문에 모든 다른 난해한 프로그래밍 언어를 올바르게 분류하거나 구성 할 수있는 쉬운 방법이 없다는 것을 분명히해야합니다. 그러나 우리는 그들 주변의 지역 사회의 더 나은 감각을 얻기 위해 몇 가지 개념과 조직 원칙을 사용할 수 있습니다. 그래서 우리는 사람들이 무엇을 위해 사용하는지 이해할 수 있고,이 정보를 영감으로 사용하여 자신 만의 난해한 언어를 만들 수 있습니다.

몇 가지 유용한 개념

튜링 타핏

튜링 타핏은 튜링 완료,하지만 실질적으로 사용할 수없는 프로그래밍 언어입니다. 튜링 완성 언어는 모든 튜링 머신을 시뮬레이션 할 수 있습니다. 실용적인 측면에서,당신은 그것으로 어떤 프로그램을 쓸 수 있습니다. 이론적으로는 모든 언어가 똑같이 강력하지만 튜링 타핏인 언어는 모든 종류의 프로그램을 작성하는 것을 엄청나게 어렵게 만듭니다. 그렇게 할 수있는 일반적인 방법은 사용 가능한 기호의 수를 줄이는 것입니다:단지 8 자도 안녕하세요 프로그램을 작성하려고합니다.

퀸은 소스 코드의 복사본을 출력으로 생성하는 프로그램입니다. 빈 프로그램이 특정 언어의 유효한 프로그램이더라도 프로그램은 빈 프로그램이 될 수 없습니다. 디스크 또는 메모리에서 소스 코드를 읽는 것도 부정 행위로 간주됩니다. “퀴네”라는 이름은 더글러스 호프스태터에 의해 그의 책에서 만들어졌다. 그래서 퀸의 개념은 난해한 프로그래밍 언어에 고유하지 않지만,그럼에도 불구하고 하나를 쓸 때 극복해야 할 전형적인 첫 번째 도전이다.

코드 골프

코드 골프는 특정 알고리즘을 구현하는 가장 짧은 프로그램을 작성하는 것이 목적 인 경쟁 유형입니다. 이 컨텍스트에서 가장 짧은 소스 코드를 갖는 것을 의미합니다. 바이너리 실행 코드의 크기가 작다는 의미는 아닙니다. 코드 골프를”골프 스크립팅”이라고합니다. 관객 주어진,자주 창조적 인 부정 행위를 장려 프로그래밍에 관한 대회의 모든 다른 종류도 있습니다. 일반적으로 도전을 말하는 것은 많은 난해한 프로그래밍 언어에 대한 동기 부여 요소입니다.

난독 화

난독 화의 개념,즉 메시지의 진정한 의미를 숨기는 것은 분명히 난해한 프로그래밍 언어 또는 일반적으로 프로그래밍에만 국한되지 않습니다. 그러나 그것은 많은 난해한 프로그래밍 언어에서 큰 관련이 있습니다. 특히 당신이 수령인을 잘못 인도하거나 혼란시키기의 더 큰 일반적인 감에서 그것을 예정하는 경우에. 메시지 자체가 중요하기 때문에 메시지를 숨기는 것이 아니라 숨겨진 형태 자체가 목표이기 때문입니다. 이를 달성하는 일반적인 방법은 언어의 기호 수를 최소화하는 것이지만 일반 텍스트 또는 이미지처럼 보이는 프로그래밍 언어를 위장 할 수도 있습니다.

비결정론

청중을 오도하거나 혼란스럽게하는이 더 큰 의미에서 비결정론은 동일한 목표를 달성하는 데에도 사용될 수 있습니다. 비 결정적 언어는 프로그램의 현재 상태가 주어지면 다음 상태를 항상 예측할 수없는 언어입니다. 이 개념은 런타임에 예측할 수없는 조건으로 인해 일반 프로그래밍 언어에서 일부 사용됩니다. 그러나 특정 난해한 프로그래밍 언어,변수를 무작위 화하거나 심지어 명령어 자체를 무작위화하여 극단적으로 이동합니다.

밀교 프로그래밍 언어 그룹

우리가 이미 말했듯이 우리는 모든 밀교 프로그래밍 언어를 구성하는 철저한 방법을 제공 할 수 없습니다. 그리고 누군가가 그것을 찾을 수 있다고하더라도,곧 다른 누군가가 새로운 난해한 프로그래밍 언어를 발명하여 무효화 할 것입니다. 그래서 우리가하려고하는 것은 단순히 비의 프로그래밍 언어의 세계를 더 잘 이해하고 탐구하기 위해 몇 가지 그룹 또는 범주를 제공하는 것입니다.

  • 이 값이 반드시 외부 또는 일반적인 값은 아니지만 객관적인 값을 가진 언어. 그 값을 측정 할 수 있지만,비의 프로그래밍 언어 커뮤니티의 외부에는 의미가 없습니다:기본적인 예는 골프 코드 대회에서 우승하기 위해 설계된 언어입니다. 그러나 더 유용한 종류는 보안 조치를 우회하거나 촘스키 계층 구조의 유형 0 언어를 정의하는 것과 같은 특이한 목표를 달성하도록 설계된 것입니다(참조:투).
  • 사용할 수 없는 언어. 이들은 사용하기 매우 어려운 언어입니다. 이것은 디자이너의 명백한 목적이거나 단순히 디자인 자체의 사고 일 수 있습니다. 사용자는 심지어 몇 시간 동안 그들을 사용하는 재미를 발견 할 수있다. 설계 및 사고에 의해 모두 사용할 수없는 언어를 달성하는 일반적인 방법은 미니멀리즘(브레인 퍽 참조)입니다. 그러나 당신이 사용하는 것이 거의 불가능한 것을 원한다면,당신은 삼항 시스템을 사용하고 다른 것들 중에서도 의도적으로 스스로를 변화시키는 언어와 같은 것을 필요로합니다(말 볼게 참조).
  • 아이디어를 테스트하거나 무언가를 증명하는 언어. 이들은 직접 유용하지 않을 수 있습니다 언어,하지만 그들은 새로운 개념 또는 뭔가를 증명하기 위해 좋은 시험장이다. 예를 들어,프로그램이 2 차원 격자로 배열 된 언어(참조 비펀지)또는 거의 순수한 기능적 언어(참조 언 람다)
  • 예술적 언어. 이들은 어떤 예술적 가치를 갖는 아이디어로 설계 된 언어입니다. 당신은 그들이 효과적으로 테스트 언어 그룹 또는 객관적인 가치를 가진 언어 그룹 중 하나라고 주장 할 수 있습니다. 우리는 다른 범주에 넣어,그들은 프로그래밍처럼 보이지 않기 때문에,하지만 그들은 흥미로운 보는 경향이,당신이 그들을 사용하지 않을 수 있습니다 경우에도. 예를 들어,그들은 추상 미술(피에트 참조)또는 샤크 페레 안 연극(셰익스피어 참조)처럼 보입니다.
  • 농담 언어. 이들은 이상한 유머 감각을 가진 사람들과 함께 발명 된 언어입니다. 말하는 사람 같이:”당신은 농담을 듣고 싶습니까? -그런 다음 결론을 내리기 전에 전쟁과 평화를 읽습니다-우리의 모든 삶은 농담입니다!”. 예를 들어 풍자적 인 언어가 있는데,참조 설명서조차도 농담입니다(인터 칼 참조)

일부 주목할만한 비의 언어

물론 이것은 주목할만한 비의 프로그래밍 언어의 완전한 목록이 아니라,더 겸손하게 그들의 성공 또는 특색에 대한 몇 가지 주목할만한 목록입니다.

베펀지

베펀지의 주요 비의 특징은 프로그램이 2 차원 격자로 배열된다는 것이다. 또한 스택 기반 및 반사 언어이므로 프로그램 자체를 변경할 수 있습니다. 주요 목적은 컴파일러를 만드는 것이 가능한 한 어려운 언어를 디자인하는 것이 었습니다.

이 격자 크기에 80,000,000(25)의 제한을두고 있기 때문에 지금 베펀지-93 라는 원래 버전은,튜링 완료되지 않습니다. 그러나 새로운 버전,라는 비펀지-98,이 제한을 제거하고 완료 튜링해야한다. 비펀지는 균류라고 불리는 다차원 언어의 전체 클래스를 생성했습니다.

비펀지에는 방향을 위,아래,왼쪽,오른쪽으로 제어하는 명령이 있으므로 출력,이진 연산 등에 대한보다 전통적인 명령과 함께 사이클을 만들 수 있습니다.

안녕하세요 단어 프로그램은 다음과 같습니다.

> vv ,,,,,"Hello"<>48*, vv,,,,,,"World!"<>25*,@

브레인 퍽

아마 모든 비의 프로그래밍 언어의 가장 유명한,그것은 그의 극단적 인 미니멀리즘에 대한 주목할 만하다. 사용 가능한 명령의 수와 매우 작은 컴파일러를 갖는 것 모두. 저자가 가장 작은 가능한 컴파일러와 언어를 만들고 싶었 기 때문에 사실 두 번째 조건은 첫 번째에 대한 이유입니다. 저자는 240 바이트 만 사용하는 컴파일러를 만들었습니다. 때로는 나중에 다른 누군가가 단지 100 바이트로 하나를 만들었습니다. 이 목표의 자연스러운 결과는 튜링이 완료되었지만 언어를 사용하기 어렵다는 것입니다. 요컨대,그것은 튜링 타핏입니다.

그것은 때때로 다음과 같은 검열 된 철자법이라고 불립니다.

언어는 입력 및 출력을위한 데이터 포인터와 두 개의 바이트 스트림을 조작하는 8 개의 다른 명령으로 구성됩니다. 또한 루프를 지원합니다. 명령을 나타내는 문자 외에 다른 문자는 주석으로 간주되며 컴파일러에 의해 무시됩니다.

이것은 언어가 어떻게 작동하는지의 예입니다(에소랑어 위키에서 발췌).

Code: Pseudo code:>> Move the pointer to cell2 Set cell2 to 0 << Move the pointer back to cell0 End while

안녕하세요 세계 프로그램은 다음과 같습니다.

++++++++>+>+>->>+<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.

자세한 내용을 확인하려면 해당 위키 백과 페이지 또는 전자 랑 페이지에서 볼 수 있습니다.

인터 칼

인터 칼은 최초의 난해한 프로그래밍 언어가 아니었을 지 모르지만 확실히 최초의 유명한 언어입니다. 몇 살이에요? 그것은 1972 년에 만들어졌으며 첫 번째 구현은 펀치 카드로 만들어졌습니다. 이 언어는 패러디로 의도되었지만 완전히 새로운 것을 프로그래밍 세계에 외계인으로 만들기 위해 고안되었습니다. 이름은 약어 아니다,저자에 따르면:

컴파일러의 전체 이름은”발음 할 수없는 두문자어가없는 컴파일러 언어”이며,이는 명백한 이유로”인터 칼”으로 축약됩니다.”

나머지 인터 칼 참조 매뉴얼(추신 형식)은 무의미하거나 유머러스 한 진술로 가득 차 있습니다. 이것은 그들이 설명하는 언어와 그들이 어떻게 그것을하는지에 대한 것입니다. 예를 들어,이 변수

에 대한 섹션 인터 칼은 16 비트 정수와 32 비트 정수라는 두 가지 유형의 변수 만 허용합니다. 이
은 스팟(. )또는 2 자리(:),각각 1 에서 65535 사이의 임의의 숫자,
포함. 이러한 변수에는 음수가 아닌 숫자만 포함될 수 있으므로 각각의 범위는
값입니다: 0 에 65535 과 0 에 4294967295. 참고:.123 과:123 은 두 가지 별개의 변수입니다. 다른 한편으로,
.1 과.0001 은 동일합니다. 또한 후자는 다음과 같이 쓸 수 없습니다.

이 언어는 또한PLEASE한정자의 사용을 허용한다. 그러나,그것은 또한 이 키워드의 적당한 양의 사용을 요구한다. 그것은 너무 적거나 너무 많이 사용할 수 없습니다,그건 당신이 공손함의 적절한 금액을 표시 할 필요가 말을하는 것입니다. 정말 재미없는 부분은 원래 설명서에 문서화되지 않은 기능이었다이다. 농담 설명서에 대한 농담 설명서는 괜찮을 수 있지만 불완전한 것은 받아 들일 수 없습니다.이 프로그램은 자바 바이트코드 프로그램의 갯수를 카운트하고,스크립트의 메인 형식을 합계냅니다,그리고 확인되지 않은 실행 텍스트 파일을 찾습니다..

DO ,1 <- #13PLEASE DO ,1 SUB #1 <- #238DO ,1 SUB #2 <- #108DO ,1 SUB #3 <- #112DO ,1 SUB #4 <- #0DO ,1 SUB #5 <- #64DO ,1 SUB #6 <- #194DO ,1 SUB #7 <- #48PLEASE DO ,1 SUB #8 <- #22DO ,1 SUB #9 <- #248DO ,1 SUB #10 <- #168DO ,1 SUB #11 <- #24DO ,1 SUB #12 <- #16DO ,1 SUB #13 <- #162PLEASE READ OUT ,1PLEASE GIVE UP

요컨대,인터칼은 매우 정교한 농담입니다. 당신이 그 인내에 대한 창조자를 존경하거나 정신을 의심 할 수 있습니다 농담의 종류,또는 어쩌면 둘 다.

제이스퍽

브레인퍽의 성공은 많은 파생어 언어의 창조에 박차를 가했다. 그러나 가장 주목할만한 것은 제이 퍽입니다.

제이스픽은 적절한 언어는 아니지만 6 자만 사용해야 하는 자바스크립트의 난해한 프로그래밍 스타일에 가깝다. 그 결과 프로그램은 유효한 자바 스크립트 프로그램이며,사실은 악성 코드 탐지와 같은 보안 기술을 우회하기 위해 발명되었다. 그 속성은 코드 난독 화에도 유용했습니다.

자바 스크립트의 모든 표현을 모든 유형으로 평가할 수 있기 때문에 작동합니다. 그래서은 빈 배열을 나타내지 만 앞에+을 붙이면 숫자 0 으로 계산하도록 강제 할 수 있습니다. a과 같은 문자를 얻으려면false등의 값을 조작 할 수 있습니다. 최종 결과는 매우 자세한 언어입니다:alert("Hello World!")에 해당하는 문자는 22948 자입니다.

말볼게

말볼게는 사용이 거의 불가능하도록 특별히 고안된 언어입니다.:

자신의 창조자의 말에 반 직관적 인’미친 작업’,기본 세 산술,자기 변경 코드

를 통해.

사실 저자조차도 그와 함께 작업 프로그램을 작성하지 않았습니다. 첫 번째 프로그램은 휴리스틱 검색 알고리즘을 구현 한 다른 프로그램에 의해 생성되었습니다. 이 언어는 튜링이 완성되지 않았으며 단테 알리기에리의 지옥에 있는 8 개의 지옥의 원인 말레볼게의 철자가 틀렸다는 것을 근거로 한다. 그래서 정말 어떤 구속 품질이 없습니다.

나는 모든 것이 명시 적으로 좌절의 운동이기 때문에 그것을 설명하려고 시도하지 않을 것이다. 그러나 언급 할 가치가있는 주목할만한”미친 작업”이 있습니다:암호화. 이 언어는 삼항 가상 컴퓨터에서 작동해야하며 세 개의 레지스터가 있으며 그 중 하나에는 현재 명령에 대한 포인터가 포함되어 있으며이라고합니다. 명령어가 실행된 후에 있는 값의 모듈로 94 가에 있는 것을 대체한 다음 결과는 암호화 테이블에 따라 암호화됩니다. 지옥에 오신 것을 환영합니다.

어떤 용감한 영혼이 헬로 월드 프로그램을 만들었습니다.

(=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc

피에트

피에트는 프로그램이 피에트 몬드리안 스타일의 추상 미술 회화로 표현되는 언어입니다. 그것은 스택 기반 및 튜링 완료됩니다.

색조와 밝기에 따라 주문 된 18 가지 색상과 흑백이 있습니다. 이 마지막 두 가지는 특별한 의미를 가지며 제어 흐름에 사용됩니다. 프로그램 실행은 방향 포인터와 색상 블록 선택기의 두 가지”포인터”에 의존합니다. 위,아래,왼쪽 및 오른쪽을 가리킬 수 있으며 참조는 왼쪽과 오른쪽 만 가리킬 수 있습니다. 이 두 포인터의 조합은 프로그램의 실행을 제어합니다:기본적으로 다음에 실행되는 색상 블록. 색상 블록의 크기는 정수를 나타냅니다. 색상의 서로 다른 블록 사이의 프로그램 전환,색조와 밝기의 차이가 실행되는 명령의 종류를 결정하는 경우. 명령은 값 출력,곱하기 등과 같은 일반적인 명령입니다.

헬로 월드 프로그램은 특별한 아름다움을 가지고 있습니다.

토마스 쇼흐에 의해 피에트에서 안녕하세요 세계

셰익스피어

셰익스피어는”셰익스피어 연극을 닮은 아름다운 소스 코드”를 갖도록 고안된 언어입니다. 이 언어에는 명령이 거의 없으며 기능적으로 어셈블리 언어와 유사하지만 당연히 매우 장황합니다.

변수는 초기 섹션에서 선언되어야하며 그 이름은 로미오 또는 줄리엣과 같은 유효한 셰익스피어 문자 여야합니다. 이러한 변수는 나중에 팝,푸시 및 입/출력과 같은 작업을 실행하는 스택입니다. 행위 및 장면의 이름은 고토 레이블 및 특정 조건문의 대상으로 작동합니다. 문자,즉 변수를 조작 할 무대에서 호출해야하며 무대에서 한 번에 두 개만있을 수 있습니다.

선은 일반적으로 숫자 상수를 나타냅니다:일부 명사와 형용사는 숫자 값으로 변환됩니다.

Hamlet: You lying stupid fatherless big smelly half-witted coward!Juliet: You are as villainous as the square root of Romeo!

“기억”과 같은 특수 단어 또는”마음을 말하십시오”와 같은 조합은 명령을 수행합니다. 이 명령은 스택 문자에 값을 푸시하거나 현재 변수의 값을 출력하는 것과 같은 일반적인 명령입니다.

조건문은 한 문자에서 나온 질문과 다른 문자에서 나온 답변으로 표현되며,질문의 조건이 참인 경우 어디로 가야할지를 결정합니다.

Juliet: Am I better than you?Hamlet: If so, let us proceed to scene III.

안녕하세요 세계는 셰익스피어 연극만큼 길고 생산적입니다.

The Infamous Hello World Program.Romeo, a young man with a remarkable patience.Juliet, a likewise young woman of remarkable grace.Ophelia, a remarkable woman much in dispute with Hamlet.Hamlet, the flatterer of Andersen Insulting A/S. Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo.Hamlet: You lying stupid fatherless big smelly half-witted coward! You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind! You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer's day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind! You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind. Speak your mind! Scene II: The praising of Juliet.Hamlet: Thou art as sweet as the sum of the sum of Romeo and his horse and his black cat! Speak thy mind! Scene III: The praising of Ophelia.Hamlet: Thou art as lovely as the product of a large rural town and my amazing bottomless embroidered purse. Speak thy mind! Thou art as loving as the product of the bluest clearest sweetest sky and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself. Speak thy mind! Act II: Behind Hamlet's back. Scene I: Romeo and Juliet's conversation.Romeo: Speak your mind. You are as worried as the sum of yourself and the difference between my small smooth hamster and my nose. Speak your mind!Juliet: Speak YOUR mind! You are as bad as Hamlet! You are as small as the difference between the square of the difference between my little pony and your big hairy hound and the cube of your sorry little codpiece. Speak your mind! Scene II: Juliet and Ophelia's conversation.Juliet: Thou art as good as the quotient between Romeo and the sum of a small furry animal and a leech. Speak your mind!Ophelia: Thou art as disgusting as the quotient between Romeo and twice the difference between a mistletoe and an oozing infected blister! Speak your mind!

그것은 비 결정적이며 제약 프로그래밍 패러다임을 따릅니다. 즉,변수가 제약 조건(예:100)의 관점에서 정의된다는 것을 의미합니다. 뭔가 참 또는 거짓). 그것은 튜링 타핏입니다.

의 경우 코스트레이션은 대체 규칙 목록으로 표시됩니다.:

<string>::=<replacement>

이 양식의 특수 형식은 규칙 목록의 입력,출력 또는 결말을 나타냅니다.

언어의 비 결정적 특성은 동일한 문자열에 대해 두 가지 가능한 대체를 표시하여 표시 할 수 있습니다. 예를 들어:

  • a문자열을stupid
  • 로 바꿀 수 있다는 규칙을 작성합니다.you are

프로그램이 실행될 때 문자열a은 두 가지 옵션 중 하나로 대체 될 수 있습니다.

규칙 목록 뒤에 초기 상태를 나타내는 문자열이 옵니다.

유용한 프로그램을 작성하는 것은 어려울 수 있지만,전형적인 안녕하세요 세계는 적어도 비의 프로그래밍 언어의 표준에 의해,아주 쉽고 이해할 수있다.

a::=~Hello World!::=a

언 람다

언 람다는 순수 함수형 언어를 보여주기 위해 고안된(거의)순수 함수형 언어입니다(그리고 아마도 그것이 얼마나 비현실적 일 것입니다). 그것은 조합 논리를 기반으로합니다. 그것은 튜링 완전하고 첫 번째 기능 튜링 타르 핏입니다. 그것은 몇 가지 기능,적용 연산자`(역 인용문 문자)에 의존하며 입력/출력도 지원합니다. 기술적으로는 단일 인수를 가진 함수에서만 작동하지만 다중 인수 함수는 일련의 함수로 변환 될 수 있습니다.

헬로 월드 프로그램은 거의 읽을 수 있습니다.

`r```````````.H.e.l.l.o. .w.o.r.l.di

기타 흥미로운 밀교 언어

푸가는 미디 파일을 소스 코드로 사용하는 언어입니다. 각 노트 사이의 간격은 입력/출력 또는 추가와 같은 특정 기존 명령으로 변환됩니다.

비트닉은 일련의 영어 단어로 구성된 스택 기반 언어이며 공백과 구두점은 무시됩니다. 단어는 게임 스크래블에서 자신의 가치에 따라 기존의 명령으로 변환됩니다.

공백은 탭 및 공백과 같은 공백 문자만 유효하고 다른 문자는 무시되는 농담 언어입니다. 물론 이것은 공백을 무시하는 컴파일러의 일반적인 동작의 역입니다. 이러한 특성을 감안할 때 수개 국어 프로그램,즉 둘 이상의 언어에 유효한 프로그램에서 사용할 수 있습니다. 다른 언어가 파이썬이나 공백이 중요한 언어가 아닌 한.

골프 스크립트는 코드 골프 대회에서 우승하기 위해 설계된 연결 프로그래밍 언어이며 튜링이 완료되었습니다.

눈송이는 인터프리터와 프로그램이 모두 실행될 때마다 수정되는 가역적 인 자체 수정 언어입니다.

프랙트란은 프로그램이 분수의 목록과 초기 숫자인 언어입니다. 나는 그것이 무엇을 확실하지 않다,하지만 위키 백과 페이지를 가지고 있기 때문에 그것은 뭔가.

이오타와 필기는 두 개의 공식 언어이며,각 언어는 가장 간단한 공식 시스템으로 설계되었습니다. 본질적으로 그들은 또한 똑같이 미니멀리스트,튜링 타핏,프로그래밍 언어로 간주 될 수 있습니다. 둘 다 두 개의 기호 만 사용하고 두 개의 작업을 수행합니다. 후계자,라는 좃,또한 입력을 지원합니다/산출.

엔트로피는 제어를 포기한다는 아이디어를 수용하기 위해 고안된 매우 적절하게 명명 된 프로그래밍 언어입니다. 프로그램의 모든 출력은 근사되고 데이터에 액세스 할 때마다 무작위로 수정됩니다. 언어는 원래 프로그램을 수정하지 않으므로 실행될 때마다 출력이 다르지만 초기 상태는 유지됩니다. 데이터의 무작위 화의 호기심 부작용은 술에 취해 엘리자,치료사가 술에 취해 것 같다 고전 엘리자 프로그램의 웹 버전입니다.

모니 첼리는 코미디 영화 내 친구를 기반으로 농담 언어입니다. 일반적인 프로그램은 무의미한 이탈리아어 문구의 시리즈처럼 보인다. 놀랍게도 이것은 영감으로 사용되는 영화도 무의미한 문구를 특징으로하기 때문에 의미가 있습니다. 그것은 광기의 원이다.

요약

비의 프로그래밍 언어의 세계는 미친만큼 흥미 롭다:어떤 규칙이 없습니다,하지만 흥미로운 것들을 많이. 나는 당신에게 당신이 무엇을 기대할 수 있는지에 약간 제정신 창을 준 희망.

이 커뮤니티에 더 많이 알고 싶거나 참여하고 싶다면 에솔랑을 보는 것이 좋습니다. 그 웹 사이트,함께 위키 백과,이 문서에 나와있는 대부분의 예제의 소스입니다. 거기 당신은 또한 난해한 프로그래밍 언어에 대한 아이디어의 목록에서 영감을 찾을 수 있습니다.

마크 추-캐롤의 블로그는 수년 동안 많은 화신에서 흥미로운 것을 발견 할 수 있습니다. 이름 좋은 수학,나쁜 수학에서 알 수 있듯이,그것은 주로 수학에 전념하고 있습니다. 그럼에도 불구하고 병적 프로그래밍(언어)이라는 일련의 난해한 프로그래밍 언어에 대한 많은 분석도 있습니다. 예를 들어,가장 작은 프로그래밍 언어에 전념 한 것을 볼 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다.

Previous post 수제 말린 감귤 바퀴
Next post 피와 초콜릿(2007)