Maybe you’ve seen what some of the wealthiest programmers make. Or maybe you’re itching to make your own piece of software and make your mark on society. Or you might have seen what the average salary is like for a programmer and figured that’s a good way to make a living.
Whatever your motivation is, you decided to learn how to code because you have a specific goal in mind.
But first, how do programs and code actually work? Computers speak in binary, but humans don’t. The goal of a programmer is to give a set of instructions to a computer so it can perform a specific task. Solving real world problems or meeting needs and wants online is the result. In order to do that, we need to write code that computers actually understand.
On one side of the spectrum, we have low level languages which are blazing fast but take a long time to write code and is not easy for us humans to understand. Then we have high level languages that make it easy to write code, but that code then needs to be compiled and assembled into instructions that computers understand.
Granted, that’s a very basic description of how programs and code work.
Now the billion-dollar question, what programming language should you learn? Maybe you should learn a few languages at the same time, or should you? One mistake that most people make is they try to learn too many languages at the same time. This reminds me of one of my favorite quotes from Bruce Lee.
I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times.
So don’t try to learn multiple languages at the same time. Focus on one language. Understand it, program with it, take a deep dive into that language, and then if you need to later on, move on to the next language for your stack.
The beauty is, once you learn one language, it’s going to be easier to pick up another language.
Before we dive deeper into which language or how to choose a language, there’s a few things you have should keep in mind.
Learning to code will take a considerable amount of time. Just learning the syntax of a programming language can take you weeks or even months. You’ll spend hundreds or even thousands of hours going over various tutorials that cover the basics, the fundamentals, and actual demonstrations of sample programs that are often very simplistic. Then you need to learn how to cobble together what you’ve learned and create an actual program that you can call your own. There’s a major time commitment when learning how to code.
Here are a few things to consider when choosing a programming language.
What do you want to build? If you want to create an iPhone app, you wouldn’t use Kotlin. If you want to create an Android app, you wouldn’t use Swift. If you want to create a WordPress theme or plugin, you wouldn’t use Java. If you want to focus on machine learning, artificial intelligence or data science, then you wouldn’t use HTML.
Another thing to consider is choosing a language that’s been around for a while. Some languages come and go, some get widely adopted and others are so niche that hardly anybody ever uses them.
Take a look at some websites that rank programming languages. This can help you identify which languages have staying power, and will potentially end up checking off some of the other boxes of things to consider.
Choose a language that has a large community around it. There are people who have already been where you are right now and are willing to share some tips to streamline your learning process. There are others who are in your same position and might make a good study partner. Learning a programming language is one of the hardest things you’re ever going to do. Learning alone makes it harder.
Just to name a few places online where you can gather more information about a programming language or to join a community centered around that language. Check out this list:
- Stack Overflow
- Stack Exchange
And of course, you could always run a Google search for the language you want to learn with the term community like Python community, PHP community, etc. Sometimes you’ll get stuck in how to do something with code and having someone or somewhere to bounce ideas around can be very helpful.
Another tip is to spend some time looking at the documentation pages of the language you’re looking to learn. See if it’s easy to follow, if it’s up to date, full of detailed examples you can learn from. Is there a comments section where people are sharing their experiences or observations? The documentation pages will be a go to resource for anything related to that language.
Are there any good books written recently about the language you want to learn? Quick tip books can be a good indicator of a languages position in the current programming landscape. If no books are currently being written, then that tends to indicate there’s not much interest in the language. Major publishing firms conduct research to see which topics should be covered.
What about videos or Online learning platforms? If new tutorials are being made, then that also indicates a language is worth investing time in.
Show me the money. At the end of the day, money tends to be a major factor. Check out what salaries are offered for different programming languages. You can check job sites to see how many actual jobs are out there for a particular language and what’s the average salary for that language?
If you’re looking to land a job with a particular company, you can find out what languages that company is hiring for. Remember, companies tend to use several programming languages within their code base.
If you want to focus on databases, because at the end of the day, when you’re interacting with a website, you’re working with data and you’re going to need to learn how to analyze that data, then check out SQL aka Structured Query Language.
What about game development? C# With the Unity Game Engine is what you want to learn. Windows Application Development. C# is the language you use.
What about device drivers? Operating systems. Embedded systems, Microcontrollers or code that’s used on a supercomputer? The C programming language is what you want to spend time learning.
Now, if you want to get into writing code for a cryptocurrency like Bitcoin, then C++ is an option. But what about Ethereum? Then you can learn something like Solidity, or you could also use Go for Ethereum as well.
Here’s my final piece of advice when learning how to program and code.
Crawl before you walk, walk before you run. Run before you fly. The important thing is to keep moving forward, keep learning. If you’ve never learned about programming or how to code, then take it slow. It’s a long process, but it’s going to be worth it.
Remember, programming is hard. Becoming a great programmer can take a lifetime. So start with the basics, learn the fundamentals. Make sure you have all the rules and the syntax of the language ingrained in your brain. Then code something awesome.
Hopefully you found this article helpful. If you did, feel free to share it with others, and checkout the video that goes along with this post. As always, thanks for reading and happy coding.