한글로 Io 프로그래밍

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

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

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

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

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

오픈소스 커리큘럼이 있다면

오늘 SoftExpo 2005 부대행사로 열린 오픈소스 데스크탑 컨퍼런스의 부대행사로 (-.- 여러겹;;) OSS 커미터 원정대 모임이 있었습니다. 흐흐흐. 오랜만에 강남 가려니 어찌나 먼지;; 가급적이면 앞으로 강남 모임은 삼가해야하겠다는 생각이 흐흐;;

여러 얘기가 오가는 도중에, 오픈소스 프로젝트에 참가하는 방법을 대학 커리큘럼에서 가르치는 곳은 없냐는 얘기를 어느 분이 꺼내셔서 머디 먼 집에 돌아오는 길에 멍하니 생각해서 실라버스로 한번 만들어봤습니다. 🙂 (시험 전날이라 별게 다 재미있다-.-)

과목명: 오픈소스개발실습

  • 기본정보: 3학점, 주2시간 오프라인 강의
  • 수강대상: 컴퓨터과학전공 2학년(2학기)
  • 수업목표 및 개요: 오픈소스 개발은 비교적 쉽게 참여할 수 있으면서도 여러가지 형태의 진보된 개발 방법을 습득하고 연습할 수 있는 좋은 기회이자, 흥미를 느끼고 지속적으로 기여하는 경우 많은 경험을 할 수 있다. 일반적인 오픈소스 프로젝트들에 여러 형태로 기여하고 참여할 수 있는 방법과 그에 필요한 여러가지 기술들을 소개한다. 그리고, 실제로 관심 있는 오픈소스 프로젝트에 참여하여 실습해본다.
  • 선수과목: 필수/없음, 권장/C프로그래밍,자료구조,시스템프로그래밍
  • 성적평가방법: 중간(실기) 25%, 과제 50%, 퀴즈1회 15%, 수업외 참여 10% (수업기간 내에 있었던 버그보고 등의 관련 메일/URL을 제출)
  • 교재 및 참고문헌: 주교재 없음
  • 수업 일정:
    • 1주 – 오픈소스의 정의와 소개, 개요
      – 수강신청 확인 및 변경
    • 2주 – 개발 과정 개요
      – 일반휴학 접수 마감
    • 3주 – 버전 컨트롤 시스템: CVS와 Subversion 실습
    • 4주 – 버그 트래킹 시스템: Bugzilla, Trac, GNATS, 메일로 보고하기 실습
    • 5주 – 오픈 소스 라이선스
    • 6주 – 오픈 소스의 특징적 버그 추적 기술, 패치 제출, 스타일의 관례
      – 학기 1/3선, 퀴즈
    • 7주 – More 관례: 빌드, 배포, 버전, 문서화, 기여자 참여 과정, 번역 등
    • 8주 – 중간고사: (실습 시험) 버그 추적, 패치 제출, follow-up
      – 학기 1/2선
    • 9주 – 사례연구: 주요 오픈소스 프로젝트 2가지, 소규모 오픈소스 프로젝트 2가지
      – 수강철회기간, 졸업신청 및 연기신청
    • 10주 – 프로젝트 시작 안내 및 진행 방법 설명
    • 11주 – 진행 상황 발표: 대상 프로젝트 선정과 간단한 프로젝트 소개, 작업할 내용 소개
      – 학기 2/3선
    • 12주 – 진행 상황 발표 및 아이디어 교환: 작업할 내용의 1차 패치를 버그트래커에 제출한 후 그 내용을 소개 (11주 과제)
    • 13주 – 진행 상황 발표: 다른 사람의 패치들에 follow-up한 다음에 개선된 패치를 제출한 후 그 내용을 소개 (12주 과제)
    • 14주 – 진행 상황 발표: 11주에 제출한 자기의 패치에 대한 가급적이면 최종판의 개선된 버전을 제출한 뒤 소개 (13주 과제)
    • 15주 – 프로젝트 최종평가: 자신이 제출한 패치를 적용한 프로그램 스냅샷과 가상의 릴리스 어나운스를 만들어서 제출.
    • 16주 – (없음)
      – 기말고사 기간

으흐흐… 뭐 프로그래밍 실습 같은 비슷한 과목을 대체하는 형태도 좋고.. 그런대로 해볼만 할 것 같기도 해요 =3=33

마지막 채플

저희 학교에서는 졸업하기 위해서 채플을 4학기 이수하도록 되어있습니다. 출석만 하면 이수가 되는 것이지만, 출석을 잘하기가 쉽지가 않아서.. 벌써 학교를 몇년 다니는데도 못 끝내고 있었지요 =.=;;

이번 학기가 마지막으로 4번째 학기였는데, 이번 학기에는 전출을 했기 때문에 오늘 종강 채플이 마지막 애플이었습니다. 학부 재입학을 안 하는 한은 인생의 마지막 채플이라고 생각하니 나름대로 감격스럽고 그렇습니다. -ㅇ-;; 1학년 때는 들어오기 그렇게 싫었던 채플도 나름대로 뭔가 정도 가고 아하하;;

채플이 복학하고 나니 바뀐 것도 제법 있었습니다. 1, 2학년 때에는 좌석도 딱딱하고 노래한다고 일어서라고 그러고 앞에서 연설하는 것도 무척 재미없어서 맨날 들어가서 숙제나 하고 그랬습니다. 그런데, 복학하고나니 대강당이 새단장을 쫙 해서 좌석도 상당히 편해졌고, 프로그램도 신경을 많이 써서 누구에게나 감동을 줄 수 있을 만한 연설들이 많았습니다.

지금 생각나는 것으로는 청소년 위원회의 최영희 위원장의 강의가 가장 인상 깊었는데, 30년 넘게 노동운동과 양성평등운동을 하시던 분이라 그런지, 경험에서 우러나오는 여러가지 이해하기 쉬운 사례들을 들려줘서 지금까지는 그냥 막연하게 알고 있었던 양성평등에 대해 보다 넓게 이해할 수 있었습니다. 옛날에 매일 전경들이랑 싸우던 학생운동 동료분이 지금은 아들이 전경이 되어서, 곧 있을 농민 상경 시위 때문에 잠을 못 이루고 걱정을 하더라는 얘기도 정말 와닿았구요.. 상대방을 이해하기가 그렇게 쉽기도 하구나 생각을 했습니다. 🙂

그 외에도 주로 방송/언론 관련 동아리 소속 학생들이 나와서 명사들과 대화하는 대화 채플이라는 것도 흥미로웠는데, 제가 들어갔던 시간에는 《하루가 소중했던 사람들》이라는 책을 지은 김혜원 권사님이 오셨었습니다. 사형수 교화는 정말 대부분의 사람이 이해하기가 쉽지 않은 굉장히 어려운 것인데, 대화에서 우러나오는 30년동안의 경험들을 들으면서 나름대로 여러가지 인간적인 감동들을 얻을 수 있었습니다. 집안에서 아드님과 가사에 대한 얘기를 하는 것도 재미있었구요.. 🙂 묵묵히 가사를 맡으시는 어머님들도 속으로 가사를 싫어하면서 가족들을 원망하는 마음도 있다는 것을 알게 되어서 지금이라도 알게돼서 다행이라는 생각이 들었습니다. 또 하나 대화 채플에서 흥미로웠던 것은, YBS에서 나온 학생이 2학년인데도 굉장히 말을 빠르게 하면서도 조리있고 귀에 잘 들어오게 한 것이었습니다. 흐흐 나도 말을 좀 잘 했으면 좋겠네 하는 생각이 깊게 들었습니다.;;

채플은 나름대로 강제로 종교행사에 참가시킨다는 비난을 받기도 하지만, 저야 뭐 병특 하는 동안에 다른 사람과 잘 어울리는 것에 대한 훈련을 많이 받아서 이제 별 불만에 없게 되었습니다. –;;;; 채플이 끝나서, 후련하기도 하고 섭섭하기도 하지만.. 결코 다시 듣는 일은 없기를;;; -O-