R? Python? 어떤걸 쓰지?
분명히 해둬야 할 게 있는데, 파이썬은 데이터 분석용 도구가 아니다. C나 JAVA처럼 소프트웨어를 만들기 위한 범용 개발 언어이지, 데이터 분석하려고 만든 언어가 아니다. 파이썬으로 할 수 있는 일이 100만 가지라면 그중 1 정도가 데이터 분석이다. 파이썬은 데이터 분석'도' 할 수 있는 언어다. 직접 맨땅에서 코드를 구현하는 것에 비해 '상대적으로 간편하게' 데이터를 다룰 수 있는 기능들이 구현되어 있기 때문에 코드에 익숙한 개발자들이 데이터를 다루는 작업에 파이썬을 사용하게 된 것이지, 데이터를 다루기 편리하게 만들어진 언어라서 데이터 분석가들이 사용하게 된 것이 아니다. 파이썬 사용자가 100명이라면 그중 자신을 데이터 분석가로 규정하는 사람은 1명 남짓 될 것이다. 99명은 소프트웨어 개발자다.
반면 R은 처음부터 데이터 분석하려고 만든 데이터 분석용 도구다. 개발자가 아니라 통계학자가 만들었고, 통계학과를 중심으로 퍼져나갔고, 데이터를 이용해 가설을 검정하고 이론을 정립하는 게 주된 업무인 학계 연구자들 사이에서 성장했다. R로 할 수 있는 일이 100만 가지라면 그중 99만 9천 개가 데이터 분석이다. 나머지는 데이터를 수집하거나 분석 결과물을 사람들과 공유하는 일이다. 데이터를 수집하고, 가공하고, 분석하고, 분석을 통해 얻은 지식을 나누는 것. R을 사용하면 그런 작업을 '본질적으로 간편하게' 할 수 있다. R은 애초 그런 일을 하려고 만들어진 언어다. R 사용자가 100명이라면 99명이 자신을 데이터 분석가로 규정할 것이다. 개발자가 주력 언어로 R을 사용하는 경우는 드물다.
물론 R로도 데이터 분석을 벗어난 다른 일들을 할 수 있다. 모든 업무를 다른 도구 거치지 않고 R 하나만으로 끝내고 싶어 하는 하드코어 유저들의 노력 덕분에 R로 할 수 있는 일들이 점점 많아지고 있다. 하지만 어디까지나 개발에 서투른 데이터 분석가들이 개발자 도움 없이도 일할 수 있도록 도와주는 정도의 기능들이 구현되어 있을 뿐이지, 범용 개발 언어로 할 수 있는 수많은 일들을 R만으로 하는 데에는 분명한 한계가 있다.
그러므로 R과 파이썬의 기로에서, 판단의 중심은 데이터 분석'을' 하고 싶은지, 아니면 데이터 분석'도' 하고 싶은지에 두어야 한다. 빅데이터니 인공지능이니 온갖 화려한 표현들이 많지만, 데이터 다루는 일 하는 사람들이 만들어내는 것은 결국 '보고서' 아니면 '소프트웨어 제품' 둘 중 하나다. 데이터에서 얻은 정보를 글과 이미지로 표현해 보고서(Paper)를 만드는 일을 하려면 R을 사용하길 권한다. R에 익숙해지면 이런 일을 날아다니듯 효율적으로 할 수 있다. 반면, 데이터 분석 자체가 목적이 아니라 데이터를 활용해 웹페이지나 애플리케이션 같은 '소프트웨어 제품(Software Product)'을 만드는 일을 하려면 파이썬을 사용하길 권한다. 파이썬에 익숙해지면 짧은 시간 동안 적은 노력을 들이고도 번듯한 제품들을 만들어낼 수 있다.
자신이 데이터 분석'을' 하고 싶은 것인지 데이터 분석'도' 하고 싶은 것인지 잘 모르겠다면, 다음 중 무엇이 친숙하게 느껴지는지 생각해보는 게 도움이 될 것이다. 글, 보고서, 표, 그래프, 프리젠테이션, 대화, 설명, 설득, 토론. 이런 게 친숙하다면 R을 사용하면 된다. 이런 일들은 데이터 분석가의 숙명이다. 반면, 이런 건 끔찍하고, 그보다는 코드, 자동화, 기계, 엔지니어링, 서버, 웹, 이런 게 친숙하게 느껴진다면 파이썬을 사용하면 된다. 이런 일들은 개발자의 숙명이다.
데이터 다루는 일이라는 게 겉보기엔 뭔가 세련돼 보이겠지만, 형광등 밑에서 카페인이나 들이붓는 삶이라는 점에선 이러나저러나 별반 다를 것도 없다. 보고서 만드는 삶 또는 제품 만드는 삶, 그 정도 선택지가 주어져 있을 뿐이다.