To the kid who asked me about programming languages...
Yesterday, at a barbecue party I met a kid who was very interested in programming. He had been learning about programming languages through the internet and was very interested in the subject and about good practices of programming, the different programming paradigms, etc.. We had a good chat, where his confusion about the amount of programming languages became very obvious — a natural incarnation of the Paradox of Choice. Some of the questions he asked were like:
- Which programming language should I learn next?
- Should I focus on learning as many languages as possible or just focus on a single language?
- Which programming language is the best?
These questions are very interesting to me because they are something that I end up asking myself somewhat often, and I'm pretty confident that they'll appear in the minds of all those who constantly aim at becoming better programmers.
After our long chat, however, I had this epiphany that I want to share with you, kid.
Learning programming languages shouldn't be an end in itself, but rather a means to an end. Just like natural languages: it's rather worthless to learn esperanto if you're not going to use it to communicate something. Communication is the end for each languages serve as the means. Therefore the most important programming language for you should be the one where your ideas can be more easily and elegantly expressed, either to machines or to others. Sometimes this means the better language, other times it means the most commonly known one.