Rust isn't just a systems language... It's much more. Agree/disagree?

144 points bxgrant

I want to make a case to some coworkers that Rust is much more than just a "systems" language. I want to make the argument that Rust is a good "enterprise" programming language, just as Java has been seen to be for quite some time.

I certified in Java in '97. At the time, I remember folks were talking about Java as a good systems language. The hardcore C/C++ crowd didn't like this because of Java's performance, however what was really meant was that it was a modern language that was great for creating complicated, large-scale enterprise applications with its excellent, for the time, concurrency model, networking and standard libraries.

I understand why many look at Rust and think it's just a systems-level language. However, there's a big difference between having to put some thought into ownership of memory as part of what you do than there is with allocating/deallocating memory as in C/C++. But yes, it takes mental energy to care about ownership more than other languages.

But the beauty of Rust is much more than just its performance and memory security. It's the modern language features that are second-to-none that I feel make it a great language for enterprise application development.

  • First-class package mgt with Cargo
  • Composition instead of inheritance as the way to model the world in software (traits)
  • Enums bringing incredible power for modeling real-world, complicated data types as well as any language out there does it
  • Pattern matching for clean, readable and yet powerful code
  • Option built-in to handle the null problem
  • The smart compiler to help with correctness and find classes of errors that would absolutely burn you at runtime that decreases overall cost of ownership by pushing you to write great code to start with
  • Many other modern features of the language

I am ready to go to bat with my coworkers that Rust is popular not because of its systems-level features and performance, but more because it is a modern language that is well suited to today's enterprise problems. I need to know if I'm off base. What do you think?