2020. 11. 16. 08:38ㆍ웹서비스
한국어를 제외한 다른 나라 언어를 배운다는 건 쉽지 않다. 언어는 그 나라의 문화이기 때문에 그 나라의 가치관, 사회사상, 세계관 등을 알지 못하면, 현지인만큼 잘할 수는 없다. 몸짓으로 표현하는 시그널 자체도 서로 다른데, 생각을 표현하는 언어가 같을 수는 없다.
우리에겐 어릴 때부터 우리 문화도 아닌데, 강제적으로 배워야 할 영어가 있다. 하나도 버거운데, 전혀 다른 문화의 언어를 강요한다. 마치 영어를 못하면 사회에서 도태될 것 같은 이미지를 사회가 심하게 심어주고 있다. 우리 것이 좋다고 하면서 영어를 마치 우리 것인 양 강요한다. 영어에 한이 맺혀서 죽은 영혼이 떠돌면서 외치는 것 같다. 한 많은 한국이라지만, 우리 것도 아닌 다른 문화의 것에 한이 맺힌 건 이해할 수 없는 현상이다.
내가 영어에 한이 맺혀 비관적으로 생각하는 경향이 있는 것은 어릴 때부터 영어에 대한 스트레스와 영어 하나 못한다고 다른 것도 못한다는 포괄적 인식 때문에 고생한 적이 있기 때문일 것이다.
언어는 학문을 위해 만들어진 것이 아닌, 소통을 위해 만들어진 것인데, 우리는 소통이 아닌 학문을 위한 교육을 받았다. 그래서 더 거리감이 있었던 것 같다. 영어를 학문이 아닌 외국의 흥미진진한 역사와 다양한 문화를 스토리텔링처럼 이야기하면서 배우면 더 흥미롭게 배울 수 있었을 거라는 생각을 해본다.
영어에 한이 맺힌 나로서는 해외의 재미난 영화, 책, 드라마가 있어도 보지 못한다. 누군가 번역을 해줘야 볼 수가 있다. 번역이 되지 않은 원서를 읽으려면 사전은 필수이고, 영문법 사전과 필기도구를 갖춰야 한다. 그냥 책을 읽는 것인데 공부하는 자세가 필요하다. 한 페이지 읽기 조차 힘들고 지쳐 이내 포기하고 만다.
영포자를 위해 친절하게 제공되는 인터넷 번역기는 그야말로 희소식이었다. 처음에는 어설프고 앞뒤 문장도 안 맞았지만, 그나마 익숙한 언어로 나온다는 게 대단해 보였다. 기술 발달에 따라 사진에서도 실시간 번역이 되고, 채팅도 실시간 번역이 돼서 굳이 영어를 하지 않아도 서로가 소통이 되는 시대가 멀지 않았음을 느끼고 있다.
사람과 사람의 소통도 힘든데 컴퓨터와 소통하는 건 거의 미친 짓이다. 컴퓨터는 인간의 언어를 모른다. 오로지 0과 1만 아는 단순한 기계 덩어리이다. 무슨 모스 부호도 아니고 0, 1로 컴퓨터에 명령한다는 것 자체가 이해 불가이다.
고맙게도 똑똑한 사람들이 우리에게 익숙한 언어로 작성하면 컴퓨터에 명령을 해주는 번역기를 만들었다. 이런 번역 하는 것을 Translation이 아닌 컴파일(Complie)이라고 부른다. 컴파일은 ‘수집’이라는 의미를 가지고 있다. 여러 개 파일로 작성한 소스 문서를 수집하고, 번역하는 일을 담당한다. 해외의 좋은 책을 수집하고 번역하는 업무라고 생각하면 쉽게 이해가 될 듯하다.
해외의 좋은 책을 수집하고 번역한 후 우리나라로 출간되기까지 시간은 오래 걸린다. 마찬가지로 컴파일도 수집된 소스 문서가 별로 없다면 상관없겠지만, 소스 문서가 많다면 오래 걸리는 건 마찬가지이다.
번역서는 외국어로 작성된 책을 전문 번역가가 우리나라 언어로 완벽히 번역하여 출간한다. 마치 한국 사람이 쓴 것처럼 자연스럽게 읽을 수 있다. 컴퓨터의 컴파일도 인간이 작성한 소스 문서를 컴퓨터가 알 수 있도록 완벽히 번역하여 컴퓨터에 명령하기 때문에 빠르게 수행이 가능하다. 다만, 소스 문서를 수정하면 매번 컴파일 단계를 거쳐야 하기 때문에 실시간이 힘든 점이 있다.
아무 문서나 컴파일이 되는 것은 아니다. 번역가는 영어전문인데, 중국 책을 번역하라고 하면 못하는 게 당연하다. 컴파일도 번역할 수 있는 소스 문서가 각각 존재한다. 컴퓨터 세계의 언어 중에서 대표적으로 C언어가 있고, JAVA 언어 등이 있다. C언어로 작성한 것을 JAVA 번역가 번역을 할 수는 없다. 반대로 JAVA 언어로 작성된 문서를 C언어 번역가가 번역을 할 수는 없다. 이런 전문 언어 번역가를 컴파일러(Compiler)라고 지칭하며, 번역이 필요한 언어들을 컴파일 언어라고 부른다.
책에서 전자 매체로 넘어가 보자. 해외 영화나 해외 드라마는 번역가가 번역을 한 후에 상영된다. 해외와 동시에 상영하는 시점이 다를 수 있다. 물론 요즘은 동시 상영이 가능하지만, 그래도 유명하지 않은 드라마나 영화의 경우에는 번역이 되길 기다려야 한다. 영화나 드라마는 기다리는 기대감이라는 게 있으니 기다릴 수 있다 하더라도, 실시간 뉴스의 경우에는 기다릴 수는 없다. 특히나 세계적으로 큰 사건이 있다면 바로 번역이 이루어져야 한다.
또한 외국분들과 회의를 할 때도 마찬가지이다. 회의 중에 외국인들이 이야기한 것을 받아 적어서 번역한 후에 번역문서를 읽고 의견을 이야기하고, 번역가가 다시 듣고 외국어로 번역해서 외국인이 번역문서를 읽고.. 이런 식으로 반복된다면 회의는 언제 끝날지도 알 수 없고, 번역하는 동안 알 수 없는 조용함과 어색한 헛웃음만 남발할 것이다. 이럴 때 동시통역사가 필요하다. 동시통역사는 듣는 것과 동시에 해석하여 전달한다. 번역처럼 문장이 완벽하고 깔끔하지는 않아도 맥락을 이해할 수는 있다.
컴퓨터 개발에서도 이와 같은 역할을 하는 것이 있다. 통역사처럼 컴퓨터에서도 인터프리터(interpreter)라고 부른다. 개발자가 소스 코드를 작성하면 바로 번역하고 컴퓨터에 명령을 전달시킨다. 실시간 통역이다 보니, 컴파일보다는 속도가 느린 점이 있다.
통역사는 항상 데리고 다녀야 한다. 번역된 책은 이미 번역된 것이기 때문에 언제 어디서든 들고 다닐 수 있지만, 외국인과 만나는 자리 나 화상회의를 하는 자리에 통역사가 없으면 소통이 불가능하다. 컴퓨터 개발의 통역사도 마찬가지이다. 실시간으로 통역해 주는 도구를 사용하지 않으면 실시간 실행이 불가능하다. 대표적으로 웹 브라우저가 있다.
웹 브라우저에서 띄우는 인터넷 페이지에 소스 코드를 넣으면 컴파일 단계 없이 바로 실행이 된다. 위의 컴파일을 이야기할 때 번역사가 따로 있듯이 통역사도 따로 존재한다. 대표적으로 자바스크립트(Javascript)라는 프로그램 언어이다. - 컴파일에서 이야기한 자바(JAVA)와는 아무런 관계가 없는 남남이다.- 자바스크립트로 사람이 해석 가능한 프로그램 코딩을 하면 웹 브라우저에서는 바로 실행이 가능하다. 이런 동시통역이 가능한 언어를 인터프리터 언어라고 부른다.
컴퓨터 프로그램 개발언어는
컴파일 언어(번역사)와 인터프리터 언어(통역사)로 나눌 수 있다.
Background Photo by Romain Vignes on Unsplash
'웹서비스' 카테고리의 다른 글
프로그래밍 용어 (0) | 2020.12.20 |
---|---|
프로그래밍 개발 방식 (0) | 2020.12.14 |
웹 프로젝트 - 시작편 (0) | 2020.11.08 |
소통은 무엇보다도 중요하다. (0) | 2020.10.10 |
엑셀이 데이터베이스다. (0) | 2020.09.24 |