“개발자여, 새로운 언어에 도전하시라”

가 +
가 -

“폴리글랏 프로그래밍 시대는 준비된 개발자에겐 천국이고, 그렇지 않은 개발자에겐 지옥이 될 것입니다.”

임백준 개발자가 한국마이크로소프트(MS)의 ‘테크데이즈 2014’ 행사를 찾아와 인용한 문구다. 임백준 개발자는 모건스탠리 시니어 아키텍처로 근무하고 있으며, 출판과 칼럼 활동도 병행하고 있다. 그는 이날 행사에서 ‘폴리글랏’이란 개념을 꺼내들며 개발자로서 필요한 자질에 대해서 이야기했다. ‘폴리(poly)’라는 말은 ‘다수의’라는 의미를 가졌는데, 여기서 ‘폴리글랏’이란 여러 언어를 구사하는 것을 말한다. ‘폴리글랏 프로그래밍 시대’는 다양한 언어로 프로그램을 개발하는 환경을 뜻한다.

techdays_limbaekjun

▲임백준 모건스탠리 시니어 아키텍처

임백준 개발자는 “다양한 언어를 배우고 활용하면서 폴리글랏 프로그래밍 시대를 준비해야 한다”라고 강조했다. 왜 여러 언어를 준비해야 할까? 하나의 언어를 배운다는 것은 단순히 문법이나 API만 익히는 게 아니다. 그 언어의 구조를 보면서 패러다임과 아이디어 등을 얻을 수 있다. 임백준 개발자는 “이러한 언어 공부로 인식의 지평을 넓힐 수 있다”라고 설명했다.

최근 애플, 페이스북, MS 같은 IT기업 뿐만 아니라 대학, 연구단체, 개발자 커뮤니티들이 새로운 언어를 잇달아 내놓고 있다. 이러한 언어는 기존에 해결하지 못한 문제를 풀 수 있게 도와준다. 에러 처리를 잘 할 수 있게 돕거나 병렬처리를 지원하고, 함수를 활용해 효율성을 높이기도 한다. 임백준 개발자는 다양한 언어를 다루는 걸 수저와 포크, 젓가락에 비유했다. 이러한 도구는 궁극적으로 음식을 먹을 때 쓴다. 스프를 먹을 땐 수저가 적합하고, 파스타를 먹을 땐 포크를 쓴다. 모든 음식을 수저로 먹을 수 있긴 하지만, 다양한 도구를 사용하는 게 더 효율적이다. 프로그램도 마찬가지다. 프로그래밍 언어는 비슷한 기능을 가지지만,  여러 언어를 할 수 있으면 상황에 따라 알맞은 해결책을 쉽게 찾을 수 있다.

“개발자는 다양한 문제를 직면합니다. 어찌 보면 이러한 문제의 범위나 종류가 끝도 없기 때문에, 이를 해결하려는 언어도 끝도 없이 나올 것입니다.”

techdays_limbaekjun_02

▲자바머신상에서 사용할 있는 언어만 해도 수백개가 넘는다. (출처: 테크데이즈 개발자 컨퍼런스 발표 화면)

개발 언어는 셀 수 없을 정도로 많고, 이를 전부 아는 건 사실상 불가능하다. 임백준 개발자는 “이러한 현상은 ‘랭귀지 정키(=중독자)’를 낳기도 했다”라고 설명했다. 랭귀지 정키는 한 언어에 대한 깊은 이해 없이 이 언어 저 언어를 건너뛰며 배우는 사람를 말한다. 이도 바람직하지 않지만 다른 한편으로 “내가 작업하는 언어 하나만 알면 그만”이란 태도도 위험하다. 임백준 개발자는 “하나의 언어와 하나의 플랫폼 안에서만 갇혀서 개발한다면 시야가 좁아질 것”이라고 조언했다.

“목수는 어떤 도구를 써도 목수이죠. 망치 목수, 드라이버 목수처럼 도구를 목수 이름 앞에 붙이진 않아요. 개발자는 다 개발자죠. 앞에 붙는 수식어나 언어 이름에 연연하지 않았으면 합니다. 개발자 몸체에 어떤 걸 채울지 더 고민해야 하고요. 이때 새로운 언어를 빨리 익히는 게 점점 중요해질 것입니다”

네티즌의견(총 0개)