Оба языка уже давно вышли из категории «экзотика» и используются в продакшене. Вопрос не в том, какой язык «лучше», а в том, под какую задачу и команду что подходит.
Go: сильные стороны
Быстрый старт, один бинарник, отличная стандартная библиотека и встроенная конкуррентность. Идеален для API, микросервисов, утилит и всего, где важна скорость разработки и предсказуемое поведение под нагрузкой. Сборка за секунды, деплой без головной боли.
Rust: когда он оправдан
Когда нужны гарантии памяти без GC, низкоуровневый контроль или встраивание в существующий C/C++ мир. Также логичный выбор для критичных по производительности кусков: парсеры, обработка потоков данных, системные утилиты.
Личный опыт
Мы перевели один из внутренних сервисов с Go на Rust не из-за «модно», а из-за конкретных требований по латентности и предсказуемому потреблению памяти. Кривая обучения была заметной, но результат того стоил. Для остальных сервисов Go остаётся основным выбором.