Your thoughts are limited by your vocabulary. When I’m extremely pissed, sometimes English just won’t cut it and I wish I could express my anger in a Germanic tongue. Those who are fluent in multiple languages are able to formulate some really expansive thoughts.
I always wish I had taken the time to learn more languages when I was younger. My dad tried to teach me Japanese and my boyfriend tried to teach me Dutch, but I only learned enough of each to insult one’s mother before getting bored and moving on.
I now try to compensate by learning more programming languages. Each language has its best practices and boundaries. Some ideas are prohibitive in one language but frictionless to express in others. As a result, programmers of a given language will approach problems with the mindset they’ve become accustomed to.
C++ requires programmers to be thoughtful whereas Python encourages hacking. Lisp makes programmers feel like God. Perl is useful if you’re trying to throw off Chinese spies. I formulate my thoughts in Python but I wish I could think more like Lisp. Lately I have been forced to think in Java and it might be making me retarded.
I created a collection of minimum spanning tree solvers (Kruskal’s Algorithm) in 8 programming languages. I present each one as an image to visualize what a language looks like to a non-native speaker.
A more rational programmer might compare run time and compile time. But processors are fast enough already. If I’m staring at code 12 hours a day, I want it to be beautiful, because ultimately that’s what my thoughts will look like.
If programming languages were cars