Anthony J. Martinez

Languages

For much longer than a decade I have limted the programming languages in which I would even attempt to solve problems to a small set that I felt comfortable, or perhaps even safe. Initially, that was almost exclusively limited to Python. Several years ago the list was was doubled and grew to include Rust. There were advantages to this in the workplace. Few were as knowledgable of the latest and greatest Python features, and even fewer knew anything at all about Rust. Accordingly, there were also disadvantages to this in the workplace. No one would accept the risk of having one Rust developer, for example.

My own inability to know something is wrong, broken, or otherwise in need of attention led me to wonder if I had erred in my outright avoidance of Java, or my fear of C and C++. Somewhere around the end of May, I decided I would face C++ head on and learn C++17. Turns out I had little to fear beyond the numerous nonsensical ways in which the language seems to actively try to blow your leg off. Out of necessity, I ended up making production commits in Java as well. Through all of this, I followed the same methods I do in Python and Rust when I don't know the answer: I Read The Documentation.

If there is any point hidden in here it is probably that the languages ultimately do not matter that much. If you have a design and detail oriented mind, and there is a manual to be read, you more than likely can figure out some way forward. It may not be perfect, but that's why reviews exist.