Skip to content
 

유니코드 개발에 대한 선입견

미니엠에스엔을 오픈한지도 오래됐지만 근본적으로 해결못한 유니코드 문제를 개선하기 위해서 드디여 유니코드 작업에 돌입했다.

안정성을 기하기 위해서 기존의 소스를 최대한 활용을 하고 있지만 거의 재개발이나 다름없는 작업이 되고 있는거 같다.

왜 처음부터 유니코드로 하지 않았나 하는 후회가 막심..ㅠㅠ

국내 엔지니어들은 왜 유니코드로 초기에 개발을 싫어하게(나만 싫어했는지 모르지만) 되었을까?

첫째는 Visual C 를 설치할때 기본으로 Unicode를 설치하지 않는점이다. 그렇게 라이브러리가 많은것도 아닌데 그것도 참 이상한 점중에 하나다.

두번째는 유니코드 셋팅이 기본 mfc wizard에 포함되어있지 않다.
물로 eVC(embeded Visual C)에서는 기본적으로 유니코드만 지원되다 보니 자동으로 유니코드가 설정되 있기는 하지만 일반 vc에는 셋팅을 손으로 해야 된다.
vc6.0 이 워낙에 친숙해서리 이후버젼은 몇번 쓸려고 하다가 화면이 정신사나워 지우고 지우고 지금도 역시 6.0에 만족하고 있다.

컴파일에서 _UNICODE 를 define 해줘야 하고 링크에서도 wWinMainCRTStartup 를 entry에 넣어줘야 한다. 이것도 이해가 안돼는 부분중에 하나이다.

세번째는 유니코드로 꼭 개발을 해야할 이유가 없다는 점이다.
한글이라는 특수성을 가지고 있지만 역시나 기존에 2바이트 체계에 워낙에 익숙해져있어서 아주 특별한 프로그램을 사용하기 전에는 유니코드에 대해서 문외한이 많다.

그럼 유니코드가 도데체 왜 이리 멀기만한것일까?
단순히 생각하면 전세계 통합되는 코드니까 한번만 배우면 전세계 공용으로 사용할 수 있는 코드라서 편하기도 하고 좋을텐데.

요즘은 DB에서도 unicode를 지원하는게 대부분이고 한데도 아직도 유니코드에 대한 개발자의 선입견은 높은 벽인거 같다.

그나마 php나 db같은것에서는 단순 셋팅만으로 처리가 가능해서 유니코드니 머니 그리 고민을 안해도 무방하지만 c로 프로그램하는 사람 입장에서는 매우 어려운 문제인건 사실이다.

요즘들어서 c로 개발을 하는 분야가 워낙에 좁고 특수하다보니 굳이 유니코드를 하지 않아도 크게 불편을 느끼지 못하는것도 하나의 이유인거 같다.

메일, 메신저와 같이 외국과 데이타 자제를 호환해야 하는 문제가 직접적으로 부딛히지 않고서는 쉽게 다가가기 어려운 코딩기법인거 같다.

나역시 몇년을 미루고 미뤘던 유니코드 코딩에 드디어 손을 대기 시작했으니 다른사람역시 다를바 없으리라는 생각도 들고…ㅠㅠ

이번에 미니엠에스엔을 수정하는 가장 큰 이유는 중국과 일을 하게 된것이다. 닉네임이나 입력상에 한자를 입력하면 깨지는 현상이 발생해서 더이상 미루지 않기로 했다.

잔잔한 버그들도 아직까지는 많이 남아있고 사실 유니코드로 개발을 한다고 해서 프로그램이 더 멋있어 지는것도 아니지만 minimsn2.0을 만들기로 결정하였으니 이왕 수정하는판에 꼭 수정했으면 하는 기능은 댓들달아주시기 바랍니다.

앞으로는 화면있는 프로그램은 꼭 유니코드로 짜야겠다는 마음가짐도 함께^^

Leave a Reply