- 다양한 주제에 대해 자유롭게 글을 작성하는 게시판입니다.
Date 17/01/09 05:44:04
Name   O Happy Dagger
Subject   Shakespeare, a programming language
오늘 타임라인을 읽다가 moira님이 쓴 글이 보였어요.

https://kongcha.net/pb/view.php?id=timeline&no=16631

내용은 <만약 헤밍웨이가 자바스크립트로 코딩한다면: 피보나치, 팩토리얼, 행복수, 소수, 메서드 체인에 대한 문학 거장들의 기발한 해법>라는 책에 대한 소개와 더불어 개인적인 경험에 대한 이야기였는데, 그 글을 보면서 생각난게 좀 오래된 프로그래밍 언어중에 하나로 Shakespeare라는 프로그래밍 랭귀지예요. 이 언어는 실재로 코딩을 위한 언어라기보다는, 프로그래밍 언어가 어느정도까지 변형 혹은 그 폭이 될 수 있는가를 보여주는 언어인데요. 코딩을 하고나면 마치 희곡을 쓴 것 같은 느낌이 듭니다. 90년대 초에 나와서 컴파일러까지 개발이 되어 있어서 컴파일을 해 보고 싶으시면 sourceforge에서 컴파일러를 다운 받아서 해 보시면 될꺼예요.

http://shakespearelang.sourceforge.net/report/shakespeare/

위의 링크에 보면 예제가 있는데, 세익스피어로 소수를 찾는 프로그래밍을 하면 아래와같이 된다고 합니다. 엄청길고 쓸모없어보이지만... 약간의 문학적 향취가 느껴지기는 하나요???

Prime Number Computation in Copenhagen.

Romeo, a young man of Verona.
Juliet, a young woman.
Hamlet, a temporary variable from Denmark.
The Ghost, a limiting factor (and by a remarkable coincidence also
        Hamlet's father).


                    Act I: Interview with the other side.

                    Scene I: At the last hour before dawn.

[Enter the Ghost and Juliet]

The Ghost:
You pretty little warm thing! Thou art as prompt as the difference
between the square of thyself and your golden hair. Speak your mind.

Juliet:
Listen to your heart!

[Exit the Ghost]

[Enter Romeo]

Juliet:
Thou art as sweet as a sunny summer's day!


                    Act II: Determining divisibility.

                    Scene I: A private conversation.

Juliet:
Art thou more cunning than the Ghost?

Romeo:
If so, let us proceed to scene V.

[Exit Romeo]

[Enter Hamlet]

Juliet:
You are as villainous as the square root of Romeo!

Hamlet:
You are as lovely as a red rose.

                    Scene II: Questions and the consequences thereof.

Juliet:
Am I better than you?

Hamlet:
If so, let us proceed to scene III.

Juliet:
Is the remainder of the quotient between Romeo and me as good as
nothing?

Hamlet:
If so, let us proceed to scene IV.
Thou art as bold as the sum of thyself and a roman.

Juliet:
Let us return to scene II.

                    Scene III: Romeo must die!

[Exit Hamlet]

[Enter Romeo]

Juliet:
Open your heart.

[Exit Juliet]

[Enter Hamlet]

Romeo:
Thou art as rotten as the difference between nothing and the sum of a
snotty stinking half-witted hog and a small toad!
Speak your mind!

[Exit Romeo]

[Enter Juliet]

                    Scene IV: One small dog at a time.

[Exit Hamlet]

[Enter Romeo]

Juliet:
Thou art as handsome as the sum of thyself and my chihuahua!
Let us return to scene I.

                    Scene V: Fin.

[Exeunt]



2


    기쁨평안(FTHR컨설팅)
    오오오오 신기하네요
    O Happy Dagger
    첨 보고나서 정말 신기했어요. 지금도 신기하네요.
    기아트윈스
    ㄷㄷㄷㄷ 신기신기.
    O Happy Dagger
    저도 신기...
    와 넘 이쁜 언어예요. 넘나 이쁘고 또 넘나 잉여잉여한 기운이 많아 보이는..ㅋㅋ 90년대의 여유가 느껴진다고나 할까요.
    탐라에 가볍게 쓴 글에다 이렇게 멋진 응답을 해주셔서 감사해요. :D 오래된 의문의 벽이 조금 부서진 것 같아요. 역시 사람은 배워야...
    Open your heart/ Speak your mind 이런 대사들도 뭔가 목적을 가진 명령어 같아 보이는데 무슨 뜻일까나...
    O Happy Dagger
    뭐... 뭔가 프린트하라는게 아닐까 싶은데. 저도 명령어를 볼 생각을 해본건 아니래서요. ㅎㅎ...
    MagnaDea
    저런 류 언어들을 esolang(esoteric programming language)이라고 하는데, 생각보다 어마어마하게 많습니다. (그리고 지금도 꾸준히 생겨나고 있습니다.)
    CS 학부에서 compiler 수업을 듣다보면 간단한 언어를 만드는게 생각보다 어렵지 않다는 것을 알게 되고, 잉여력 넘치는 덕후 들은 자신의 입맛에 맞는 언어들을 한번쯤은 만들어보고 싶어하죠.

    esolang wiki(https://esolangs.org/wiki/Main_Page)에 가보시면 세상에 잉여로운 CS 덕후들이 만든 esolang들의 리스트를 보실 수 있습니다.
    O Happy Dagger
    학부때 컴퓨터쪽 친구들 컴파일러 수업들을때면 학기프로젝트로 컴파일러 만들어서 내곤 하더라고요.
    목록
    번호 제목 이름 날짜 조회 추천
    4692 기타. 19 삼공파일 17/01/25 5627 8
    4683 기타Nick Cave & Kylie Minogue - Where The Wild Roses Grow O Happy Dagger 17/01/24 5811 1
    4680 기타. 10 삼공파일 17/01/23 4947 1
    4679 기타고소하면 제가 돈을 받을 수 있나요? 14 사슴도치 17/01/23 7249 16
    4671 기타아마추어 할머니 화가의 성공적인 뻘짓 22 은머리 17/01/21 5194 1
    4654 기타Filthy 15 4 O Happy Dagger 17/01/19 6752 0
    4645 기타[불판] 오늘 저녁 스타크래프트 빅매치!! 이영호vs이제동 156 김치찌개 17/01/17 8988 2
    4644 기타낭만닥터 김사부 5 김치찌개 17/01/17 3647 0
    4641 기타as tears go by 2 O Happy Dagger 17/01/17 5219 2
    4635 기타On Reading Dictee 2 O Happy Dagger 17/01/16 4549 2
    4633 기타kilkelly 4 O Happy Dagger 17/01/16 3957 0
    4615 기타Ms. Hannigan... 11 O Happy Dagger 17/01/13 4674 7
    4602 기타푸코, 데리다, 들뢰즈... O Happy Dagger 17/01/12 4456 2
    4600 기타[퀴즈] O링의 크기를 알아맞히는 법 42 April_fool 17/01/11 11999 0
    4596 기타A Letter to Rora 11 O Happy Dagger 17/01/11 3902 0
    4595 기타We are the choices we make 6 O Happy Dagger 17/01/11 5097 0
    4594 기타. 41 삼공파일 17/01/11 5645 5
    4588 기타보드게임 소모임 관련해서~ 13 Leeka 17/01/10 4842 0
    4582 기타정모 퀴즈 문제 공개 21 Toby 17/01/09 5402 0
    4579 기타Shakespeare, a programming language 8 O Happy Dagger 17/01/09 5143 2
    4563 기타On Diversity in the English Curriculum 12 O Happy Dagger 17/01/07 4400 1
    4548 기타과부제조기 V-22 오스프리 18 모모스 17/01/06 10176 4
    4542 기타if no one ever marries me 6 O Happy Dagger 17/01/05 4868 5
    4534 기타thy lips are warm. 8 O Happy Dagger 17/01/04 3981 4
    4517 기타. 17 삼공파일 17/01/02 5122 1
    목록

    + : 최근 2시간내에 달린 댓글
    + : 최근 4시간내에 달린 댓글

    댓글