Quiver you say………? Like Hawkeye or Green Arrow who have an assortment of trick arrows. These arrows have special abilities used when needed in special circumstances. I see this as a perfect analogy for Coders, as we too should have an assortment of programming languages to call upon. Like the master archers, I feel that every software engineer, developer, programmer, coder needs to have a quiver of programming languages to draw from in order to solve a specific problem. As, each language has it’s drawbacks, it would be best to use languages which complement each other.
“Play to your strengths”
Programming languages can be divided into different “Programming types“, however nowadays most popular programming languages try to encompass all types, functional, object-orientated, interpreted language, etc. Within those programming types are a plethora of different programming languages. Questions which normally arise are which language should I learn? From my personal experience I would say master one language before you move to another. As, almost all languages have the same fundamental structures and syntax. You could always start with one of the most popular ones and move to the more obscure ones. Reason being that, most popular languages have a wider selection of learning material or communities which can help you when you get stuck.
This is what I think of when learning a new language: Language fundamentals -> One popular framework -> Some cases, a tech stack surrounding that framework.
- Java -> Spring Framework
- C# -> .NET Framework
Few sites which I use to learn a new language:
Currently, I am re-learning Java. As, professionally I have spent a lot of time on learning the ins & outs of legacy systems. So, you can expect a lot of content mainly focused on Java, for the next few months. 🙂 So, what do you keep in your quiver?