Choosing a Programming Language

Omotola Ogunsola
4 min readJan 6, 2022

--

Often times, coding beginners set out very confused about a programming language of choice to take on a learning path, and this is almost normal. I started myself, maybe naive and lost as I easily thought, why shouldn’t I start with Python, because it is often referred to as the “easiest” programming language, even if eventually my goal at the time would be becoming a Fullstack (MERN) developer.

What programming languages should I learn? Sometimes this is phrased as what is the best programming language to learn? And for this let’s talk about trains. Asking what’s the best programming language is like asking what’s the best train? It is a perfectly valid question, but imagine asking that question in a room full of train enthusiasts. You will get a lot of heartfelt, enthusiastic, and completely different answers. This train is because it’s the most friendly and accessible. This train is the fastest. This train, it’s the most popular, This train is proven, it’s been around the longest. This train, it’s the newest one, it has all the modern features. This train is the safest, that’s the most reliable, that one can climb steep hills, that one goes underground, that one’s free. All these reasons are good, all these reasons are true, and they are understandable, but they’re missing a vital question. Where do you want to go?

More than anything else, that question will tell you which train you need to get on. You could be admiring the most magical and technologically-advanced train on the planet, but it’s not going in your intended direction it ain’t the train for you. Now it’s true your decision might even be straightforward, if you’re learning this content because you want to expand your role in your current company, and they mainly use C# and. NET, or mainly use Java, or mainly use Ruby on Rails, then whatever you’re surrounded by and have a chance to use is probably the first technology to dive into. I’m more talking to you if this next step is your decision. Perhaps you’ve even been reading about different languages, but hesitant to commit because you’re worried about what happens if you pick the wrong one. Now in practice, this is really not an issue, because as we’ve seen that so many of these skills apply across languages. So the first thing to ask is not what language to choose, but rather what kind of development you’d like to explore, what type of things you’re interested in building. And that shifts us from what train do I pick to where am I going? You don’t need some massive 5 or 10-year master plan, but if you can decide on a short to medium term goal this will immediately narrow your choices. Are you most interested in making games, you’d then consider technologies like Unity and Unreal, and you’d find certain languages more popular here, like C++. But C++ would not be a language I’d suggest if your focus was web development. Then it might be a framework like Ruby on Rails or ASP. NET, with their associated languages, and very often JavaScript.

Would your interest be in building phone applications? And if so do you lean to Android or Apple devices. Or maybe none of these, perhaps you’re more interested in writing programs for enterprise-level businesses where your goal is to work for a Fortune 500 Company. Or perhaps you’d like to work with visualizing massive amounts of data to make sense of it all. Now there are of course many other specialized areas, computer vision, audio, robotics, a host of others. And of course, I’m just scratching the surface here, being intentionally brief. There are many other options within each of these categories, but the point is, you will find some languages and technologies are simply more associated with particular types of development. And if you see this and think, but I want to try it all, well you can, you just can’t do it all at the same time. So figure out what you want to do first. And if you’re still not sure then let me narrow it down to my personal and unashamedly biased opinion, my top three suggestions for a first programming language, Python, Swift, or JavaScript. Why? Well first, they’re all languages that would be considered easier and friendlier than some of the alternatives, but they’re not introductory or beginner languages, they’re all modern, practical, and pragmatic real-world programming languages. If you’re interested in making websites look closer at JavaScript. If you enjoy and mainly work on Apple hardware look closer at Swift. If you can rule both of those out then look at Python.

Pick a language, maybe watch an hour or two of a fundamentals course or a getting started course , and if looking at that languages doesn’t then make you want to run screaming from the building, then jump in. But go into it with the idea that you might spend 3 to 6 months regularly spending time learning it, playing with it, breaking code, fixing code, before you even worry about or make a decision about what to do next. And picking a technology, whether it’s one of my suggestions or something entirely different will also make your choice of programming tool easier, what application will you actually be working in to write you source code and develop your program?

If you chose C# you’d use Visual Studio, if you picked Swift, you’d use Xcode, if you want to make Android apps, you would use Android Studio. And give yourself permission to be frustrated occasionally. This is programming, some of this is easy and some of this takes time. So expect to get stuck from time to time, and expect to work your way through it. The first language is always the hardest to learn. Good luck and enjoy the journey.

--

--

Omotola Ogunsola

Hi, I'm Omotola. An architect by training and a self-taught software engineer with a passion for cloud computing.