3 ms·
My programming background is that I started in High School in Java, and then moved to a C and C++ workload in my college courses, and then in my later college y
by dwrodri 3y ago
My programming background is that I started in High School in Java, and then moved to a C and C++ workload in my college courses, and then in my later college years I picked up Python for research work. The importance of this trajectory, is that throughout those first 6-7 years, there weren't a lot of people telling me to be less clever, or to always focus on doing it the most "obvious" way. In particular, jumping from being in an environment where I was constrained to using C++03 with little access to a standard library to Python 3.X made me feel like I was drunk on the power of clever one liners. More specifically, it was the sense that I can get SO much more done with a screenful of code. It was also this exposure to Python on a regular basis that introduced me to functional programming, which didn't help with my propensity towards a code-golfy style.
It wasn't until I started writing code in Go years later that I really felt like I had encountered a programming experience that TRULY made me pay for my subconscious emotionally-driven need to get a dopamine hit after cramming a bunch of logic into a few lines of text. I have confess, when I worked on Go codebases, there is still a lack of "spark" that comes having code that feels so straightforward. But learning how to deal with the reality that it's quite frankly emotionally immature of me to shirk away from programming stuff just because it doesn't tickle my brain has probably been one of my most significant growth moments as a programmer.
If I'm writing code that pays my bills, I'm much better in the long run setting aside my emotions and keeping it as straightforward as possible, even if that occasionally means that simple stuff like walking through a CSV takes up an entire screen of text.
All of these words to say, you're right, and I thought it was worthwhile to discuss how I ended up realizing you were right.