Go언어를 사용하는 이유
https://careerly.co.kr/comments/100430?utm_campaign=user-share
손현우 / 내가 Go를 좋아하는 이유 | 커리어리
lu 님의 블로그를 의역/요약한 글입니다 --- 몇 주전, 한 인터뷰에서 “Go 언어를 왜 좋아하고 사용하는...
careerly.co.kr
Ops 관점
- 성능
Go는 준수한 성능을 뽑아내는 개발언어이다
서버리스 처럼 런타임 시간에 제한이 있거나 미니멀한 환경에서도 잘돌아간다
물론 Rust나 C++ 만큼 효율적이지는 않다
- 크로스-컴필레이션
다수의 환경과 아키텍처에 손쉽게 배포를 감행할 수 있는 것은 매우 중요하다
- 정적 바이너리와 컨테이너화
Go를 컨테아너화 하는 것은 쉬우며, 정적 바이너리 덕분에 상당히 가벼운 이미지 파일로 컨테이너를 구동할 수 있다
- 시작 시간
쿠버네티스나 AWS ECS 등 컨테이너 오케스트레이션 툴을 사용할 때 컨테이너를 빠르게 구동시킬 수 있다
Dev 관점
- 로우 레벨과 하이 레벨 언어 그 사이 어딘가
Go는 파이썬 보다 좀 더 로우 레벨에 가깝다. C언어 보다는 하이 레벨 언어이다
세세한 디테일을 모두 알 필요 없을 만큼 고차원적이고 필요할때는 로우 레벨 코드로 작성할 수 있는 균형이 잡힌 언어이다
- 타입 시스템
Go 언어는 구조적 타이핑을 지원한다
- 잘 설계된 동시성 프로그래밍
gorountines와 channel로 쉽게 동시성 프로그래밍을 작성할 수 있다
- 스탠다드 툴
요즘 나오는 대부분의 개발 언어 처럼 Go언어도 패키지 매니저, 테스트, 빌드, 포맷 및 벤치마크 툴을 기본적으로 제공해준다
- 일관된 코드 작성 방식
Go언어는 개부분 직관적인 struct 분이라서 코드로 잔재주를 부리기 어렵다. 주니어나 시니어나 일관된 코드 작성 방식을 지킬 수 있다
Reference
손현우 / 내가 Go를 좋아하는 이유 | 커리어리
lu 님의 블로그를 의역/요약한 글입니다 --- 몇 주전, 한 인터뷰에서 “Go 언어를 왜 좋아하고 사용하는...
careerly.co.kr