In Rust We Trust
For many years, I was primarily a C programmer. I learned C shortly after fire was invented. It was an exciting time, what with the discovery of the wheel; it was clear that the whole world was changing. I would ride my dinosaur to school, and then bang together software in C. I was using emacs, of course. As an undergrad, one of the hazing rituals was to break the pinkie fingers of a freshman, and set them at an angle so that they would be able to hold down the control key while typing any letter on the keyboard. Almost everything in this paragraph is completely untrue. Or is it?
But in all seriousness, I love C. An awesome language, and I have an infinite amount of love for Brian Kernighan (even though he was a professor at Princeton) and Dennis Ritchie.
I teach C as part of one of my undergrad courses. It's a freshman-level architecture class, where I try to get students to understand how microprocessors actually work. C is just assembly language with better syntax. Assembly language is just machine code with better syntax. Machine code is just flipping switches on transistors. I don't go any lower in the abstraction layers. Anything below the transistor level is magic.
I never got on the bandwagon for C++. The << and >> for input and output really bothers me (it's bit shifting! what on earth was Bjarne thinking?!). I just didn't like the syntax, templating. It just never felt right. I met Bjarne at an ACM event; really nice guy, not at all the diabolical monster I had imagined him to be, based on his language. I never got on the Java bandwagon either. Sun Microsystems promoted Java instead of TCL, and I can't forgive them for that. TCL is so much better.
Objective C was the first "modern" language that clicked for me. I write iOS apps in my spare time, and have gotten hooked on how Apple has set things up with their UI. Really nice stuff.
Recommended by LinkedIn
But now? Rust-lang.org, my friends. If you have not checked it out, check it out. I had heard about it from some of my faculty colleagues, so it was on my to-learn radar. One of my undergrad students got pulled in to work on chip global routing contest, and they suggested doing the code in Rust -- so it seemed like the right time. I try to listen to the undergrads; they can be really smart.
What's good about Rust?
So, after decades of working almost exclusively in C, I'm now working almost exclusively in Rust. Highly recommended. In Rust I Trust.
Heck yeah!! I've been on the Rust train since I was your student (pre-1.0), welcome aboard Prof!
I've been doing some MCTS experiments in it. It's been a struggle to learn it, but I am finding it shape my thinking in a new way. I think I'm going to keep going at it. (Also... I know Python, even with C libraries - numpy and numba - isn't a great example for speed, but my Rust version is ploughing through iterations at about 20x the speed)
Intriguing!
true that - "break the pinkie fingers"
I absolutely loved your opening paragraph ! 😂😂😂