I’ve learned a lot of languages over the years. Before the Internet that meant buying a book and working through it, often without even being able to run programs in the language. That’s how I learned C, from the original version of Kernighan and Ritchie’s The C Programming Language, long before I had access to an actual implementation, which in those days basically meant a computer running Unix.
When I got interested in Scheme, I bought PC-Scheme a version of the language for IBM PC’s written (for some reason) by Texas Instruments. I ran this on my father’s IBM PC-XT, and worked through the entirety of Structure and Interpretation of Computer Programs using it. (In between sessions of the original SimCity.)
Fast forward nearly thirty years, and I recently read the article “Why I Am Learning Rust Now”, which made a pretty good case for Rust as a modern systems programming language. It strives to be efficient, like C, yet incorporate modern features for type safety, concurrency support, functional programming, etc. In exploring Rust, I found that learning programming languages seems to have become a rather tedious process for me. Why isn’t it as challenging and fun as it was when I learned Scheme?