Quora 의 Python 선택 배경 및 기술적 고려사항
Source
Evernote/Inbox/(1) Adam D'Angelo's answer to Quora Infrastructure Why did Quora choose Python for its development - Quora.md
Summary
Quora 공동창업자 Adam D’Angelo 는 Quora 가 Python 을 선택한 이유를 설명하며, 프로그래밍 언어 선택이 매우 중요하고 변경 비용이 크다고 강조함. PHP 는 Facebook 의 레거시 문제점을 들어 배제했으며, C#/.NET 은 Microsoft 스택 의존성과 오픈소스 생태계 통합의 어려움, Mono 의 불안정성으로 제외함. Java 와 Scala 는 코드 작성의 번거로움과 JVM 생태계의 한계, Scala 의 신생 언어 리스크로 배제함. OCaml 과 Haskell 은 생태계 부족과 비엔지니어의 진입 장벽으로 고려하지 않음. Python 은 속도 문제(C++ 백엔드 오프로딩)와 타입 체크 부재(단위 테스트로 보완)를 수용할 수 있을 것으로 판단하고 선택함. 이후 Python 2.6 업그레이드, Tornado 프레임워크 오픈소스화, PyPy 의 발전 등을 통해 생태계의 긍정적인 진화를 확인함.
Key Points
- 프로그래밍 언어 선택은 매우 중요하며 사후 변경 비용이 큼
- PHP 는 Facebook 의 레거시 문제로 인한 부정적 사례를 들어 배제
- C#/.NET 은 Microsoft 스택 의존성, 오픈소스 통합 어려움, Mono 의 리스크로 배제
- Java/Scala 는 코드 생산성 저하, JVM 생태계 한계, Scala 의 장기적 지원 불확실성으로 배제
- OCaml/Haskell 은 생태계 부족과 비엔지니어의 학습 곡선 문제로 배제
- Python 의 속도 문제는 성능 민감 코드를 C++ 백엔드로 분리하여 해결
- Python 의 타입 체크 부재는 철저한 단위 테스트로 대체
- Python 2.6 호환성, Tornado, PyPy 등의 생태계 발전을 긍정적으로 평가