개발자와 영어

어느 날, 여느 때처럼 느긋하게 여러 주제로 웹서핑을 하던 중 눈에 띄는 글귀가 들어왔습니다. 좋은 코드는 자연어처럼 술술 읽히는 코드라는 것입니다. 처음에는 무슨 소리인가 했습니다. “프로그래밍 언어가 자연어처럼 읽힌다고?” 저는 아무리 잘 짜도 그냥 긴 수능 영어 지문을 보는 느낌이었거든요. 알고 보니 그 말을 한 사람은 한국인은 아니었습니다. 아마 영어를 쓰는 나라에 사는 사람이었을 겁니다. 그 사람 입장에서는 코드가 일상어처럼 읽히는게 가능했을 겁니다.

흔히 코딩은 영어가 아니라고 합니다. 프로그래밍 언어는 영어가 아니기 때문에 영어 실력과 관계 없이, 노력하면 충분히 잘 할 수 있다는 말입니다. 어느 정도는 맞는 말입니다. 대부분의 프로그래밍 언어는 영어를 사용하지만, ifwhile의 뜻을 몰라도 조건문과 반복문을 작성하는 데에는 문제가 없습니다. 코드가 우리말처럼 술술 읽히지는 않지만 그것 때문에 코딩을 못 할 정도는 아닙니다.

문제는 소스 코드 외적인 부분에서 옵니다. 다른 사람이 만들어 놓은 라이브러리나 프레임워크를 코드만 보고 유한 시간 안에 이해하는 것은 어렵습니다. 어떤 API가 있는지, 어떻게 사용해야 하는지, 어떤 점을 주의해야 하는지는 문서를 보아야 알 수 있습니다. 그런데 슬프게도 문서 중에 한국어로 된 자료는 매우 드뭅니다. 번역기를 동원하거나 고등학생 때 갈고닦은 영어 지문 해석 능력을 발휘해 직독직해를 해야만 합니다.

생소한 주제의 경우, 검색도 영어로 해야 쓸모 있는 정보를 건질 확률이 높습니다. 한국어로는 하루 종일 네이버나 구글을 뒤져도 아무 것도 얻지 못 하다가, 영어로 키워드를 넣으니 바로 원하는 결과가 나오는 것을 겪어 보면 한숨만 나옵니다. 그래서 영어로 검색을 하자니 적절한 검색어를 만드는 것도 문제입니다. 찾고 싶은게 무엇인지는 알아도, 이걸 영어로 표현하려면 어떻게 써야 할 지 막막합니다. 어떤 단어를 써서 무슨 문장을 만들어야 할 지 모르겠습니다.

결국 비 영어권 개발자는 소프트웨어를 만들고 굴리는 여정의 대부분에서 지식의 접근에 제한을 받습니다. 만약 영어를 다루는 데에 어려운이 없다면 소스 코드를 자연어처럼 술술 읽히게 작성할 수 있고, 다른 사람이 작성한 코드도 쉽게 읽을 수 있습니다. 문서를 검색하고 읽을 때에도, 에러 메시지를 검색할 때에도, 빠르게 정보와 해결책을 얻을 수 있습니다.

다시 말해서 영어가 되면 코딩이 쉬워집니다. 그렇기에 우리는 한국어 화자로서 프로그래밍에 큰 핸디캡을 가지고 있는게 아닐까 싶습니다. 그래서 “코딩은 영어가 아니다”라는 말을 이렇게 바꾸고 싶습니다:

"코딩은 영어 쓰는 사람들에게 더 쉽다."

코딩은 아니지만 이 블로그에 쓰는 글에는 URL로 사용할 영어 제목을 달아 주어야 합니다. 이제 이 글의 영어 제목에 사용할 단어를 고르기 위해 영어 사전을 펼치러 가 봐야겠습니다.

댓글