폴리글랏 프로그래밍

Posted by 엘키의 주절 주절 on December 19, 2017

자바 덕후이신 임백준옹께서 서술하신 속칭 자바 시대의 종결 예언서다.

올해가 저물어 감을 감안했을 때, 대략 5년전쯤 쓰신 책이 2014년 초에 발간되었다고 봐야하는 책이라고 봤을 때, 국내에서는 5년여가 지난 지금도 자바 천국이다. 아마 10년은 앞으로도 그럴테고.

나 역시 C++을 비롯한 다른 언어들을 다양하게 다룸에도 불구하고, 결국엔 자바를 하게 되었다.

이 책에 대한 토의를 하게 되었을 때 자바 프로그래머분들이 극분하는 케이스를 많이 보았는데, 왜 그런지 잘 모르겠다.

세상의 모든 것은 자연스레 변화하고 그 중에서 IT는 더 빠르게 변화하는데 자바만 그대로라고 여긴걸까?

자바를 대체할 무언가의 습득, 혹은 병행이 그게 그렇게 두려운걸까?

안타깝게도 자바 개발자 자체는 충분히 많다.

그래서 자바만 쓸 줄 안다고 메리트가 있는 언어가 아니다. 너무나 많은 개발자가 한국어 처럼 자바를 쓰기에, 자바만으로 충분하지 않다.

훌륭한 자바 개발자가 부족한 것 뿐이다.

자바 언어 자체가 상대적으로 쉬운 언어에 속하기에 자바 언어를 오래 사용 해왔을 때의 특별한 무기가 있기 힘들다.

또한 사고의 폭은 언어의 영향을 크게 받는다.

대다수의 자바만 사용해온 프로그래머는 반쪽자리 자바의 Generic이 왜 반쪽인지 이해 못할 수 밖에 없다.

Partial, Extend가 대수라고? 그 생산성 차이는 어마 무시하고, OOP원칙을 깨지도 않는다.

나의 경우에는 Native 계열 언어인 C/C++로 시작했다 보니 Managed 계열 언어인 C#, Java등을 사용하며 코딩 난이도가 훨씬 낮아지는 행복감을 느꼈고, 파이썬, 루비등의 동적 언어를 사용하면서 꽤나 큰 혼란을 겪었다.

이런 경험이 축적되고 결론으로 도출 가능한 지점이 되니, 각 언어가 왜 이런 모양새를 띄고 이런 단점을 갖고 있는지 이해가 되기 시작했고 그 이해가 곧 인사이트로 연결된다.

C++ 개발자 중에서도 C++이 컨텐츠 개발언어에서 멀어지고 있을 때에도 현실을 부정하며 C++짱짱맨!! Native를 이길 수 있는 언어는 없다구! 하는 사람도 무척 많지만 (…) 자바도 만만치는 않은 것 같다. 아마도 주류였거나 주류인 언어를 사용하고 있다는 팩트가, 뒤쳐져 있지 않다는 것을 반증한다고 느끼는 것만 같다.

임백준 씨가 주장하듯, 나 역시 새로운 언어를 통해 자바를 조금 더 잘 사용하는 쪽으로 변화시키는 촉진재로서 이용하면 좋겠다.

확실히 인사이트가 넓어지는 데에 큰 도움을 준다.

이 자바의 발전 속도나 가능성에 대해서 악평을 함으로써, 책이 욕을 많이 먹을 수 있었음에도 임백준씨가 저자이셔서 반감될 정도의 내용이었지만 하고자 하는 메시지는 요즘 시대는 과거처럼 한가지 언어가 오랜 기간에 거쳐 전파되고 발전되고 있지 않음을 의미한다고 본다.

패키지 매니저가 일반화되고 기술 교류가 활발해지면서, 마이너한 언어로도 충분히 훌륭한 산출물을 많이 만들 수 있는 시대가 됐다.

그만큼 생산성이 어떤 의미인지, 효율성이 어떤 의미인지, 언어적 우아함이 어떤 의미인지 경험해보는 계기로 다양한 언어를 사용해보면 어떨까?