컴파일러(한국형 언어) 제작에 관하여 예전에 생각했었던 적이 있습니다.
기억할 분도 계시겠지만 예전에 "씨앗"이라는 한국형 툴이 있었는데
소리없이 사라져 버린 안타까운 얘기도 있었죠.
과연 "한국형"이라는 것이 프로그래밍에 도움이 될까 하는 생각을 해 봅니다.
전통적으로 절차적 언어에서는 다음을 지원해야 합니다.
1. sequential execution
2. conditional execution
3. iteration
1번은 뭐 보통 세미콜론으로 일련의 수행과정을 나열하는 것이 보통인데
아무래도 한국형 언어라고 하면 세미콜론보다는 "." 가 더 어울리지 않을까 하구요
2번 conditional execution은 쉽게 "if"라고 보시면 됩니다.
간략하게 적어서
C언어 : if (<조건>) <실행문>
Pascal 언어 : if <조건> then <실행문>
등의 문법으로 기존 언어가 이루어 집니다.
이는 영어 문법(if 가 먼저 나오고 조건이 그 뒤에 오는 것)에 준수한 것이고
이것이 만약 한국형로 된다면 철저하게 한글 문법에 맞추어서
<조건> 라면 <실행문> (여기에서 "라면"은 예약어 정도?)
이렇게 되어야 하겠죠?
그런데 이렇게 하는 것이 언어의 BNF 디자인에 효율적일까 하는 의문을 해 봅니다.
("바다가 육지라면"은 괜찮은데 "컵라면 맛있겠다"라는 식의 ambiguity도 생길 것 같네요 ㅎㅎ)
3번 iteration도 그러한 문제가 존재하게 되는데
while (<조건>) <실행문>
이것도 보면 영어의 문법에 준수하는 것입니다.
while i am gone, you must stay here 과 같은 영어 문장을 봐도 알 수가 있죠.
철저하게 한국형으로 문법을 만든다면
<조건> 동안 <실행문>
으로 되어야 하는데 이 또한 언어 디자인 및 translator(컴파일러 or 인터프리터)에
부하를 줄 수도 있다는 생각을 해 봅니다.
지금까지는 절차적 언어의 이슈만을 따져 본 것이고
요즘 언어의 유행인 OOP적인 요소들도 생각을 해 봐야 하는데
과연 국내에서 이러한 연구를 전문적으로 할 수 있는
여건이 되는 기관이나 회사가 있을까 하는의문이 들구요,
설령 좋은 문법을 가지는 언어를 디자인했다고 하더라도
IDE 제작에서부터 언어의 보급등, 관련 산업의 활성화 등의 문제가 산적해 있는데
(C언어는 1970년대에 나와서 90년대가 되어서야 활성화가 되었죠)
과연 정부가 이를 감당할 수 있는 충분한 자본과 시간적 여유와 능력을 가지고 있느냐?
저는 아니라고 봅니다.
게다가 "한글"이라 함은 자칫 글로벌 인터넷 환경에서
"우물안의 한국"으로 스스로를 가둬 버릴 수도 있기 때문에
저는 "한국형언어"의 개발에는 반대를 하는 입장입니다.
비단 "언어"뿐 아니라 한국 고유의 자국업체를 보호하는 듯한 인증제도의 도입 같은 것들을 봐도
자칫 쇄국정책을 보는 듯한 느낌도 들구요.
한국에서는 태권도 시합할 때 "차렷, 경례, 준비, 시작!"합니다.
그런다면 외국에서는? "attention, salute, ready, go!"할까요?
아니죠, 외국에서도 똑같이 "차렷, 경례, 준비, 시작!"합니다.
문화가 뛰어 나면 언어가 자연스럽게 보급이 되게 됩니다.
조선시대에는 중국이 강국이었고 사람들은 "한문"을 배웠었고
지금은 영어권 나라들이 강국이고 "영어"를 배우고 있습니다.
한글이 아무리 뛰어나다고는 하지만
컴퓨터와 인터넷의 근간은 영어로 되어 있음을
현실적으로 받아 들어야 한다고 생각합니다.
에고, 얘기가 길어 졌는데
저는 그냥 반대한다구요. ^^
"컴퓨터"의 순수 한글 용어가 바로 "셈틀"입니다.
그런데 오늘부터 "컴퓨터"라는 용어를 쓰지 않고 "셈틀"이라고 합시다 하면 쉽게 고쳐 질까요?
Assembly를 배우는데 있어서 "Register"라는 용어를 쓰지 않고 "등기부"라고 명명한다면?
|