The power of being able to code is to build something and build it well.

There are multiple ways you can build it well and multiple languages you can use.

The programming landscape continues to become more and more crowded with interesting tools and new languages and frameworks and it’s certainly important to stay up to date but it’s a balancing act as well. You don’t need every new thing. You constantly have to measure the true value of something new. New doesn’t necessarily mean better.

Overall, I you want to be able to build quickly and confidently and the best way to get to this point is to pick a languages and stick with it.

I think Python, Ruby and PHP are still good bets. But if you’re just focusing on web programming today, you’d likely want to start with JavaScript given the incredible advancement in support around client-side code.

I think this same principle applies to natural languages as well. I remembering being at a lecture by a filmmaker at the American University of Paris when I was studying abroad there and the filmmaker said something like, “I used to really want to learn how to speak French and then I realized I don’t even know English that well so I decided to spend my time becoming better at my native language.”

I think there is something to this. I believe in people and think we all can be polyglots BUT it will take an incredible amount of efforts and energy for a majority of normal people and given this you have to be self-aware and consider whether that energy is better spent doubling down on your native tongue — or chosen programming language, or any discipline for that matter. Part of having a disicpline, after all is having the discipline to stick with it until mastery.