I decided recently that it would be a good idea to acquaint myself with programming in the object oriented style.

My first proper programming language was Python, which I started using in 2023. Before this, the only programming languge I had any experience with was LaTeX (which is Turing Complete, so no complaining about that label!) which I had been using since 2016. Aside from Python, I learned C, Rust, SML, and Lean 4 in 2024.

So far, most of my time has been spent writing programs in the imperative/ procedural and functional styles. I am particularly fond of the functional style of writing functions because it corresponds fairly directly to how I as a mathematician would think of describing a function. But I recognize that each abstraction has its use, so I decided to at least look at how programs are written in an object oriented style so that I can know how to make the appropriate decisions in designing programs.

Since I have known Python the longest, surely this is a good place to start, right?