Skip to main content

What programming language should you learn first?

 This is usually the biggest question for many people who are venturing into programming. The sheer number of programming languages out there including guides to choosing programming languages can confuse the beginner greatly. The question now is why one more guide? While there might be numerous guides out there, this is my own contribution and depending on what you see first when you search: What programming language should I learn? Your entire future will be determined by the guides you read and come to believe. 

I will be very brief in this guide as I do not want to take beyond 10 to 15 minutes of your time so let's start.

The first question you should ask yourself before getting into programming is what you eventually want to do with this knowledge. Do you want a job? or do you have something in mind you want to build? As someone who spent about 20 years meandering around programming languages and software technologies, I say with some authority that you should answer these questions first before even going further. 

If your answer to the first question is you are looking to learn to program so that you can get a job, another question arises, what kind of companies are you hoping to get into? You need to be able to answer this question because the language most suitable for you will vary depending on your choice. 

If you are of an entrepreneurial bent and hope to build something you have in mind, then you must research the appropriate technologies that will be required for that and your choice of language will be greatly influenced by that choice. 

Now we have spoken abstractly about language choice but we have not yet mentioned any languages, that is deliberate because you need to make those decisions first before you get your hands dirty in the nitty gritty of technology choices. If you don't decide properly you will learn useless technology that you will not have to use except maybe develop your brain.

If your goal is to get into any of the big MAANG companies, then my earnest advice to you would be to learn PYTHON. Why python, it is the easiest language for beginners but it is also a very powerful language. It will be easy to build projects for your resume and also learn the fundamental data structures and algorithms needed to pass technical interviews at the level of those companies. Those big companies are not very strict on language choice when you are trying to get in, and their focus is merely on assessing your technical prowess in problem-solving. So choosing the easiest language with minimal but very powerful features and also interactivity will help you in learning very fast what you need to get into those companies. While you are there you might be required to learn other technologies which is no big deal since you will already have a solid python foundation on your belt. 

If your goal is to work at smaller companies, or NOT MAANG's, then you might have to investigate these companies and see the most common tech stack. While these companies might not have very hard requirements on the kind of problem-solving you are required to do to get into a MAANG, they usually require that you know their existing tech stack so that you can easily become productive once you start. 

As a beginner with no understanding of what programming is actually about it will still be a good idea to learn pyhton before other programming languages and it will not be a loss to you. It will help familiarize you with programming concepts so that when you are learning some other stack for some target companies, you would already have a sufficient technical base. 

Now if you want to build something like a game which might require some C++ it will still be a good idea to get python in your belt. 

The bottom line is that programming is about problem-solving not about languages, but the language you use to communicate with the computer might make your life easier or worst. Learning python is very essential in today's world of technology if you want to get into programming, it is foundational and is very fast to learn. No matter what your journey might end up looking like, python is a solid foundation. Even if you were interested in the web, which would require mastery of Javascript python is still a good place to start. 


Popular posts from this blog

Next Steps Towards Strong Artificial Intelligence

What is Intelligence? Pathways to Synthetic Intelligence If you follow current AI Research then it will be apparent to you that AI research, the deep learning type has stalled! This does not mean that new areas of application for existing techniques are not appearing but that the fundamentals have been solved and things have become pretty standardized.

What is Intelligence: Software writing Software

Sometimes I wonder why programmers are hell-bent on writing programs that can communicate in natural language and not even putting adequate effort into writing programs that write other programs. Maybe is because of the natural tendency to protect one's source of livelihood by not attempting to automate it away or maybe because writing programs is hard enough such that contemplating of writing some program that writes programs might be even harder.

At the edge of a cliff - Quantum Computing

Source: Quantum computing reminds me of the early days of computer development (the 50s - 60s) where we had different companies come up with their different computer architectures. You had to learn how to use one architecture then move to another then another as you hoped to explore different systems that were better for one task than they were for another task.