본문 바로가기
카테고리 없음

[be-favorite] #3 R 과 Python를 고민하는 당신에게 (feat. 데싸 선배의 조언)

by be-favorite 2021. 9. 25.
반응형

오랜만에 인사드립니다.🤗 올해 2월에 대학원을 졸업 후, 3월부터 바로 연구원으로 업무를 시작하느라 이를 핑계로 개인 블로그, 객원 칼럼에 손을 놓고 있었네요. #2 글을 쓴지 어언 반년이 넘었군요. 잘 만든 핑계는 사람을 이렇게나 나태하게 만듭니다..😅 오랜만에 인사드리는 칼럼에 Data Science 분야에서 매우 자극적으로 여겨지는 타이틀을 가져왔습니다. 본 칼럼에서는 다행히 두 언어 중 어떤 언어가 더 우월한가를 논하진 않습니다. Data Science 분야에 관심을 두고 시작하는 단계에서 두 언어 중 어떤 언어를 익혀야 할지 그 기로에서 고민하고 있는 분들, 그리고 둘 중 한 언어를 익히고 있으나 나머지 한 언어에 대한 막연한 불안감이 있는 분들께 권하고 싶은 글입니다.

 

무의미한 논쟁

우선 본 글의 타이틀과 같은 논쟁은 무의미합니다. Data Science 분야에서 "R vs Python"이라는 타이틀은 이제 전 세계적인 밈이라고 봐도 무방할 것 같습니다.😂

 

 

이제 이 무의미한 논쟁에 Julia도 합류한 것 같군요. 이런 밈으로 여겨지는 주제를 간혹 진지하게 임하여, 본인이 사용하지 않는 언어를 비난하며 특정 언어가 더 훌륭하다는 식의 주장을 하는 사람들을 보면 이제는 안타까운 마음이 듭니다. Data Science 분야에는 수많은 언어들이 존재하지만, 그중 최고의 언어는 없습니다. 각 언어가 갖는 특유의 장단점이 있죠. 우리는 각자의 필요에 의해서 언어를 선택하여 익히고, 그저 잘 사용하기만 하면 되는 것입니다. 둘 중 어떤 언어가 더 우월하다고 주장을 펴는 사람들에게 휘둘리지 않으셨으면 합니다.

 

그렇다면 R과 Python의 기로에서 고민하고 있는 초심자들은 어떤 기준으로 언어를 선택해야 할까요? 그 기준을 가장 간략한 한마디로 정리한다면, 저는 다음과 같이 정리하고 싶습니다:

 

R is for research, Python is for production.

 

 

위 문장을 보며 자신이 Data Science 분야에서 하고 싶은 Job에 대해 곰곰이 생각해보고, 어떤 언어로 진입을 하실 지 결정해 보시기 바랍니다. 그리고, 두 언어 중 이미 한 언어에 몰두하고 있으나 막연한 불안감이 있는 분들도, 위 문장을 보고 과연 본인이 Data Science 분야에서 그려놓은 로드맵과 일치하는 언어를 하고 있는지 고민해보시기 바랍니다. 아울러, 위 간략한 한 문장이 두 언어의 모든 것을 설명하는 것은 아닙니다. 2021년 현재는 R로도 production이 충분히 가능한 세상이고, 반대로 Python에서도 충분히 research가 가능합니다. 예를 들어, 본인이 R에 몰두하고 있는데 본인이 그려놓은 로드맵의 끝에 production이 있다고 해서 R을 관두고 Python에 몰두하라는 말이 아닙니다. 본인이 하고자 하는 production은 R로도 충분히 가능한 수준일 수도 있습니다. 정리하면, 저는 본인이 언어를 다루는 것에 있어서 어떤 무지한 사람의 의견에 휘둘리는 것이 아닌, 본인의 필요에 의해 움직이셨으면 하는 바람입니다. 예를 들어, R을 native language로 하는 사람이 Data Science에서 어떤 일을 하려고 하는데, 해당 작업이 R에서는 불가능하고 Python에서만 가능하다면 그때 Python에 깊게 몰두하셔도 늦지 않습니다. 반대의 상황도 똑같습니다. 그래서, 두 언어 중 어떤 언어를 사용하시든 기본 문법 정도를 익히는 것은 추천드리는 바입니다. 해당 언어가 필요할 때 진입 장벽을 낮춰줄 수 있기 때문이죠.

 

본 글에서는 두 언어를 선택하는 기준을 간략하게 한마디로 말씀드렸는데요. 저 짧은 한마디가 본인을 설득 또는 마음에 안정을 주기에 부족했다면, 다음의 두 글을 읽어보시기 바랍니다. 제가 읽어본 글 중에서, 본 글의 타이틀에 대해서 가장 잘 풀어낸 글이라고 생각합니다:

 

 

두 글의 공통점은 논지 자체가 둘 중 어떤 언어가 더 우월한 지가 아닌, 두 언어가 갖는 각각의 장단점, 그리고 차이점을 중심으로 서술하고 있다는 점입니다. 위 두 글 정도면 여러분들이 가지고 계신 고민, 갈증을 충분히 해결해 줄 수 있을거라 생각합니다.😄

 

논쟁이 발생하는 이유

대체 이런 무의미한 논쟁이 지금까지도 우리 주변에서 종종 발생하는 이유는 뭘까요? 그것은 아마 더닝 크루거 효과에 빠진 일부 사람들 때문이라고 개인적으로 생각합니다.

 

주변에 R과 Python 둘 중 어떤 언어가 더 우월한 언어라고 주장하고 다니는 사람이 있다면, 제가 공유한 위 두 글을 조용히 보여주시기 바랍니다. 두 글을 읽고도 대화가 안된다면, 그분과 Data Science 소프트웨어에 관한 얘기는 피하시는 것을 추천드립니다.😅

 

이런 사람들이 주변에만 있다면 사실 크게 문제가 없지만, 다른 사람들에게 어느 정도 영향력이 있는 사람(e.g. 대학교수)들이 이런 주장을 펴고 다니는 경우가 있는데, 이것은 정말 큰 문제라고 생각합니다. 해당 분야에서 자라나는 새싹(e.g. 비전공자, Data Science 분야와 관련한 학부생)들에게 잘못된 고정관념을 안겨줄 수 있기 때문입니다. 본 글의 주제와는 무관하지만, 과거 학부생 때 한국데이터산업진흥원에서 주관하는 "빅데이터 청년인재"라는 프로그램을 통해 모 대학에 종강 기간 동안 교육을 받고 온 같은 과 친구가 했던 말이 기억납니다.

 

"통계학은 쓰레기래."

 

아마 머신러닝 또는 딥러닝을 최근에서야 주 연구분야로 삼으며 Python을 주 언어로 하는 소프트웨어/컴퓨터과학 학과 교수님이 하셨던 말이라고 기억합니다. 저 같은 경우는 말도 안 되는 말이라며 앞에서는 한 귀로 듣고 한 귀로 흘렸지만, 우리나라에서 내로라하는 대학의 교수님이 하셨던 말이라 내심 신경 쓰이긴 했습니다. 이 한마디는 제가 Deep Learning이라는 책을 사게 끔 만들었죠.😂 해당 분야들의 대가들은 과연 통계학에 대해 어떻게 생각하는 지에 대해 궁금했기 때문이죠.

 

 

물론, 여러분들이 예상하시다시피 대가들이 통계학을 보는 관점은 우리나라 모 대학의 타 학과 교수의 의견과는 정반대였습니다.😄 다른 사람들에게 영향력을 끼칠 만한 위치에 있는 사람이 더닝 크루거 효과에 빠져 특정 문제에 대해 무심하게 논하고 다니는 것이 이렇게 위험합니다. 본 칼럼 주제와 벗어나는 내용이므로 이만 줄이겠습니다.😂

 

두 언어 다 하면 되는 것 아닌가요?

사실 R과 Python 둘 다 능숙하게 다룰 줄 알면 이런 고민은 필요도 없습니다. 그러나, 저같이 평범한 사람은 둘 다 잘하기가 쉽지 않더군요. 사실 저도 필요에 의해서가 아닌, 그저 주변의 바람으로 인해 Python을 안 하면 어떻게 될 것만 같아서 대학원 진학을 앞둔 시점에 R과 함께 Python 공부를 병행하며 Python에 기웃거렸던 적이 있습니다. 사실 그땐 제가 R을 하는 줄 알았던 시절이죠...

 

위에서 언급한 더닝 크루거 효과에 빠진 사람 중 한 명이 바로 저였죠. 이런 어마어마한 착각은 R for Data Science를 접하고, 유명한 Rstudio 팀의 소프트웨어 개발자, 패키지 개발자를 포함한 진정한 R 고수들을 SNS(Twitter, LinkedIn)를 통해 접하며, 말끔하게 사라집니다.

 

 

우물 안 개구리로 잠시 나마 그런 무지한 생각을 했던 것이 너무 창피하고 부끄러웠습니다. 그렇게 "필요에 의해서"가 아닌, 대학원 졸업까지 Python이라는 언어까지 그저 제 두 번째 무기로 장착하려고 했던 오만한 꿈은 속 시원히 버려버릴 수 있었습니다.😂 해당 시점 이후로, R의 trend를 어느 정도 붙잡고 따라갈 수 있는 수준이 될 때까지는, 결코 Python은 쳐다보지 않겠다고 다짐했습니다. 특별히 Python이 필요로 되는 업무가 있지 않다면 말이죠. 그렇게 어느덧 2년이 넘게 흘렀고, 지금 아직도 R에서는 배울게 무궁무진하고 많이 부족하다는 생각이 듭니다. 물론, 실무에서도 Python이 특별히 필요로 되는 업무는 없었고요. 다만, 학부생 때 3년 정도 배우고 수년간 접었던 SAS를 업무의 필요에 의해서 다시 손에 잡게 되었습니다. 띠로리..

 

사설이 길었는데, 결국 저는 둘 다 잘하면 최고지만, 일반적인 사람들은 둘 다 잘하는 것은 힘들다는 것을 말하고 싶었습니다. 특히 초심자는 말이죠. 둘 다 잘하려다가, 두 언어 모두 어중이떠중이가 될 가능성이 크다고 개인적으로 봅니다. 그럼 취업시장에서 나만의 아이덴티티도 잃을 수 밖에 없고요. Bilingual을 꿈꾸다가, 하나의 Native language도 없는 애매한 사람이 될 수도 있습니다. 본인이 Native language라고 자신 있게 주장할 수 있는 하나의 언어를 만들어 놓고, 다른 언어를 쳐다보시길 권합니다. 다만, 그전에 본인의 필요에 의해 다른 언어를 익혀야 하는 상황은 논외로 하겠습니다.😄

 

맺음말

R vs Python을 주제로 개인적 경험까지 녹여내어 칼럼을 쓰려다 보니 사설이 길어지고, 그에 따라 글이 참 길어진 것 같습니다. 아직 저도 많이 부족한 사람이라, 두 언어의 기로에 놓여 고민을 거듭하는 분들께 글이 도움이 되었을 지 모르겠습니다. 그래도, 수년간 홀로 생각하고 여러 가지 글들을 접하며 쌓았던 생각을 긴 시간 정리해본 것이니 너그러이 글을 읽어주셨으면 합니다. 나누고 싶은 의견이 있으시다면 언제든지 댓글, 메일 주시기 바랍니다. 긴 글 읽어주셔서 감사합니다.


🌱 필자소개 Taemo Bang (be-favorite)

📝활동 장소

 

방태모

안녕하세요, 제 블로그에 오신 것을 환영합니다. 학부, 석사를 통계학으로 전공하고 현재는 지마켓 AI Product 팀에서 Data Science를 하고있습니다. 데이터로부터 인사이트를 추출하는 것을 좋아합니

www.taemobang.com

 

반응형

댓글