news.volyx.in

Migrating from Go to Rust (corrode.dev)

478 points by jabits · 50 days ago · 507 comments on HN

Article summary

The article discusses the migration from Go to Rust, highlighting the differences between the two languages and the benefits of using Rust, such as compile-time guarantees and memory safety. The author, who has experience with both languages, provides a balanced view, acknowledging the strengths of Go but also its limitations. The article focuses on the backend development perspective, where Rust's advantages are more pronounced. The author also shares personal anecdotes and quotes from other developers to illustrate the points being made.

Main themes

  • Go vs Rust
  • Language design tradeoffs
  • Compile-time guarantees
  • Memory safety
  • Backend development
  • Dependency management

What commenters say

  • The Rust package management situation is problematic due to the large number of transitive dependencies.
  • A large standard library can be beneficial, but it can also lead to bloat and maintenance issues.
  • Some developers prefer a conservative standard library with a focus on stability and maintainability, while others prefer a more extensive library with more features.
  • Dependency management is a complex problem that has not been fully solved by any language, including Go and Rust.
  • Pinning dependencies is crucial to ensure reproducibility and stability, but it can be challenging to achieve in practice.
  • Virtual environments, such as those used in Python, can be problematic and prone to versioning issues.
  • The idea of a 'batteries included' standard library is not always the best approach, as it can lead to a large and unmaintainable library.
  • The tradeoff between dependency management and ease of use is a delicate balance that different languages and ecosystems approach in different ways.