Two Years of Rust
a year ago
- #Backend Development
- #Programming
- #Rust
- The author reflects on their experience working with Rust for two years on a B2B SaaS backend.
- Rust is described as a 'better Go, or a faster Python', highlighting its speed, static typing, and great tooling.
- Performance in Rust is praised for its high ceiling, allowing optimizations without hitting language-imposed limits.
- Cargo, Rust's build system and package manager, is lauded for its declarative nature and excellent developer experience.
- Rust's type safety and error handling are highlighted as strengths, reducing the need for extensive testing.
- The borrow checker is discussed as a challenging but ultimately beneficial feature for memory safety and concurrency.
- Async programming in Rust is defended as a necessary complexity for high-performance network services.
- Refactoring in Rust is straightforward due to the compiler's helpful error messages.
- Hiring Rust developers is seen as easier due to the language attracting curious and skilled programmers.
- The author expresses a positive emotional response to working with Rust, contrasting it with the anxiety of Python.
- Criticisms include the module system's complexity and slow build times, attributed to Rust's design choices.
- Mocking in Rust is described as cumbersome due to the language's lifetime and trait system.
- The expressive power of Rust's proc macros and traits is noted as a double-edged sword, capable of creating complex, hard-to-debug code.