I’m an engineer, and coding as a way of expressing a solution to a problem was something I did a lot in University, but in my career I’ve completely fallen out of practice. I still solve problems for a living, but these days my solutions are expressed in a Word document…or more likely an email.
I’m a computer generalist and junkie…it’s just hardwired into my DNA at this point. In all my “junkie-ness” I never returned to coding, until now.
Late in 2020, I decided to get serious about it. Thanks to Codecademy, I chose to pick up again with C++. My University coding skills, long ago in the 1990s, were all about doing procedural programs in Turbo Pascal. I knew a little C, back in the day, so I figured C++, at least the basics of it, was a good vehicle to get back in.
C++ is very rigid and unforgiving, but the memories and muscles came back and served as a good warm up. Codecademy took me from the ground up and gave me all the knowledge to do basic things. I finished all their lessons, which put me in a good place to practice on my own. These early steps oddly led me down a weird rabbit hole of creating win32 programs in C++. I found that rabbit hole briefly appealing because, in this desire to return to coding, my endgame is to do something useful and create something other than a console program.
The win32 hole highlighted a bit of a problem…I’ve been a little guilty of what I call “squirrel” syndrome. A more modern language called Rust piqued my curiosity and I spent a couple of weeks down that new rabbit hole. It attracted me as it was developed to have the power of C++, but without the associated pitfalls and baggage around memory usage. I liked the idea of starting something that was built with safety in mind. A substantial portion of software vulnerabilities stem from poor C++ programming hygiene.
I found a wonderful Rust tutorial in which you code a text editor from scratch. I completed most of it, and it will serve as the foundation for whatever else I do in that language. I intend on returning to that tutorial to finish it and have ideas of my own for how to eventually extend the text editor I built.
I can’t guarantee I won’t fall in more rabbit holes, as I go after the next shiny thing that I’d like to learn about, but at least for the rest of 2021 I plan to focus on the basics.
Forgive me…but React is shiny and I need to go check that out… :)