Haskell 공부 노트의 공개가 이렇게 늦어진 이유

프로그래밍을 하면서 깨달은 점들을 남겨왔지만, 그걸 공개하기까지 오랜 시간이 걸렸다.
그 이유 중 하나가, 남겨놓은 메모들이 거의 다 일본어, 나머지는 영어로 쓰여있기 때문이다.

연구실에서 공유하려고 했다면 모를까, 내가 개인적으로 남긴 메모들을 일본어로 쓴 이유는 몇 가지가 있다.

생활 환경

일본에서 공부하는 만큼, 평소에 사용하는·입력하는 언어는 한국어가 아니라 일본어이다.
프로그래밍하던 도중에 깨달은 점이 있어서 메모하는데, 한국어로 기록하려면 굳이 한글 입력기로 전환해야 한다.
입력기 전환이 좀 귀찮은 게 아닌지라, 굳이 한국어로 남겨야 하는 경우가 아니라면 일본어로 남기게 된다.

입력기 전환 문제

Windows에서의 입력기 전환 문제

Windows에서 입력기 전환을 꺼리게 되는 이유는, 일본어 입력 환경이 복잡하기 때문이다.
고등학교에 들어와서부터는 영문자 입력에는 QWERTY 배열을 사용하지 않고, Dvorak 배열을 사용하고 있다.
영문자와 한글만 입력하면 되던 시절에는 문제가 없었다. 날개셋 입력기가 있으면 세벌식과 Dvorak 배열의 공존이 가능했기 때문이다.

그런데 일본어를 입력해야 하면서 문제가 발생했다.
일본어는 직접 입력 방식과 로마자 입력 방식 두 가지가 있다.
직접 입력 방식은 훨씬 더 효율적이지만 외우기 어려워서 사용하는 사람은 주변에서 거의 볼 수 없다.
나도 로마자 입력 방식을 사용하는데, 그 바탕이 되는 로마자 입력에 Dvorak을 사용하고 싶어지는 것은 당연한 바람일 것이다.
문제는 Windows에서 기본적으로 제공하는 입력기도, Google 일본어 입력기도 기본적으로 Dvorak 배열을 지원하지 않는다.
열심히 설정하면 가능하기는 한데… 편집 환경이 매우 불편한 노가다 작업이기 때문에 제외.

물론 일본에 사는 Dvorak배열 사용자들도 바보는 아니니까, 그것을 도와주는 프로그램을 개발했다.
DvorakJ라는, keyboard hooking 계열의 프로그램이다.
이게 있으면 일본어와 영문자 입력 양쪽에서 Dvorak을 바탕으로 입력할 수 있다.

문제는, 이게 한글을 입력할 때도 keyboard hooking을 한다는 것이다.
당연히 한글 입력 시에는 hooking되면 곤란하니까, 단축키로 끄면 된다.
끄면 되는데, 결과적으로 입력기을 전환할 때마다 단축키를 두 개나 써야 한다.
보통 귀찮은 게 아니다.

뭐 Windows 상에서는 거의 개발하지 않지만, Windows에서도 남겨야 할 기록이 있더라도 항상 일본어로 기록하게 되는 것이다.

Linux에서의 입력기 전환

사실 Linux가 상대적으로 가장 편리한 환경이다.
이었지만, Linux도 입력기 관리 환경이 시시각각으로 바뀌기에 항상 편할지는 보장할 수 없다….

OS X에서의 입력기 전환

Retina display 때문에, 요즘은 OS X에서만 개발을 하게 되었다.
Linux machine은 terminal로 접속해서 사용하니까 Linux desktop은 안 본 지 오래됐다.

문제는, OS X 또한 입력기 전환이 상당히 귀찮다는 것이다.
Windows와 Linux에서는 일본어 입력기와 한글 입력기가 각각 영문자 입력 상태를 별도로 가질 수 있다. (일반적으로 IME on/off로 표현한다)
덕분에 한글<->영문, 한글<->일본어, 영문<->일본어 전환을 단축키 한 번에 할 수 있다. (거의 발생하지 않는 예외적 경우가 있기는 하지만, 귀찮지 않다)

그런데, OS X는 영문 입력기, 일본어 입력기, 한글 입력기가 별도로 존재한다.
덕분에 가장 최근에 사용했던 입력기 2개는 단축키 한 번에 전환할 수 있지만, 나머지는 두 번, 세 번에 나누어서 해야 하고, 전환하고 싶은 언어 세트를 만들려면 더 귀찮은 전환작업을 해야 해서, 네 번 정도 사용해야 할 필요가 있다.

OS X가 제공하는 한글 입력기 대신 다른 입력기를 사용하면, custom shortcut을 사용해서 한영 전환을 할 수 있으니까,
그걸 일본어 입력기와 같이 사용하는 방법이 있기는 하다.
하지만 잘 안 되는데, 상황 설명이 복잡해서 생략한다…

용어 문제

프로그래밍을 본격적으로 시작한 건 대학교 들어와서, 즉 일본에 와서부터 이다.
당연히 프로그래밍하면서 참고한 자료들, 배운 교재들은 다 일본어였고, 덕분에 프로그래밍 관련 용어는 일본어 아니면 영어로만 알고 있다.
배열이나 변수, 난수 등 몇 개 정도는 한국어로 익숙해진 상태였고, 일본어에서도 같은 용어를 사용하기에 완벽히 모르는 것은 아니지만,
한국어로 표현하려고 하면 가끔 막히는 경우가 있다.
덕분에 프로그래밍을 설명할때는 일본어로 쓰는 게 편하게 느껴진다.

번역 문제

결과적으로 일본어로 남겨진 메모들이 쌓여 있는데, 이걸 다시 한국어로 번역해야 한다.
검증·수정·검토·퇴고의 절차를 거치다 보면, 당연히 메모가 그대로 공개될 일은 없다.
하지만 번역을 하다 보면 언어적 차이로부터 글의 구성을 새로 해야 자연스러운 경우까지 있다.
결과적으로 장애물이 하나 더 있으므로 공개하는 게 귀찮아진 면이 있다.

그래도 슬슬 메모가 상당한 양이 되어가기 때문에 정리해야겠다고 생각되어서 늦게나마 공개하기 시작한다.

Post Revisions:

CC BY-NC-ND 4.0 This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

This site uses Akismet to reduce spam. Learn how your comment data is processed.