왜 구글이 Python을 썼는지 이제 알것같다.

Google 프레임웍 Archtecture라는 글에서 구글이 Python을 이용해 웹봇을 만들었다는 이야기를 잠시 언급한적이 있었다.

그때 단지 구글이 Python으로 왜 만들었을까 굉장히 궁금했었다.
그런데 이제는 그 이유를 조금이나마 알것같다.

웹로봇의 속도는 네트웍 속도에 90%이상 로봇의 속도가 좌우가 된다. 실제적으로 내부적인 로직 htmlparser 나 문서 filter같은 경우 input output하는데 얼마 걸리지 않는다 거의 우리가 인지하지 못하는 찰나에 해버린다.
네트웍 병목현상에 좌지우지 된다고 봐야겠다.

일단 코딩 편의성 측면에서 최고다!
로봇같은 경우는 90%이상의 코드가 문자열 처리를 하는 코드다. C로 처리했으면 문자열을 처리하는데 malloc나 free를 반복적으로 무수하게 반복하며 디버깅하면서 발견하기 힘든 포인터 참조 에러라는 막중한 위험을 안고 다녀야하는데 Python같은 경우는 그럴 필요가 없고 디버깅하기도 무척 편리해 구현 자체에만 신경을 쓰면 된다.

두번째로 위와같은 이유로 인해 개발시간 단축을 꾀할수 있었다.
Python으로 뼈대 및 htmlparaer나 headerparser 등을 만든다음에 시간이 많이 소요되리라 예상이 되는 문서 filter 모듈부분을 C로 구현을 했다. C를 사용함으로써 속도문제도 어느정도 보완을 해버린것이다.
그래서 결론적으로는 집중할수 있는 부분에 집중하고 나머지 부분은 Python의 장점을 최대한 이용을 해 시간 단축및 필요한 부분에 집중할수 있는 시간을 번 것이다.

세번째 로봇의 커스터마이징이다.
로봇은 엉터리 html코드및 인코딩 문제 헤더 문제, 로그인 문제 등으로 인해 검색엔진을 납품할때 커스터마이징이 필요하다. 물론 커스터마이징이 필요없게 만드는게 유능한 프로그래머의 역할이긴 하지만 그렇지 못한 부분도 있어 어쩔수 없다.

CC BY-NC 4.0 왜 구글이 Python을 썼는지 이제 알것같다. by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.