
Beginning To Code: Which Programming Language Is Right For You In 2020?

Disclosure: Your support helps keep the site running! We earn a referral fee for some of the services we recommend on this page. Learn more
Today, computers are an inescapable part of our work and personal lives. As technology develops, computers are increasingly more integral to our lives, and the more we understand them and how they work, the better we’re able to use them.
Learning to code is not only necessary if you’re looking to start a lucrative career as a computer programmer, but it’s also an incredibly useful skill that will help you develop in-demand job skills. Employers are looking to hire people who are skilled in software proficiency, technical knowledge, and the ability to obtain and process information and analyze data, and being fluent in a programming language proves to those employers that you have those skills.
Learning programming isn’t always about creating a finished product, whether you’re building software, apps, or websites. Understanding how programming works teaches computational thinking, logic, and problem-solving skills, which can be applied in any field.
It’s not difficult to teach yourself programming with all the free resources available online today, but getting started is impossible if you don’t know which programming language you should learn. And the choice isn’t easy: thousands of computer programming languages exist, and dozens more are being created every year. Even if you narrow down your choices to only the most popular ones, there are still a lot to choose from.
It can be hard to know which language is best when you’re not a programmer yet, but you don’t have to understand everything about each programming language to choose the one that’s right for you. Each language has it’s own particular uses, as well as pros and cons. If you have a clear idea of your reasons for learning to program, and know exactly what you want to accomplish with your new coding skills, then you’ll be able to make the right choice by comparing the options below.
Learn the Language: <What Code Should You Learn?>
There are many languages to code in, so many, in fact, the beginner can easily be overwhelmed. Learn about the top choices so you can be successful and raise your earning potential.
Hypertext Preprocessor (PHP)
This is a server-side interpreted, non-compiled, scripting language. It can be written within HTML. Because the code is executed by the server, the result is displayed to the user as plain HTML.
PHP’s development started in 1994, created by Rasmus Lerdorf.
- Code was released to the public in 1995
- 2.0: 1996
- 3.0: 1997/1998
- 4.0: 1999/2000
- 5.0: July 2004
PHP files can support:
- Text
- HTML
- CSS
- JavaScript
- PHP code
PHP can:
- Generate dynamic page content
- Create, open, read, write, and close files on the server
- Collect form data
- Send and receive cookies
- Add, delete, modify data in your database
- Restrict users to access some pages on your website
- Encrypt data
Output:
- PHP files end in the .php extension
- HTML
- Images
- PDF files
- Flash movies
- Any text, such as XHTML and XML
Why use PHP?
- Runs on various platforms (Windows, Linux, Unix, Mac OS X, etc)
- Compatible with almost all servers used today (Apache, IIS, etc)
- Supports a wide range of databases
- Free, and open source so many hosting providers run it on their servers.
- Easy to learn
- Runs efficiently
PHP Jobs
- Average Salary: $80,000
- Job Count: 20,308
- Top Cities:
- New York
- San Francisco
- Chicago
- Top Employers:
- CyberCoders
- IBM
- Robert Half Technology
PHP is used on 65.45% of the top 1 million websites.
- The most popular content management system (CMS), WordPress uses PHP
- WordPress runs on 19% of websites on the Internet
PHP powers more than 20 million websites, including: Facebook and Wikipedia
JavaScript
This is a client-side scripting language. It is the only language embedded in all web browsers. Developed in 1995 by Netscape. Used in website: advertising, analytics, widgets
JQuery is the most detected JavaScript library in use on the web, used for 22.9% of the top million websites on the Internet. It provides features and functions to make:
- JavaScript browser agnostic
- An easier development process
JavaScript Jobs
- Average Salary: $88,000
- Job Count: 43,189
- Top Cities:
- New York
- San Francisco
- Washington D.C.
- Top Employers:
- Amazon
- Microsoft
- IBM
Tidbits of Wisdom
- You can use JavaScript to:
- Check username availability as user enters it, preventing the need to reload the page
- Build an autocomplete function on your website
- Fix layout issues
- Enhance HTML text boxes so users have a combination of presets and the ability to enter their own text.
Structured Query Language (SQL)
This is not a programming language or a markup language. It is the standard way to interact with databases, moving information in and out of them. MySQL is the most common way to interact with databases, and is a good start for a web developer.
SQL was first developed in 1979. SQL files have a .sql extension.
SQL can:
- Execute queries against a database
- Retrieve data from a database
- Insert records in a database
- Update records in a database
- Delete records from a database
- Create new databases
- Create new tables in a database
- Create stored procedures in a database
- Create views in a database
- Set permissions on tables, procedures, and views
SQL Jobs
- Average Salary: $90,000
- Job Count: 98,454
- Top Cities:
- New York
- Washington D.C.
- San Francisco
- Top Employers:
- Microsoft
- United Health Group
- Amazon
There are different developers of SQL, such as:
- Oracle
- Sybase
- Microsoft
Their SQL programs all fundamentally work the same way. MySQL is open-source (free), and popular with developers.
Objective-C
Objective-C is an object-oriented programming language, based on C, used by Apple developers (and others). Objective-C was first developed in the 1990s. Objective-C files have an .m extension.
Objective-C can:
- Develop mobile apps for iOS
- Develop applications for OS X
Objective-C Jobs
- Average Salary: $70,000
- Job Count: 18,849
- Top Cities:
- New York
- San Francisco
- Chicago
- Top Employers:
- Regis Corporation
- SmartStyle
- SmartCuts
Though considered the “correct” language for iOS development, it cannot be scaled for other platforms such as Android.
C++
C++ is an object-oriented programming language used to develop software, video games, and more. C++ was first developed in 1983, as an enhancement to the C programming language. C++ files have a .c++ extension
C++ can
- Develop apps for Windows and Linux
- Develop video games
- Develop mobile apps
C++ Jobs
- Average Salary: $90,000
- Job Count: 31,893
- Top Cities:
- New York
- Seattle
- San Francisco
- Top Employers:
- Amazon
- CyberCoders
- Microsoft
Tidbits of Wisdom
- C++ is highly portable across multiple devices.
- C++ is supported by Apple, Android, Windows Phone, and Blackberry.
Java©
This is a server-side interpreted compiled language, using a virtual machine. It is not JavaScript, and is not related to it.
Java was developed in 1995, and is one of the oldest programming languages on the web.
Java lets you:
- Play online games
- Upload photos
- Take virtual tours
- Use interactive maps
Java Job Information:
- Average Salary: $95,000
- Job Count: 66,485
- Top Cities:
- New York
- Washington D.C.
- San Jose
- Top Employers:
- Amazon
- IBM
- eBay
Tidbits of Wisdom
- Users can disable Java on their machines
- Java is the basis of Android
- Slow to change, so it’s easier to keep up with
Python™
This is a server-side interpreted, open-source, non-compiled, scripting language. It can be used on its own, or as part of another framework, like django.
Python can:
- Build websites
- Provide database access
- Build desktop graphic user interfaces (GUIs)
- Build software and games
Python Job Information
- Average Salary: $83,000
- Job Count: 19,627
- Top Cities:
- Mountain View
- San Francisco
- New York
- Top Employers:
- Amazon
- Intel®
- Dell
Tidbits of Wisdom
- NASA’s shuttle support contractor, United Space Alliance (USA) uses Python.
- Learn to code faster compared to other languages like C++
Ruby
This is a server-side interpreted, non-compiled, scripting language. It is Japanese in origin, with no set of specifications. It was released to the public in 1995. Ruby is gaining popularity because of its use with Rails: Ruby on Rails. Rails is a rapid development framework, like django for Python.
It is a blend of the following programming languages:
Ruby can:
- Build websites
- Build simulations
- Build web applications
Ruby Job Information
- Average Salary: $90,000
- Job Count: 13,805
- Top Cities:
- San Francisco
- New York
- Seattle
- Top Employers:
- CyberCoders
- ERC
- Amazon
Ruby is highly portable; it works on many types of UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, and more.
Ruby has multiple implementations, including:
- JRuby: Ruby atop the JVM (Java Virtual Machine)
- Rubinius: “Ruby written in Ruby.” Built on top of LLVM
- MacRuby: Ruby that’s tightly integrated with Apple’s Cocoa libraries for Mac OS X
Active Server Pages (ASP) .Net
This is a server-side interpreted, non-compiled, scripting language. It is similar to PHP, but will only run on a Windows® server, because it is a Microsoft product, in the .net suite of programming languages.
ASP.Net can:
- Build websites
- Build web applications with a Model View Controller (MVC) design
- Build web forms
ASP.Net Job Information
- Average Salary: $90,000
- Job Count: 16,710
- Top Cities:
- New York
- Chicago
- Atlanta
Top Employers:
- Robert Half Technology
- CyberCoders
- Hendrickson International
You can mix and match programming languages within ASP.NET, as long as each page only contains one language.
Asynchronous JavaScript and XML (Ajax)
This is not a programming language, but rather a way to use multiple programming languages together. It works by using JavaScript in the background to communicate with the server, to allow the page to change (send and receive information) without requiring the user to refresh.
It is used extensively today.
- All browser based chat systems, such as Google Talk, use Ajax.
- Gmail’s entire interface is Ajax based.
- Facebook uses it for photos and chat.
You won’t be able to use this effectively until you’ve mastered JavaScript, CSS, and XML.
Ajax Jobs:
- Average Salary: $90,000
- Job Count: 16,649
- Top Cities:
- New York
- San Francisco
- Seattle
- Top Employers:
- Smith & Keller
- CyberCoders
- Science System and Applications
Ajax combines:
- Standards-based presentation – XHTML, CSS
- Dynamic display and interaction – Document Object Model
- Data interchange and manipulation – XML, XSLT
- Asynchronous data retrieval – XMLHttpRequest
- Functionality – JavaScript
Learning to Code for the First Time
What programming language should you learn?
What do you want to do?
Your end goal determines what language(s) you need to learn.
- Easiest to Learn: Python
- Most Powerful: C++
- Most Likely to Be Useful in 10 Years: Java
- To create and edit static web pages:
- HTML
- CSS
- To make web pages interactive:
- JavaScript: adds drag and drop functionality
- To store user information:
- Server-side languages such as:
- PHP
- Python
- Ruby
- Server-side languages such as:
- To build mobile apps:
- Objective-C: iPhone apps
- Java, C++: Android apps
- PHP and SQL are easy to learn, even for beginners.
- You can use PHP with MySQL to learn without investing in software.
- Since they run the most popular content management system (WordPress), they are a good place to start.
No matter which language you choose, these programming skills are in demand from top companies, with a hefty salary attached.
Online Programming Courses
These online resources can help you learn to code:
- Codecademy: Considered by many as the most renowned source on the web, you can learn many languages with easy, interactive tutorials.
- Coursera: Get access to full college courses, even beyond programming, for free, though additional fees may sometimes apply.
- OpenCourseWare Consortium: Get access to full college courses from a number of partners, for free. You’ll be on your own navigating the material, but it can be a great help.
- Code.org: Get free tutorials for a number of languages to teach yourself how to code.
Page last updated: July 6th, 2016
Sources
- Programming Languages for the Internet
- 10 Programming Languages That Are in Demand by Employers
- Little Known HTML Facts
- More Little Known HTML Facts
- History of PHP
- w3schools.com
- 19 Percent of the Web Runs on WordPress
- PHP Jobs
- JavaScript Usage Statistics
- 9 Funniest JavaScript Effects
- Welcome to the World of SQL
- 15 Programming Skills Most Coveted By Employers
- What Are the Pros and Cons of PHP?
- The Pros and Cons of JavaScript: Is it Still Necessary?
- dev.opera.com
- Introduction: Haters Gonna Hate, Or Why You Still Need SQL
- What Language Should You Build Your App With?
- 10 Programming Languages You Should Learn Right Now
- Why Do Objective C Files Use the .M Extension?
- C++ — A Brief Description
- What is Java?
- Seven Reasons You Should Use Java Again
- About Python
- About Ruby
- Ruby Jobs
- ASP.NET Jobs
- What Is ASP.Net?
- What Language Do You Need to Know?
- Which Programming Language Should You Learn To Make Money?
- Coursera
- The Global Network for Open Education
- Anybody Can Learn
Yabdul Abdala
December 11, 2014
Lovely infographic. But the file extension for C++ is .CPP
dohoh
December 11, 2014
When it comes to technologies from Microsoft this infographic is very off the mark.
ASP.net is not even a programming language. It’s a framework like Ruby on Rails. The infographic got the relationship between Ruby and Ruby on Rails and Python/Django right but not ASP.net.
Also very soon asp.net will not only run on Microsoft servers. It will be able to run on Linux servers and even OSX. At the very least it should have been added to the list of things to learn for server side languages along with PHP, Ruby and Python.
Why aren’t C# and VB.net on the list? They are both just as widely used than Ruby and Python.
C# in particular is a very useful language. With it you can develop using asp.net, on Windows, on Linux (using Mono). You can create games and Windows Phone apps with it. You can even create iOS and Android apps using C# and Xamarin (although you need to pay for Xamarin if you do professional work). Along with C++ and Java it’s probably the only other language that can be used in almost any situation.
C#, asp.net, sql server express and many development tools are also totally free to use. Microsoft has Azure which allows you to host web sites for free.
Not sure if AJAX should even be on the list either. It’s really just Javascript. It should be put into the Javascript section.
dev
January 27, 2015
C++ has .cpp file extension…
Akin Olatidoye
February 4, 2015
Thanks for the nice scope on programming languages, their uses and target applications. I ran through the infographic hoping to see which programming languages will be mentioned for embedded devices
Didn’t see embedded devices specifically but can these options: (C++, RUBY, JAVA, AJAX) do as programming languages for embedded devices?
Thanks.
Russ Painter
February 20, 2015
How do you include Objective C but not C# in a list like this? Why not choose the actual most relevant languages?
Here’s an article about how to choose these:
http://readwrite.com/2012/06/05/5-ways-to-tell-which-programming-lanugages-are-most-popular
Saurabh Mehta
June 22, 2015
Awesome post. Very useful for beginner who are confused to select programming language. I like PHP and Java the most. Thanks for share. 🙂
First Programming Language | Randy May Family in Hillsboro Oregon
August 26, 2015
[…] https://www.whoishostingthis.com/blog/2014/09/04/learn-to-code/ […]
Depado
October 1, 2015
“What language should you learn” → Php arrives first.
In my opinion, the first language you should learn is Python. It’s simple, efficient, used in many domains and the documentation is great. I use it really often to do some system scripting, some large web applications, even utilities. After that I’d advise Go(lang) for the performances, asynchronous features and ease to deploy (+ the stdlib is great).
The 6 best online resources to learn web design – Graphic and web design, Photography, illustration
October 14, 2015
[…] If you feel lost and are unsure of where to start – which language? front-end, back.end? what does it all mean? then I suggest you consult this excellent guide to what code you should learn. […]
Come imparare l’HTML, il CSS, il PHP e il MySQL? ~ Articoli di Klayz
October 23, 2015
[…] Learn to Code: Choosing a Programing Language – What Code Should You Learn? […]
Guide for Code Terminology and Capability – Web Design Ledger
November 11, 2015
[…] and in depth capability of certain languages. For web designers it is just as handy to have this What Code Should I Learn Infographic on hand to have a basic understanding for code languages and their […]
sajibchakma
November 19, 2015
this article really useful . but after reading full article , i am still confuse coz now i am learning c and c++ for undergraduate course … still don’t know which should to do now ….
Guide To The Programming Code You Should Learn – Innovation-village : Innovation-village
November 24, 2015
[…] Learning programming isn’t always about creating a finished product, whether you’re building software, apps, or websites. Understanding how programming works teaches computational thinking, logic, and problem-solving skills, which can be applied in any field. […]
mrunal
March 23, 2017
Well, if you are a beginner then I suggest to go for c language because it’s the basic of programming and you just can not go ahead in programming field without it. Thanks
Frank Moraes
March 24, 2017
@mrunal Hmm. I don’t know. It’s so easy to get into trouble with c. I’d recommend something less free-wheeling. I’m old, but I still think Pascal is an excellent starting language.
Crawl Rate
April 5, 2017
I’ve been toying around with python on the Rasberry Pi, not the easiest to understand. So a slowing leargint process ahead.
mrunal
April 6, 2017
@frank yeah agree with you. Pascal can be an option for sure. Thanks for the suggestion. Keep going.
Aghale
April 13, 2017
I guess with PHP being the most dominant force in web right now, it should be the first language you should learn. having said that, it’s too easy to learn making it tough to find a job for an average coder. So I guess sophisticated language like Javascript could be a better investment in long run.
Frank Moraes
April 26, 2017
PHP is excellent if you want to play around with your CMS. That’s not to say it isn’t powerful; I’ve done some very cool things with it. I would recommend people just starting out to go with Java or C++. But I’m old.
Ranjan
November 19, 2017
If you are planning to learn programming languages, you also need to research opportunities in particular language for the city you live in. For eg: there might be a lot of opportunities for Java Programmer in Sydney , but lesser opportunities in Melbourne or any other state.There might be a lot of PHP programmer opportunities in Melbourne though. So researching on job vacancy sites is must if you want to develop programming as a career.
Frank Moraes
November 19, 2017
Good point! For US residents, I recommend checking out our Coding Bootcamps Throughout the US, which provides an exhaustive list of coding bootcamps in the 34 biggest cities in the US. If you don’t live in one of the cities, you certainly live near one.
Djoka
January 22, 2018
So C# is dead language!?
Frank Moraes
January 23, 2018
No, I wouldn’t say that. I have a friend who makes quite a good living as a C# developer. But I’m not sure I would recommend it as a first language because there is a lot to learn in the .NET framework. And it also locks you out of Unix coding to a large extent. I did a very large Windows-based project with C++, using the MFC. My recommendation would be to start with C++ or Java. But if you are fine sticking with Windows, C# is a fine choice.
Shalmali Bapat
June 9, 2018
As a software developer i know IT world is itself quite dynamic. With new and upcoming changes in computer programming languages, frameworks and technologies language trends are ever changing. We developers must remain with updated changes. So i was looking to learn some languages which will be beneficial for me future.Thank You.
Frank Moraes
June 11, 2018
I appreciate that. But Java isn’t going anywhere. PHP is the basis of so many web applications that it isn’t going anywhere. My position is that a programming language is a programming language. There are lots of jobs for Fortran developers. Knowing COBOL could be what sets you apart from other coders, because it’s still around in old systems that have never been updated. If you want to be a professional coder, you should learn all you can. But this graphic is all about what language you should start with, and I think it is as accurate today as when we first published it.
Lex
January 17, 2019
A bit confusing, this info C++ is for developing apps for Windows and Linux AND C++ is supported by Apple, Android, Windows Phone, and Blackberry.
More: what is ‘Apple’? iOS? MacOS? Xcode?
Stan
September 21, 2019
I want to develop a fintech remittance app like remita.net pls what programming language do I need to learn?