What Code Should You Learn?

Today, computers are an inescapable part of our work and personal lives. As technology develops, computers are being 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


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


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


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


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


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


Download this infographic.

Embed Our Infographic On Your Site!

Get Exclusive "Subscribers Only" Content

Join our newsletter & be first to hear when we publish new posts.

Get Exclusive "Subscribers Only" Content

Join our newsletter & be first to hear when we publish new posts.

Twitter Facebook


13 Comments to “What Code Should You Learn?”

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

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

  3. C++ has .cpp file extension…

  4. 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?


  5. 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:

  6. Awesome post. Very useful for beginner who are confused to select programming language. I like PHP and Java the most. Thanks for share. 🙂

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

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

  9. […] Learn to Code: Choosing a Programing Language – What Code Should You Learn? […]

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

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

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

What Do You Think?

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>