5 minute read

본 글은 2024년 12월 19일에 진행한 쉬운전문용어 포럼에서 발표한 내용을 정리한 것입니다.

내가 자주 보는 유투브 방송 중 “전과자”라는 프로그램이 있다. 이 방송은 연예인 진행자가 전국 대학의 다양한 학과를 방문하여 하루동안 전공 수업을 듣는 식으로 진행된다. 나도 대학에서 학생을 가르치는 입장에서, 다른 학교의 다른 교수님들은 어떻게 수업을 진행하는지도 궁금하고, 해당 수업을 처음 듣는 진행자의 반응도 재미있어서 즐겨 보는 프로그램이다.

그러던 지난 10월 말, 유투브 첫 화면을 장식한 “전과자”의 새 에피소드가 내 눈에 확 들어왔다. “포스텍 컴퓨터공학과” 다른 학교이긴 하지만, 우리 전공 분야가 나온 것은 처음이라 단숨에 손이 갔다. 어떤 수업을 들을까? 또 어떤 반응을 보일까?

재미난 오프닝이 지나가고, 첫 수업이 시작된다. 수업 제목은 “객체 지향 프로그래밍(object-oriented programming)”이다. 강의실에 앉은 진행자는 옆에 앉은 학생에게 묻는다.

옆에 앉은 학생은 수업시간에 배운 대로 교과서적인 설명을 한다.

이를 들은 진행자의 반응이란,

이윽고, 수업이 시작된다. 교수님이 등장한다. “프로그래밍의 역사와 객체지향 프로그래밍 탐구”라는 주제이다. 한 시간동안 수업이 진행되고, 객체지향 프로그래밍 설명이 끝났다. 끝나기전 질문이 있느냐 물었을 때, 진행자는 마지막으로 교수님께 묻는다.

그리고 방송이 끝날 때까지 진행자는 그 질문에 대한 답을 찾지 못한다.

나로서는 굉장히 인상적이고도 익숙한 장면이었다. 바로 20년전 내 대학교 1학년 시절 강의실과 판박이였기 때문이다. 컴퓨터를 전공하고자 들어간 대학이지만 당시 우리학교 공대 1학년이 듣는 과목은 거의 고등학교와 다를 바가 없었다. 국어, 영어, 수학, 물리, 화학, 등등. 그 중에서 한 줄기 전공의 빛이 내리쬐는 수업은 “컴퓨터의 원리”라고 하는 수업이었다. 기대 넘치는 마음으로 신청을 하고 들어간 수업에서 만난 것은 바로 “객체지향 프로그래밍”이었다. 그리고 “전과자” 진행자처럼 한학기 내내 객체지향 프로그래밍이 무엇인지 이해하지 못했다. 부푼 기대를 안고 들어간 첫 전공 관련 수업은 그렇게 밍밍한 시간 속으로 떠내려 가고 말았다.

“객체 지향 프로그래밍”.

이 단어를 처음 들으면 무엇이 떠오르는가? 우선, “객체”라는건 뭘까? 대학교 1학년이었던 나에게는 너무나 생소한 단어였다. (심지어 지금까지도 객체 지향 프로그래밍에서 말고는 들어본 적 없는 단어이다.) 사람들은 보통 모르는 단어를 들으면 비슷하거나 반대되는 단어를 떠올려서 유추해보곤 한다.

“객체? 주체의 반대말 같은데?”

갓 고등학교를 졸업한 내가 대강 짐작한 바는 이랬다.

“그러면 주체는 뭐지?”

그 당시 뉴스에서 자주 본 무시무시한 장면이 떠올랐다.

프로그래밍 배우는 시간에 웬 주체?

그러면 “지향”은 또 뭘까?

“지향? 굳은 의지를 모아서 어딘가를 향하는 거겠지? 이것도 어디서 들어본 것 같은데?”

국정원의 원훈

“국정원? 그러면 다시..?”

굉장히 이상한 수업이라는 느낌이 들었다.

“객체지향 프로그래밍”과 다소 어색했던 첫 만남이 지났지만, 당황스러운 만남은 이게 끝이 아니었다. “정보 은닉(information hiding)?”은 또 무엇인가? 무엇을 감추어야 하는 것일까?

구글에서 “정보 은닉”을 검색한 결과

“추상화(abstraction)?”는 또 뭔 소린가?

구글에서 “추상”을 검색한 결과

깔끔하게 정리해서 보아도 이해하기 어려운 코드를 뭐하러 일그러트리고 피카소 그림처럼 모호하게 만든다는 것인가? 한 학기가 지났지만 이러한 용어는 껍데기 뿐인 소리로만 기억되었고, 진정 “객체 지향 프로그래밍”이 무엇인지는 3학년 쯤 되어서야 제대로 이해할 수 있었다.

나중에 알고보니 이랬다. 옛날 옛적에는 프로그램의 동작을 전체적인 시점에서 통째로 써내려가는 “절차형” 프로그래밍 위주였다. 소프트웨어 규모가 작아서 그냥 동작하는 순서대로 쭉쭉 써내려가도 충분한 경우가 많았고, 고수준 개념(함수 등)을 효율적으로 구현하는 방법을 잘 모르던 때였다. 하지만 시간이 흘러 소프트웨어가 하는 일이 점점 커지고 복잡해지면서, 개념을 깔끔하고 체계적인 코드로 써내려가야만 하는 때가 되었다. 이 때, 프로그램에 등장하는 각 개별 개체의 상태와 동작을 중심으로 전체 프로그램을 구성하자는 개념을 주장한 사람들이 있었다. 그리고 각 개체의 상태 변화를 서술할 때 다른 개체가 몰라도 되는 불필요한 정보는 가리고(information hiding), 핵심만 요약(abstraction)해서 서로 소통하며 계산하는 방법이 바로 그 수업시간에 말한 내용이었다. 궁금하고 아쉽다. 그 때 “개체 중심 프로그래밍”이라고 누가 가르쳐주었다면 어땠을까? 어거지로 일그러트리고 숨기는게 아니고 핵심만 간추리는 것이라고 누가 말해주었다면, 더 일찍 더 깊이 컴퓨터과학의 맛에 빠지지 않았을까?

쉬운 전문 용어로 가르치고 배우는 소박한 공부가 어떨까? 어려운 전문용어는 즐거운 마음으로 그 분야를 배우러 온 사람을 질리게 한다. 헛꾸밈 없이, 과장 없이, 담백하고 직관적으로 공부하려면 첫 만남인 용어가 편안해야한다. 수업을 하다보면 느낀다. 전문 용어가 쉽고 직관적일 때, 나도 모르게 설명하면서 “ㅇㅇㅇ라는 것은 말 그대로”라는 말이 튀어 나온다. 설명하기가 쉽다. 학생들도 첫인상에서 이미 반쯤 먹고 들어간다. 반대로 전문 용어가 그 자체로 이해가 잘 가지 않을 때는 혓바닥이 길어진다. “역사적인 이유로 이러한 이름이 붙었는데, 사실 …”, “ㅇㅇㅇ 라고 해서 ㅇㅇㅇ라는 뜻으로 오해하면 안됩니다.”

우리가 이미 우리 전공에 익숙해서 못느낄 수 있지만, 다른 분야의 용어를 찾아보면 금세 올챙이로 돌아갈 수 있다. 음악 시간에 들었던 쉬운 용어들, “도돌이표”, “당김음”, “돌림노래”, “셋잇단음표”. 과학 시간에 듣던 “얽힘”, “중첩”, “결맞음”, “들뜬 상태”. 모두 첫인상이 친절한 안내자가 아닌가? 해당 분야를 몰라도 쉬운 일상어로 만들어졌기에 다가가기 친숙한 용어.

그에 비해 우리 분야의 많은 용어는 갓 고등학교를 졸업한 학생들에게 좋은 첫인상일까? 예를 들어, 요즘 자주 보이는 용어인 “역공학(reverse engineering 의 흔한 번역어)”, “표현식(expression 의 흔한 번역어)”은 아쉽다. “reverse engineering”의 “engineering”을 과연 공학이라 번역해야하는가? 여기서는 학문으로서 공학을 말하는 것이 아니지 않은가? 그 내용을 이해하고 보면 사실 “거꾸로 분석”, “역추적”이 올바른 의미가 아닐까? “expression”은 왜 “표현식”이라는 이상한 용어로 쓰일까? “express”가 “표현하다”라는 뜻이 있어서 어쩌다 섞인걸까? 그냥 “식”이면 충분하지 않은가? 초중고 수학시간에 수없이 썼던 친숙한 용어를 버리고 새로운 용어를 쓸 이유가 있을까? “최소신장트리(minimum spanning tree의 흔한 번역어)”는 충격적이다. 키가 가장 작은 나무라는 뜻인줄 알았다. 차라리 영어 용어가 더 쉽다. 개념을 알고 보면 별것 아닌데, 가중치를 최소하여 전체를 다 덮는 나무라는 뜻이다. 엄숙함 걷어내고 “최소로 다덮는 나무”라고 했으면 어땠을까? 부드럽고 친숙하고 편안하지 않았을까? 혹자는 용어가 너무 길다고 비판할지도 모르지만, “미니멈 스패닝 트리”나 “최소로 다덮는 나무”나 둘 다 여덟자이다.

오랫동안 이러한 갈증을 갖고 지내던 2024년, 비슷한 갈증이 있는 사람들이 모인 쉬운전문용어 제정위원회에 참여했다. 그 작업물은 여기에 모여있다. 위원회의 취지는 여기서 볼 수 있다. 혹자는 말한다.

취지는 좋은데요… 우리가 영어로 논문쓰고 외국가서 영어로 발표하고, KAIST는 심지어 영어로 강의를 하는 데 쉬운전문용어를 쓸 일이 없어요.

영어로 소통을 잘해야하는 것은 당연하다. 하지만 쉬운 용어로 소통해야 할 상황, 쉬운 용어가 빛을 발휘할 상황은 아주 많다.

  • 강의실 안에서: 영어 강의 중에도 한국인 학생들을 위해 우리말로 설명을 덧붙일 때가 많다. 그 때 쉬운전문용어는 안성맞춤이다. “여러분, 제가 방금 말한 게 우리말로 하면 ㅇㅇㅇ이에요. 말 그대로 ㅇㅇㅇ이라는 뜻이지요.” 모국어 화자들끼리 주고 받는 쉬운 용어의 전달력, 압축력은 무시할 수 없다. 영어로된 강의 자료지만 틈틈이 쉬운전문용어를 섞어주면 반쯤 먹고 들어가는 경우가 많다.
  • 강의실 밖에서: 국문으로 작문 과제를 할 때 좋은 글이 나온다. 내 수업에서는 작문 숙제를 내는 경우가 많은데, 학생들이 쉬운 용어로 친절하게 좋은 글이 매년 보인다. 이런 글은 다음 년도 수강생, 전공에 관심이 있는 저학년이나 고등학생에게 좋은 길잡이가 된다. 수강생들의 멋진 글은 여기 (1, 2)서 볼 수 있다.
  • 연구하면서: 전공자들은 원문 전문용어에 익숙해서 필요없지 않나 생각할 수도 있겠지만 그렇지 않다. 물론 같은 연구를 하는 사람들끼리는 주로 원어를 쓰는 경우가 많겠지만, 같은 연구실에 있더라도 연구 주제가 다르면 그 동네 용어는 모를 수 있다. 멋진 융합은 어깨너머로 듣던 사람과 만드는 경우가 많지 않던가? 따라서 언제나 우리가 하는 연구는 주위 사람들이 알기 쉽게 퍼트려야 한다. 이에 따라 우리 연구실의 연구 성과는 쉬운 전문 용어로 작성해서 위키에 공유하고 있다.

소박하게. 은은하게. 화려하거나 있어보이지 않아도 진실되게. 어깨에 힘 빼고 마실가듯이 접하는 전문용어와 공부였으면 좋겠다. 알고보면 많은 경우 외국어 전문용어는 그러하지 않은가? 심지어 간혹 익살스럽기까지 하다. 우주 탄생의 비밀을 논하는 거룩한 이론에 “큰꽝(big bang)”이라는 이름을 붙일 여유. 우리도 이제 그 정도 수준 된 것 아닌가?