SDForum Python Meeting이라는 모임에서 PSF 멤버이자, ASF의 의장이기도 하며, 구글 직원이기도 한 Greg Stein에게 한 호기심 많은 파이썬 사용자가 인터뷰를 해서 정보를 마구 캐내어 왔습니다. (SDForum은 실리콘 밸리의 개발자들의 기술 사교모임 비슷한 것 같군요. 흐흐) 파이썬을 쓴다고 하기는 하고, 귀도를 데려가는 걸 봐서 뭔가 하는 것 같긴 한데, 구체적으로 어떻게 쓰는지는 베일에 싸여 있었던 것이 이제 명확히 드러났습니다!
글에 구체적으로 나와 있지만, 주요한 몇가지만 요약하자면,
- 구글은 주로 C++을 쓰기 때문에, C++ 코드를 SWIG으로 감싸서 쓰는 경우가 많고 점차 늘어나고 있다.
- 다른 언어간의 통신을 위해 자체적인 바이너리 기반 RPC 프로토콜이 있다.
- 구글 내부의 모든 파이썬 코드는 반드시 PEP-8을 따라야 하는데 인덴트는 2칸으로 하는 것이 차이가 있다.
- 구글의 빌드 시스템은 완전히 파이썬으로 돼 있고, 의존성 관리, 주기적 빌드 등 모든 것을 관리한다.
- RPM같은 내부 패키징 시스템이 있는데 파이썬으로 된 것이다.
- 서버 관리와 서버간 정적 데이터 전송 등에 파이썬을 쓴다. 물론 모니터링, 리포팅, 로그/분석 등도 파이썬이다.
- code.google.com과 Google Groups 등 일부는 프론트엔드 서비스까지도 파이썬으로 되어 있는 것도 있다.
- 구글에서는 파이썬을 어울리는 적소에 사용하고 있기 때문에, 파이썬의 속도가 문제되는 경우는 거의 없다. 퍼포먼스가 필요한 경우에는 C/C++라이브러리를 SWIG으로 긁어서 사용한다.
그 외에도 구글이 MySQL을 주로 사용하고 있는 이유가 무척 흥미로운데, 상용 DBMS를 쓰던 시절에 벤더에게 새로운 기능을 추가해달라고 요청했을 때 심지어 개발자 비용을 대겠다고 해도 거절을 당한 경험을 하고서는, 그 다음부터 오픈소스로 바꿨다고 합니다. 그리고, 오픈소스가 아님에도 불구하고 자바를 쓰는 이유는 워낙 좋은 자바 프로그래머 인력이 많기 때문에 어쩔 수 없이 그러는 것 같군요. 흐흐.;;
더 재미있는 것들이 많이 내용에 나와 있으니 관심 있는 분들은 읽어보세요~
자.. 이제 느려서 파이썬 아무데도 못 쓰겠다고 하는 사람? =3=3
자 우리 이제 이 글을 소문냅시다!
이런 내용들이 마구마구 나와줘야 파이썬 하는 보람이 있는데.
IronPython이 VS 2005에 포함이 않되서 실망하던차에..
조금은 안도의 한숨..
구글에서도 MySQL을 쓰는군요! (흥미롭..)
거의 다 요약해주셨는데, 그외에 고유 패키징 시스템을 오픈 소스로 공개할 의향이 있다는게 기대가 되네요 ^_^