What exactly goes into choosing your first programming language? Well, maybe it is what your programming instructor chooses to teach in your CS101 course. It could be whatever your employer chooses to use for building their widgets. Maybe it is what all the companies in your metro are hiring for and you really need a job. You could spend a great deal of time figuring out the perfect first language to learn to code, but really you just need to start and stop putting it off.
Language Overload
Let us be real here. The number of choices for building great software is overwhelming! This is definitely a first-world problem for sure. Choosing your first language can be like picking a movie to watch on Netflix without knowing what genres you like. The problem with asking other developers is that they will swell up with pride at this question and tell you a hundred thousand reasons why their language is better than the other language. None of these reasons apply to you because you probably do not know what they mean in half of their statements. This is not a knock on you or on them, it is just the nature of asking the question. So if you are going to ask it, ask it carefully.
The Dilemma of Choice
When you are starting out learning computer programming, you are really not very sure of yourself to begin with. You are probably doubting whether you have what it take to do this thing called coding. Then you layer on the decision of what language and there is a real recipe for disaster. There will be a lot of different opinions as to why one language is better to start learning with and why, but know that you will not be stuck with your first choice.
Your first language is a lot less about the language and more about you learning. You will need to learn concepts, you will need to build confidence, and you will need to gain momentum. The last thing you need to do is to get stuck before you start.
Oh Great FOMO!
One of the greatest barriers to choosing a first language involves a LOT of FOMO or the fear of missing out. I know this because I have been paralyzed by FOMO when choosing a language. Part of this is about investing a lot of time learning a particular language, fearing that I will somehow pick the wrong one and need to start over. So what is the key? What factors do we need to consider?
Practical And Useful
In our example of building a portfolio, start by learning the fundamentals of HTML, CSS, or JavaScript. These are the building blocks of the web. These are important skills which are helpful regardless of what area of development you ultimately focus your career on. Also keep in mind that although you are aiming at building a portfolio, you will need to crawl before you can walk. Practically, this means making many smaller projects before you are ready to fully build out your portfolio. You will start building small, seemingly trivial things and build up to more useful projects such as React components which power your portfolio.
So yes, choosing a first language is important, but start by choosing something which will prove both practical and useful in the short term and for your career longterm.