What Programming Language Should I Learn?

Aaron Hayslip

What Programming Language Should I Learn?

You’ve decided you’re ready to take the plunge and start learning to code, but where do you start? There are so many resources and SO many opinions out there, it’s difficult to cut through the noise to understand what’s important in the beginning.

Understand that this is a crucial decision. You’ll be spending hours and hours with this language and this language will dictate the kind of project you’re able to build and even perhaps the kinds of jobs you’re able to get.

More importantly, your first language will help you determine if you even like coding. So picking the wrong language may in the end turn you off from programming altogether.

But let’s prevent that and make sure you have the information you need to proceed wisely.

Any Programming Language is Good, but Some Are Better

In the end, the goal is to learn how to be a “programmer”, not just someone who can write some code in a given language. So ultimately, as long as you’re learning a logical programming language (not markup like HTML and CSS and not even pseudo code like Excel), you’ll be making some progress toward your goal of becoming a software engineer.

However, being aware of the following will ensure that you avoid some unnecessary pains and get you on the right track quickly.

Be “Language Agnostic” From the Start

Being “Language Agnostic” means that you’re not a fanboy/fangirl of a particular language but you’re able to understand programming on a deeper level and the commonality between all languages.

Ultimately you’ll learn many languages over your career as a Software Engineer, so think of your first one as, just your first and not your only and not the “best”. You really don’t know how good your language is yet because you have nothing to compare it to.

Companies want to hire developers who have a “right tool for the job” mentality. Meaning, you choose a language for a particular project based on its ability to tackle a given problem.

A Criteria for Your First Language

The following will give a matrix by which to judge the first language you learn.

1. Widely Adopted
Your first language isn’t the time to learn the newest or most obscure language. Pick something that is has a wide user base and plenty of online examples. This way you will have plenty of places to ask for help and will be learning something that may prove useful in a job setting one day.

2. Instant Feedback Loop
Learning a language like JavaScript which can manipulate web pages will give you an instant sense of satisfaction which will help you stay the course when learning to code gets difficult. After learning the basics of a given language, try and build something fun like a calculator or tic-tac-toe game.

3. Easy Set Up
Some languages are easier to execute and set up than others. Compiled languages require that you have a compiler to actually run the code you write. A compiler will break the language down into instructions that the computer can understand. In the beginning you can get around this by using a browser IDE (integrated development environment), like repl.it.

4. Can be Used to Build Real Stuff
Soon after you learn the basics of your first programming language you’ll quickly want to start using it to build things. Languages such as JavaScript, Python, and Ruby will all be great in getting you up and going to the point of enabling you to quickly build web applications. At this point, you’ll be able to go beyond just learning to program and to actually start creating apps.

Just Learn JavaScript

At this point, if you’re still not sure which language to start with, just start with JavaScript. You really can’t go wrong with it for the following reasons.

1. There Are a Ton of Resources
JavaScript is one of the world’s most popular programming languages as it is THE default language of the web browser. There is an incredible amount of support and resources online for learning it.

2. It Can be Used to Build Anything
One of JavaScript’s most unique attributes is that it can be use to build almost anything. You can of course use it on the “front-end” to build interactive, user-friendly and complex interfaces, or, using Node.js, you can use it on the “back-end” to build the server-side for any program.

In this sense, you can learn the entire ecosystem of software engineering without ever having to leave the one language of JavaScript.

3. It's a Great Learning Tool
The two pillars of programming languages are “object-oriented” languages (Java, Python, Ruby, C++, etc.) and “functional” languages (Haskell, Scala, Clojure, Lisp, etc.).

The amazing thing about JavaScript is that it can do both! This allows you as a beginning to build a firm foundation beneath both of these pillars. This way, you can really go either direction with whether your next language is “object-oriented” or “functional”.

Not only this, but JavaScript has a relatively user-friendly syntax, meaning, it’s easy to read and relatively straight-forward for a beginning to understand.

4. It's Low Hanging Fruit for Jobs
Lastly, JavaScript is where the jobs are! Think about it. Almost every tech company these days build web applications (the reasons for this is another blog altogether). There is no other way to power these web applications than with JavaScript.

What this means, is that you can be pretty much guaranteed that every tech company is paying someone write JavaScript in some capacity.

What NOT to Do When Learning a Language

At this point, if you’re still not sure which language to start with, just start with JavaScript. You really can’t go wrong with it for the following reasons.

1. Don't Learn Part of the Langauge
Regardless of what language you choose, work hard at learning it and all of it’s difficult parts. The last thing you want to do is start building real applications with a language you don’t fully understand. This will cause a mass amount of headaches and unsolvable bugs.

2. Don't Bounce Around from Language to Language
Perhaps the worst thing you can do is start learning one language, learn a little of it, and then jump to learning another language without fully learning any one language at all.

This will be tempting to do as many will try and convince you that you should learn their language but stick to your guns and remember the big picture of becoming a programmer. Jumping around will only hinder your ability to learn anything at all.

Besides, once you learn the basics of one language, you’ll be able to pick up any other language way easier. So if you start down the path of JavaScript, but then decide that your REALLY REALLY want to learn Python, don’t fret. Stick with JavaScript. If you can learn it really well, it will be easy to learn Python. Or vice versa.

3. Don’t Rush It
Learning to program is hard and in the beginning, you’ll make a ton of mistakes. It will hurt your brain and you might want to quit. We often enjoy what we’re good at and you won’t be good at this, at first.

But push through this and try to learn the entirety of one language. This will help you not only build confidence but a firm foundation for learning more complex concepts going forward.

For more information on how to get started, download our FREE guide, "Learning to Code"