한글로 Io 프로그래밍

요즘 Io로 시간날 때 이것 저것 장난치며 놀고 있는데, 모든 것이 다 교체가 가능하다는 말에, 한글로 프로그래밍도 제법 가능할까 하는 생각이 들어서, 한번 쑥 바꿔봤습니다. 흐흐. 우선, 기본적으로 Io는 한글이 식별자로 쓰이지 못하기 때문에 패치를 해야하는데, IoLexer.c에서 글자 읽는 부분을 패치를 했습니다. (아직은 임시로 테스트해보기 위한 흉악한 패치입니다. =3)

그래서 이제 코드가 어떻게 보일지 무척 궁금해서 얼마 전에 코드 레이스 관객 문제를 Io로 풀었던 것을 고쳐 봤습니다. 우선, 원래의 Io코드는 이렇게 됐습니다. (창준형이 수정해 줌)

이제 한글로 프로그래밍하려면, 기본 객체들이나 메쏘드들 이름을 일일이 바꾸는 초기화 루틴이 필요한데, 그 부분을 이렇게 넣어 봤습니다.

번역은 대충 일단 간단하게만.. 흐흐;; 그러면 위의 개미수열 소스가 이렇게 됩니다.

이히히. 아무래도 대/소문자 구분이 없다보니 약간 코드가독성이 떨어지는 것 같기도 하고.. 한데, 나름대로 교육용 언어로는 괜찮을 것 같기도 하고… 띄어써야 할 부분이 문법과 다른 게 좀 거시기하고… (애매하군요 -.-;;)

7 thoughts on “한글로 Io 프로그래밍”

  1. Object/Lobby forward랑 Number에 메쏘드(자기자신을 리턴해도 되고 Ordinal/서수라는 객체를 리턴해도 되고) 추가하는 걸 쓰면

    > 반복글자 := 자신 의(0)
    > 입구 인자 의(0)

    > 반복글자 := 자신_에서(0 번째)
    > 입구 인자_에서(0 번째)

    로 바꿀 수 있을 거다. (언더바를 빼고 되게 할 수도 있겠지)

    예컨대,

    Number th:=method(self)

    list(10,20,30,40,50) at(4 th) ==> 50

  2. 근데 영어 코드를 국어 코드로 그냥 옮기는 것보다 그 추상차원(영어 설명을 한글 설명으로)에서 먼저 옮기고 나서 그걸 코드화하는 것이 더 좋을지도 모르겠다.

    피터 노빅의 Rule of English Translation이라고 있는데:

    To insure that you say what you mean:
    1. Start with an English description of the algorithm
    2. Write the code from the description
    3. Translate the code back to english
    4. Compare 3 to 1

    여기서 English를 Korean으로 바꾸면 우리말에도 적용되겠지.

  3. 아뉘… 이런 걸로 장난치며 논단말이야!!!
    “정신차려.. 아직 지구는 멸망하지 않아!!”

    암튼, 교육용 언어로 한글의 사용은 많이 고민해봐야 할 문제인거 같아. 🙂

  4. 역시 학교를 다니시니..
    뭔가 친분이 많은 분들과의 소통이 활발한듯해여..
    인간관계도 좋으신 퍼키님이시라니.. 대단~

  5. 우리말로 뭔가 해보려고 하시는게 좋군요.

    어느분이 그러더군요 평소에 우리말로 된 낱말을 모아서 글을 쓸 때 주욱 쓰는데 한 700개쯤 쓰니까 쓴 낱말 또 쓰고 또 쓰고 계속 반복 되더랍니다.

    그래서 결국 글쓰기를 그만두고 낱말공부를 하기로 했다고 합니다.

    이럴때 요긴하게 책상에 두고 두루두루 열어볼 책이 있으면 참 좋겠지요.

    그런때 생기면 참고할수 있도록 몇개 적습니다.

    —-
    우리말 갈래사전 —한글 문화원—

    새 우리말 갈래사전 —서울대학교 출판부—

    겨레말 갈래 큰사전 —서울대학교 출판부—

    겨레말 갈래 용례사전 —서울대학교 출판부—

    겨레말 갈래 전자사전 —?—인터넷시대에 맞춘 사전
    이라고 하며 아직 출판은 안됨 —

    —이 밖에는 좋은 낱말을 찾아쓰는데 쓸모있는게 북한에서 나온 “조선말 대사전”이 헌책방같은데 보면 있을겁니다.

Comments are closed.