Saturday, May 13, 2023

Rust is an interesting programming language

I've never been much of a programming language junkie. I know several programming languages extremely well (C, Java), and many programming languages very poorly. And I don't spend a lot of time keeping up with the world of programming languages.

But I've been trying to learn more about Rust, and I'm finding it completely fascinating!

What I know so far is:

  • Rust is a very "serious" language. It's industrial strength, very capable and extensive, with excellent documentation (including of course "The Book") and an astounding set of available software libraries.
  • Rust is not a beautiful language! Although it benefits from the many decades of programming language invention that precede it, it does so by borrowing bits and pieces from many different programming paradigms, and the result is rather a mess. And it does itself no favors by making peculiar style choices. Its preference for terse expression causes it to use highly abbreviated terms such as 'fn', 'mut', and so forth. It worsens this ugliness by incorporating a number of important concepts into single character punctuation symbols, so that '!', '?', and even "'" have important meaning, and every single character matters, so that '(val)' and '(val,)' have critically different meanings. 90 seconds of web searching will find you dozens of lovely pages venting against Rust's dense and awful syntax.
  • Rust is easy to get started with, but challenging to get comfortable with. You can find many many fascinating introductions to Rust, and it's simply remarkable how easy it is to find tutorials like "Let's build a gRPC server and client in Rust with tonic" or "Rusqlite is an ergonomic wrapper for using SQLite from Rust". And you'll be amazed at how just a few dozen lines of code can build a complete working program that you can compile and step through in your debugger. But boy do those few lines of code hide a vast amount of complexity underneath! And if you want to understand what your little example program is actually doing, be prepared to invest some serious time.

I don't know how long I'll remain infatuated with Rust, but it's been a very interesting few weeks diving in.

No comments:

Post a Comment