•
구글에서 만들어진 고 모질라에서 탄생한 러스트
•
2개의 언어 모두 현대 소프트웨어 개발의 필수 요소인 정교하고 통합된 툴체인, 메모리 안전성, 오픈소스 개발 모델, 강력한 사용자 커뮤니티 제공
•
비슷한 부분을 제외하면 러스트와 고는 서로 극명하게 다른 언어
두 언어를 비교할때는 '객관적으로 더 우수한가'를 따지는 것이 아니라, 주어진 프로그래밍 작업에서 '어떤 언어가 더 적합한가'의 시각이 필요
•
성능 측면
1.
러스트
•
메모리 취급 및 처리를 위한 러스트의 제로 코스트(zero-cost) 런타임 추상화 덕분에 C 및 C++과 대등하거나 거의 근접한 속도로 실행
•
안전이나 편리함을 위해 성능을 희생하지는 않음
•
개발자가 메모리 관리를 위한 러스트의 추상화를 배우고 마스터해야하는 점이 비용
2.
고
•
개발자의 편의성을 위해 어느 정도의 런타임 속도를 희생
•
메모리 관리는 고 런타임이 담당하기 때문에 런타임 관련 오버헤드가 필연적으로 발생
→ 많은 시나리오에서 이 타협은 무시해도 되는 수준
•
프로그래머가 모든 객체에 대해 강력한 형식을 요구해야 한다는 작은 대가를 치르는 대신 파이썬과 같은 편의성 중심 언어에 비해 몇 배 더 빠른 속도를 제공
→ 러스트는 전체적으로 더 빠르지만 일상적인 사용면에선 두 언어의 차이가 미미함
•
메모리 관리 측면
1.
러스트
•
메모리 안전성이 확보되지 않은 상태에선 컴파일이 되지 않음
•
높은 안정성을 자랑하지만 이 안정성에는 비교적 높은 학습 난이도
2.
고
•
메모리 관리가 런타임에 자동으로 처리되는 방식
→ 고 또한 안전성에 신경을 썼지만 고성능 시나리오에서는 러스트가 더 적합하다는 것은 입증된 사실
•
개발 속도 측면
1.
러스트
•
고보다 언어 기능이 더 많아서 배우고 마스터하는 데 그만큼 더 오래 걸림
•
컴파일 시간이 고 프로그램보다 대체로 더 오래 걸림
2.
고
•
단순함과 속도를 모두 제공
•
컴파일 시간이 짧으며 런타임은 파이썬보다 훨씬 더 빠름
→ 빠른 개발 주기와 인력의 신속한 프로젝트 합류가 무엇보다 중요하다면 고가 더 나은 선택