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

Learn To Code: Which Language Is Best For You?

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.

What Programming Language to Learn?

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:

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
  • 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

KeriLynn Engel

About KeriLynn Engel

KeriLynn has worked as a freelance writer for various websites. She is an advocate for domestic abuse victims and has way too many hobbies.

Comments

Thanks for your comment. It will show here once it has been approved.

Your email address will not be published. Required fields are marked *

avatar

Yabdul Abdala

December 11, 2014

Lovely infographic. But the file extension for C++ is .CPP

avatar

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.

avatar

dev

January 27, 2015

C++ has .cpp file extension…

avatar

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.

avatar

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

avatar

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. 🙂

avatar

First Programming Language | Randy May Family in Hillsboro Oregon

August 26, 2015

avatar

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).

avatar

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. […]

avatar

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? […]

avatar

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 […]

avatar

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 ….

avatar

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. […]

avatar

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

avatar

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.

avatar

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.

avatar

mrunal

April 6, 2017

@frank yeah agree with you. Pascal can be an option for sure. Thanks for the suggestion. Keep going.

avatar

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.

avatar

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.

avatar

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.

avatar

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.

avatar

Djoka

January 22, 2018

So C# is dead language!?

avatar

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.

avatar

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.

avatar

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.

avatar

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?

avatar

Stan

September 21, 2019

I want to develop a fintech remittance app like remita.net pls what programming language do I need to learn?