BRIEFING
Go vs Python vs Bun
Go vs Python vs Bun
작은 백엔드에서는 무엇이 중요한가
Scope
핵심 질문
작은 HTTP 서버나 자동화 서비스를 만들 때 Go, Python, Bun/TypeScript는 개발속도·배포·메모리·생태계 측면에서 어떻게 선택해야 하는가?
Research
핵심 근거
- Go는 정적 binary와 낮은 runtime 의존성, concurrency model이 강점이다.
- Python은 광범위한 library와 개발속도가 장점이지만 interpreter와 dependency 환경 관리가 필요하다.
- Bun은 TypeScript/JavaScript ecosystem을 사용하면서 runtime·package manager·bundler를 통합한다.
참고 자료
- Go: https://go.dev/doc/
- Python: https://docs.python.org/3/
- Bun: https://bun.sh/docs
Draft
세 언어 모두 작은 API 서버를 만드는 데 충분히 빠르다. 실제 선택은 raw benchmark보다 배포와 유지보수 비용에서 갈린다.
Go
단일 binary로 배포하기 쉽고 goroutine 기반 concurrency도 네트워크 서버에 사용할 수 있다. 장기간 운영할 작은 daemon이나 인프라 도구에 편할 수 있다. 다만 idle memory가 Python·Bun보다 작다는 순위는 동일한 프레임워크·의존성·부하·버전의 비교 측정 없이 확정하지 않는다.
Python
개발속도와 library 생태계가 가장 큰 장점이다. 데이터, AI, automation을 함께 다루는 API라면 기존 Python 코드를 그대로 재사용하기 쉽다. 반면 virtualenv와 native dependency, interpreter version을 함께 관리해야 한다.
Bun/TypeScript
웹 프론트엔드와 같은 TypeScript 타입과 npm ecosystem을 사용할 수 있다. JSON·HTTP 중심 서비스는 빠르게 개발할 수 있고 Bun이 runtime과 package manager를 통합한다.
선택
인프라용 장기 daemon과 단순 배포면 Go, AI·데이터 library를 활용하면 Python, 웹 stack과 TypeScript를 공유하면 Bun이 합리적이다. 가장 작은 서비스에서는 새 언어를 도입하는 비용이 성능차이보다 큰 경우가 많다.