미국 개발자들 사이에서 '폴리글랏 프로그래밍'은 하나의 대세가 되었다. 폴리글랏(polyglot)은 여러 언어를 구사하는 것을 말한다. 즉, 폴리글랏 프로그래밍은 '패러다임을 달리 하는 여러 개발 언어를 자유롭게 구사하는 것'이라고 할 수 있다.
일반적으로 프로그래머는 하나의 언어를 배우게 된다. 하나의 언어를 배우면서 문법이나 API만 배우는 것이 아니라, 패러다임이나 아이디어까지 함께 배운다. 여러 개의 프로그래밍 언어를 배운다는 것은 그만큼 다양한 패러다임을 접하고, 많은 아이디어를 만들 수 있는 기반을 다진다는 뜻이다. 다양한 패러다임과 많은 아이디어는 개발자가 직면한 다양한 문제를 해결하는데 도움이 된다.
강윤신 카페인(Carffeine) CTO(최고기술책임자)에 따르면 실제로 한국 개발자들 사이에서 폴리글랏 프로그래밍에 대한 이야기가 나오고 있다고 한다. '과연 되겠느냐'라는 시각이 가장 많지만, 그 외에도 이를 바라보는 시각은 다양하다. 시각의 다양성에 대한 이해는 개발자를 구분하는데서 시작한다.
개발자라고 해서 모두 같은 개발자는 아니다. 분야의 특성에 따라 필요성을 다르게 보고 있기 때문이다. 따라서 개발자를 구분하는 것이 선행되어야 한다. 강윤신 CTO는 개발자를 크게 △임베디드 계열(하드웨어 제조) △서비스 프로그래머 △SI(소프트웨어 개발자)로 나누었다.
일반적으로 서비스 개발을 하는 개발자들이 폴리글랏 프로그래밍에 관심이 많다고 한다. 왜냐하면 서비스 개발의 경우, 요구사항이 복잡하고 규모가 작아 한 사람이 해야 할 일이 많기 때문이다. 정해진 시간에 적은 인력이 좋은 퀄리티의 프로그램을 만들어야 한다.
따라서 하나의 프로그램 언어만으로는 시간과 퀄리티 모두 만족할 수가 없다. 여러 언어를 사용함으로써 시간을 단축하고, 좋은 퀄리티의 프로그램을 만들 수 있게 된다. 여러 언어를 섞어 사용할 수밖에 없는 상황인 것이다.
그렇다고 해서 규모에 따라서 폴리글랏 프로그래밍의 도입이 이루어지는 것은 아니다. 강윤신 CTO는 자사의 프로그램을 개발하고 있는 기업이라면 규모에 상관없이 이미 폴리글랏 프로그래밍을 도입하고 있을 가능성이 많다고 설명했다.
"이미 폴리글랏 프로그래밍은 시작되었다"
그렇다면 한국 개발자들은 어떻게 받아들이고 있을까. 강윤신 CTO는 실무자의 입장에서 폴리글랏 프로그래밍의 도입이 어려운 이유를 '시간의 부족'으로 꼽았다. 당장 눈앞에 떨어진 일을 해야 하는 개발자들에게 또 다른 언어를 배우는 것은 옵션이 될 수 없다는 뜻이다.
관리자의 경우, 중앙에서 컨트롤을 해야 하기 때문에 폴리글랏 프로그래밍에 사용되는 언어를 모두 알아야 한다. 강윤신 CTO는 이에 대해 "관리자에게 폴리글랏 프로그래밍은 자신이 모르는 것을 직원들이 한다는 뜻이고, 이는 곧 통제에 어려움이 있을 수 있다는 것을 의미한다"라고 설명했다. 하지만 현실적으로 모든 언어를 안다는 것은 불가능하다.
실무자와 관리자 모두에게 폴리글랏 프로그래밍이 환영받지 못한다는 인상이다. 하지만 강윤신 CTO는 "그럼에도 불구하고 이미 폴리글랏 프로그래밍은 시작되었다"라고 말했다. 가장 대표적인 예가 바로 게임회사이다.
게임을 만드는 부서와 웹사이트를 만드는 부서가 서로 다른 프로그래밍 언어를 사용한다. 하나의 게임을 위해 다른 언어를 사용하는 두 부서가 함께 일하는 것이다. 큰 그림에서 보자면 이것이 바로 '폴리글랏 프로그래밍'이라고 할 수 있다.
강윤신 CTO는 폴리글랏 프로그래밍이 월등히 뛰어나서 하나의 문화로 자리 잡는 것이 아니라, 문제를 해결하는데 있어 더 효과적이기 때문에 도입되고 있다고 설명했다. 해결해야 하는 문제의 규모가 커지고 복잡해질수록 폴리글랏 프로그래밍은 선택의 문제가 아니라는 뜻이다.
- 이슬기 객원기자
- justice0527@hanmail.net
- 저작권자 2015-09-18 ⓒ ScienceTimes
관련기사