Build a Cup Once, Wash it a Thousand Times- Rust vs Python

Recently I became a voracious reader of David Graeber, and in a talk about BS jobs, he gave a great analogy, “you make a cup once, you wash it a thousand times”.

cup

This is the essence of the problem with Rust vs Python in 2025 and beyond. Rust is a sturdy cup that is easy to wash. Python is an easy cup to build, but very difficult to wash.

Building vs. Washing a Cup: Rust vs. Scripting Languages

Key Points:

  • Analogy: Building a cup (initial development) vs. washing a cup (maintenance)
  • Rust represents a well-crafted cup, while Python represents a quickly made, crude cup

Advantages of Rust:

  1. Optimized for long-term maintenance
  2. Compiler catches bugs early:
    • Type errors
    • Syntax errors
    • Concurrency issues
  3. Better packaging and deployment
  4. Improved energy efficiency
  5. Smaller carbon footprint

Disadvantages of Scripting Languages (e.g., Python):

  1. Easier initial development, but potential long-term issues
  2. Packaging often an afterthought
  3. Slower package performance
  4. No compiler to catch certain types of bugs

Considerations for Choosing a Language:

  • Long-term maintenance costs
  • Energy efficiency
  • Carbon footprint
  • Deployment process
  • Overall cost (human labor and cloud resources)

Takeaway:

When selecting a programming language, consider factors beyond initial ease of use. Languages like Rust may require more upfront effort but can provide significant long-term benefits in terms of maintenance, performance, and reliability.

References

Related