After reading The Pragmatic Programmer: From Journeyman to Master I was rather pleased with how useful this book turned out to be. But there was one particular thing that got stuck in my head, not neccesarily because it was the most valuable lesson, but rather because as a Programming Language Maniac it made my think of me own relationship with programming languages and my journey as a programmer.
Learn at least one new language every year. Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden your thinking and avoid getting struck in a rut.
In general I agree with this advice, but as with everything in programming (and life?) it’s important to not take things too literally (but that’s a whole post altogether). But a lot of much smarter people have written about that already, instead I just want to reflect on my own learnings.
How do different languages solve the same problems in different ways? How will learning those help me broaden my thinking? How much should I learn off it to gain this benefit? I never fully stopped and reflected after learning a language, not always at least. Sometimes I’ve learned a language because I had to, sometimes I learned it because I wanted to.
So far I’ve identified about 40 languages that could be considered programming languages in one way or another. What I want to do is go through each language that I’ve ever learned, and program the same simple examples for each of them. Then look at what this particular language can teach any programmer (beginner or professional).