본문 바로가기

서평

("파이썬 핵심 개발자들과의 인터뷰"를 읽고)

 파이썬? 프로그래밍 언어이다. "파이썬 핵심 개발자"라니, 뭔가 잘못 질문하면 붙잡혀서 이해할 수 없는 말들을 듣고 있어야만 할 것 같다 :0. 그런데, 책을 읽고 난 지금의 시점에서 나는 책의 표지에 다시 한 번 눈길이 가지 않을 수 없었다. 우리가 영어를 배우는 이유가 무엇일까? 라는 질문이 주어졌을 때, 다양한 문화의 사람들과 직,간접적으로 의사소통할 수 있다, 원하는 정보를 재빠르게 취득할 수 있다 등 수많은 이유가 있을 것이다.


 이 중에서도 내가 강조하고 싶은 것은, '같은 언어'를 사용하는 사람들끼리는 그들 사이의 물리적 거리, 살아온 배경, 민족이나 성별에 관계없이 이야기할 수 있다는 것이다. 물론 영어를 배우는 것과 파이썬을 배우는 것에는 차이가 있겠지만, '언어'라는 측면에서 이 둘은 이러한 속성을 공유하고, 정말 멋있는 일이라고 생각한다. 어떻게 생각하면, 프로그래밍 언어가 일반 언어보다 더 멋있다. 왜냐하면 프로그래밍 언어는 사람이 아닌 것과도 대화할 수 있기 때문이다. 컴퓨터라는 쉬지 않는 친구와 수다를 떨 수 있다!! (물론, 인간이 프로그래밍 언어를 모국어보다 먼저 배울 수는 없겠지만)





 같은 관심사를 가지고 있는 친구와 이야기하는 것은 재미있다. 더불어, 나를 즐겁게 해 주는 친구는 나만 알고 싶은 욕심까지 나기도 한다. 개발자들이 코딩을 좋아하는 이유가 이러한 맥락이다. 컴퓨터와 더 많고 자세한 이야기들을 하기 위해서 이들은 프로그래밍 언어를 익히기 시작했다. 게임을 만들고, 복잡한 수학 문제를 풀기 싫어서 친구에게 부탁을 하기도 했다.


 가끔, 단짝 친구와 대화를 하다 보면 종종 이야기거리가 떨어질 때가 있다. (그런 상황에서 어색할 법도 하지만 그렇지 않아서 단짝이다~) 평생 단짝 친구랑만 대화를 한다고 생각해 보라. 음, 엄청나게 행복하지는 않을 것 같다. 이것은 개발자들에게도 마찬가지였다. 내가 만든 프로그램을 공유하고 싶고, 전세계의 다른 사람들과 같이 개발을 하고 싶고, 모든 것을 바닥부터 시작하지 않고 다른 훌륭한 프로그래머들로부터 배움과 도움을 받고 싶었다. 이런 그들에게 인터넷이라는 것이 얼마나 놀라웠을까!


 자신이 작성한 코드를 수많은 사람들에게 내놓고 사용하면서 불편한 점은 없는지, 오류는 없는지 보인다. 반대로, 다른 사람이 작성한 코드와 시스템을 사용하기도 한다. '무료로'. 지식이라는 것은 공유하고 수정을 거듭할수록 의미가 있다. 어떠한 것을 배웠을 때, 다른 사람을 가르쳐보면 내가 얼마나 이해하고 있었는지 깨달을 수 있다. 개발자들은 고개를 끄덕이기 시작했고 코드를 공개했다. (물론 모두는 아니다.) 정확하지는 않지만 이것이 '오픈 소스'가 지향하는 바이다.


 오픈 소스는 단지 내가 만든 것을 내놓는 것 뿐만 아니라, 혼자서 할 수 없는 일들을 가능하게 해준다. 예를 들면, 프로그래밍 언어 그 자체이다. 언어라는 것은 많은 사람들이 사용하기 위해서 만드는 것인데, 한 개인이 모든 것을 정한다는 자체가 문제가 있다. 예를 들어보자, 


"나는 지금 화학을 전공하고 있어, 그런데 이번에 새로운 뭔가가 있어서 이런 단어가 생겨났어."

"나는 인터넷을 많이 하는데 요즘 유행하는 새로운 단어가 생겨났어."


 이러한 상황에서 이 새로운 단어는 검토를 거쳐서 사전에 등록이 되고 하는 과정을 거쳐야 한다. 언어는 끊임없이 수정되고 있다. 이런 언어(자연어)에 비해서 신생아나 다름 없는 프로그래밍 언어는 어떠할까. 그래서 프로그래밍 언어는 수많은 사람들의 도움이 절실하다. 파이썬은 열정적으로 도움을 주는 사람들이 특히나 많다. 그 이유로는


 커뮤니티가 활성화되어 있고, 친절하며, 다양성을 존중한다.

 쉽다.


 위의 이유들이 주로 나오고 있다. 쉽다는 것은 프로그래밍 언어를 배울 때, 익히기 쉽다는 것이다.(다른 언어에 비해서라는 것이다, 나한테는 파이썬도 어려웠지만...) 커뮤니티가 활성화되어 있다는 것이 정말 중요한데, 온라인, 오프라인 모두 활성화가 되어 있으며, 단순히 무언가를 질문하고 답변하는 것은 물론, 파이썬 자체에 기여할 수 있도록 격려를 아끼지 않는 분위기이다. 더불어, 파이썬이 건드리지 않는 영역은 거의 없다. 다만, 그 영역에서 실제로 파이썬이 점유하고 있는가와는 별개의 문제이지만, 이럴 수 있는 이유가 수많은 분야의 수많은 사람들이 기꺼이 파이썬에 기여하고 있기 때문이다. (기꺼이 기여할 수 있는 이유에 커뮤니티가 한 몫을 하고...)


 개중 굵직굵직한 기여를 하고 있는 사람들이 있다. 파이썬 핵심 개발자들이 이에 속한다. 이 책은 말 그대로 그들과의 인터뷰를 담고 있다. 인터뷰에서 공통적으로 반복되는 질문들이 있다. 이들이 어떻게 프로그래밍을 시작했는지, 파이썬을 어떻게 사용하게 되었는지, 인공지능, 데이터분석 분야에서 파이썬이 부상하고 있는 이유는 무엇이라고 생각하는지, 파이썬 2에서 3으로의 전환, 미래의 파이썬은 어떠할지... 


 모든 것을 이해할 수는 없었지만, 반복되는 인터뷰들을 읽고 내가 느낀 바는 이렇다.


1. 현재의 파이썬의 단점이 GIL인 것 같다.(GIL에 대해서 잘 몰라서 일단 계속 읽었는데 계속 나온다.)

2. 파이썬 2에서 3로 넘어가야 하는 것은 분명하다.

3. 혼자서 끙끙다기보다 밑업이나 스터디를 가지는 것이 훨씬 효율적이다.(대부분의 경우) 

4. 파이썬을 쓰자.(내 수준에서 C/C++로 어설프게 하기보다 파이썬을 쓰자!)

5. 파이썬의 철학은 '교육'과 관련이 깊다. (쥬피터 노트북, 커뮤니티, 문법에서 보이는 가독성 등등) 

6. 다음 파이썬은 비동기 처리에 많은 변화가 있을 것이다. (인터뷰 대상들 사이에서도 의견이 분분해서 변화가 있을 것이라고만 썼다.)

7. 뜬금없지만, 러스트(RUST)를 배우고 싶다.

8. 이 사람들은 대단하다. 그런데 더 많은 사람들에게 파이썬이라는 매개체로 혜택을 주기 위해서 노력하고 있다. 그래서 더 대단하다.


 내가 다 이해할 수 없어서 죄송할 정도였다. 사실 나는 안드로이드 하면 자바지, 웹이면 자바스크립트(프론트에서) 알아야지, 임베디드면 C/C++이지, 게임이면 C#(유니티)이지, 이런 식으로 프로그래밍 언어를 개발하는 플렛폼에 맞춰서 

뭐 == 뭐 이렇게 생각했었다. 사실 내가 무지해서 그냥 제일 정보가 많고 많이 사용하는 것에 익숙하도록 나를 맞추고 싶었던 것 같다. 어떤 하나의 언어를 배웠다고 함부로 말할 수 없을 것 같다. (귀도님도 10점 만점에 8점 알고 계시다 하는데...) 더불어 한 언어를 잡고 깊게 파보아야겠다는 생각도 들었다. 그냥 기술 개발 서적들은 종종 읽었지만, 이렇게 개념과 방향성을 제시하는 책은 거의 처음 읽었는데, 많은 것을 느꼈고, 음... 더 열심히 살아야겠다 :)))

'서평' 카테고리의 다른 글

('채식주의자'를 읽고)  (0) 2019.01.29
('저도 과학은 어렵습니다만'을 읽고)  (0) 2019.01.28
우울할 때  (0) 2019.01.08
('잠'을 읽고)  (0) 2018.12.26
('0에서 무한까지'를 읽고)  (0) 2018.12.15