Блог·2026-03-20

Почему Go, не Rust

Прагматизм vs. идеализм.

#engineering

Перед стартом мы спорили: писать на Rust или Go. Решили Go. Год спустя — не пожалели.

Аргументы за Rust

  • Memory safety без GC
  • Performance ближе к C
  • Modern type system
  • Меньше runtime сюрпризов

Почему мы выбрали Go

  • Команда быстрее в onboarding — Go проще для midlevel
  • Cross-compilationGOOS=linux GOARCH=arm64 go build работает out of the box
  • Стандартная библиотека богаче для серверного code
  • Эcosystem TSDB/observability в основном Go (Prometheus, VictoriaMetrics, Grafana backend)
  • GC pauses в практике не больно для наших workload

Где компромисс

Pure compute-heavy code (PromQL execution в VictoriaMetrics) — там Go в нюансе медленнее, но VM уже написан на Go и оптимизирован. Мы получаем плюсы.