Which Programming Language Should I Learn First?

Coding Challenge

Ada would be Galadriel. Elegant, wise, makes a lot happen without fuss. But probably seems quite unkind to beginners.

A great course for game development: Udemy Learn C++ Game Development

You can target Mac, Linux, Android and iOS with C and Xamarin/Mono, FYI.

For now: python is the best. And as a first language too.

Great graph! A suggestion: you could have used Arwen instead of Legolas, or Eowyn as a woman instead of a man. We need more women in IT! We all secretly know that they are smarter than us men ?

There were very limited options to develop websites in the 90s, and PHP slowly dominatedweb development during the Internet revolution. It is still themost popular server-side scriptinglanguagerightnow but slowly losing popularity to C (ASP.NET), Ruby (Ruby on Rails), JavaScript (Node.js), etc.Check out thegreat analogy hereon why PHP is ugly, andwhy it is still very useful and important.

Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.

Udemy Beginners Ruby Programming Training

You may want to learnSwiftas your first/next language.

Udemy Learn Android Programming From Scratch

Hey, Did you know BusinessInsider featured your work:

but sometimes using python is limiting your development, because most of the time there are already plug ins for whatever you want to do. even for the simplest thing (grabbing html from url) and makes you lazy to know whats behind the import. In my college we go from C and cannot use any library so we get the concept then move to either java, c++, or python

Tutorials Point C Tutorial

Sure will consider to add Swift since the infographic was last updated about 6 months ago :).

Tutorial:How to Tango with Django: A Python Django Tutorial(free)

Web Design with HTML, CSS, JavaScript and jQuery Set

Official Python gettingstarted guide

Has a complex syntax, often dubbed a read-only language.

Why are Joomla and Drupal not in the list ?

CodeIgniter Excellent for beginners, easy and suitable for small projects

the voting plugin must be built with C

Yea in ASP.NET 5 that is possible.. and should be a super set of languages next to those. The core advantage is obvciolsy WIndows Phone and desktops. But also ASP.MVC is so bloody easy, I would say its easier than Python (for Windows Dev) But going back to your comment, I am actaully trying to deploye an .NET 5 MVC site to FreeBSD with MySQL backend so that makes it even easier for Linux brewed guys to get into C Als the Mono IDE runs cross platform and is pretty good Visaul Studio Alternative. I think .NET is going to be a paradigm shifter in 2015! Good bye PHP, finally!

Treehouse Learn Front End Web Development & JavaScript + jQuery

So youre saying you should start with the language that makes all the other languages feel like a breath of fresh air? Or that your first language should teach you all the concepts youre ever going to learn? Neither of those interpretations sit well with me.

I was wondering why the poll receives so few votes, seems like theres some issues with the voting plugin. Will look into it. Thanks!

Wow, how is it possible that I vote for C and the result is, 0 votes? C is reeeeealy underestimated on this chart. ie, its the goto webdevlopemnt in Europe at the moment. Hotbed for MVC apps. With ASP.NET 5 with cross platform. its going to smush even more. The PHP bit well, that true, old,s tinky toy that works but leaves a bad taste.

and id say c and python are the simplest among the listed ones because their interpreters will not do magical stuff in the background that might change behavior of your methods.

A great car analogy:How to explain OOP concepts to a non technical person?

A time range of 10 years in technology represents the difference between DAY and NIGHT dude

* If you want to work for facebook, learn PHP, its what they use, otherwise this wouldnt open: should learn C to work for google, but thats another discussion).

I dont think C and C++ in the survey should go as one item. Imho C is the perfect language for beginners to understand how programs work at low level while C++ is a huge mistake and should be avoided. In fact from this diagram Id recommend only C and maybe Javascript (if newbie interested in web development only) as a *first* language to learn. Most of the others are either reached the impasse or going towards it including my beloved C which is feeding me well since 2004.

Great list ofcoding apps and websites for kids

40 Key Computer Science Concepts Explained In Laymans Terms

Python Programming: An Introduction to Computer Science

JavaScript and JQuery: Interactive Front-End Web Development

rating the difficulty 2 out of 5 is just bu**sh*t

So, as I underdood you stopped using PHP 10 Years ago and didnt approach to it anymore for such a long time?

Im planning on doing videogames (learning unity right now, but planning to switch over to UE4 when i upgrade my card) what should i do? do I stay in unity and keep up with C?

I followed the flow chart and answered how I just want to learn for fun because I recall taking a COBOL class (eons ago) and how I enjoyed it, and was top of the class, and I enjoyed any other little computer thing I taught myself. But alas, I havent tinkered with any other programming or coding, and would like to do that for the challenge. I figure Id earn money with whatever avenue I choose, so Id rather make a choice based on what would be enjoyable even when money isnt an issue.

. Choose this for your veryfirst course.

Treehouse Python Basics course

Thanks for the suggestion Arne and Peter. Just updated the C section in the infographic :).

Firstly, read this brief explanation about therelationship between C, , and ASP.NET

Beginning ASP.NET 4.5: in C and VB(For web development)

C gives you more control than Java. You dont have to worry aboutshifting gears (e.g., memory management) in Java, but you may be able to drive (execute code) faster and more efficient in C.

Actually, nope. No bad days have ever come our way because of PHP, ever. Its fast, stable and reliable, which is what you want for the language that makes the core of your business.

Why is PHP so frequently used on web servers?

Thinking in Java(Get the older edition for freehere)

Lego MindstormsWrite programs to bring the robot to life.

C Programming Absolute Beginners Guide

i also feel comfortable writing java, c, c++ and php

I would say its clearly Scala ?

Treehouse Objective-C Basics

* If you want to work in anything web related, learn PHP, after all It is still the most popular server-side scripting language, its been like that for years, wont change anytime soon.

you be a designer, not a programer, nice graphics..

Treehouse Build a Simple Android App

Kurt, your pandering is nauseating. If you really want to help an aspiring female programmer, teach her some programming.

100 Most Brilliant Tech Hacks You Need To Know Right Now

Udemy Programming Java for Beginners The Ultimate Java Tutorial

I am so much agree with you Alex!!!!

iOS Programming: The Big Nerd Ranch Guide

Both companiesuse multiplecoding languages like Java and this case, we shouldfollow the rule stated in1. The bottom line is, you definitely need to learnmore than one programming languageto get a job in most companies.

easiest programming languange to learn is pascal, because it is very close to pseudocode, then basic afte

I totally agree with you. Thats why Python is listed as the easiest and best option in the flowchart. When you are in doubt, choose Python ? .

Official Django getting started guide

Best online programming course providers:

Most popular introductory teaching language at top U.S. Universities

We are very cutting edge company and do some pretty advanced stuff. We adopt new technologies whenever it makes sense to do so. If PHP was the source of any of our issues, we would have moved to another language long time ago (we do use other languages when it makes sense).

This is amazing! I just wrote about it (and linked you more than once) here: you for such great content. ?

Firstly, you should understandthe concept ofobject-oriented programming (OOP):

Google Blockly: A visual programming language (similar to Scratch)

You really need to get Swift on here, as it seems like that should be the answer for both OS X and iOS at this stage. ?

I have also compiled a list ofbest programming tools and resourcesfor each programming language, to help you get started quickly.

Objective-C can make iOS & Mac app, not web page, you use the wrong icon.

Im recommending Python to most beginners, but it doesnt matter THAT much. Whether you are more of a Ruby or Python programmer depends on your personality. If your favorite toy at a young age was Lego, choose Python. If it was clay, use Ruby.

Fixed! Cant believe I missed this. Thanks for spotting the typo.

Thousands of modules readily available makes it a good choice for system scripting and text manipulation.

Programming: Principles and Practice Using C++

prototypes, scoping, event orientation, getters, setters, design patterns etc.. it took me years to get to a level where i could write 10000 lines of code without running them once before im done.

[I prefer to learn things] – [Another way]

After considering Swift as a candidate to be Aragorn, one of our IT guys proposed Swift = Gollum. Swift has a dual personality Apple-open-source:

Also, the do X to an array of objects (.map, .each, ject, etc.) are a good lead-in to C++ generics, templates, containers, etc. When its time to introduce them in C++, the student has already seen how powerful they are. They wont work as hard to find workarounds to avoiding learning them.

If you want to create websites using Python, tryFlask, a beginner-friendlyPython web framework:

CodeTee.com: Awesome store to get funny programming t-shirts and gifts

For game programming Beginning C++ Through Game Programming

Whats The Best Programming Language For Beginners To Learn First?

* Have 100s of different script processing and transforming information.

Codeacademy JavaScript(Free)

After learning the basics & fundamentals:Head First Java

PHP has died about 10 years ago you say? Sure I would agree oh wait, sorry I forgot, PHP is probably the most widely used server side language with some 82% of web servers running PHP compared to the 17% that ASP.NET claims (source: Updated April 16th 2015). All Im hearing from you is that youre a typical PHP hater. And for reference, yes Im a PHP developer and proud to be.

I work in data analytics for public safety using crystal reports. I have also written some SQL reports over the past 10 years but not every day. I need to know the best and most efficient avenue for me to fast track and improve my syntax skills both crystal, basic and other. Not sure if I need to focus on a intro to programming class, python, VB, C, or sql or crystal class / training. I really dont have time to go step by step through basic crystal classes as I am good with creating basic to mid level reports but I need help with specific things like combining multiple reports, conditional filtering, summary by fiscal years and other specific things that come up during my work day. I get lots of urgent ad hoc requests and need to be fast and accurate.

Mozilla Developer Network JavaScript basics Learning the Web

c++ however does magical stuff. c is insane about it and java throws lots of exceptions for stuff you didnt code yourself even though you are the one who did a mistake.

For web development:Official ASP.NET getting started guide

Note:Theses resources are mainly for Ruby on Rails framework only.

A more detailed version:Java Tutorial: Dont Fear the Oop!

I have an old, ugly toy but I love it so much.

Udacity Intro to Computer Science

Kids, dont jump straight into COITUS, first you should learn how to KISS !

MIT OpenCourseWare:List of most visited courses

With .NET going open source and cross-platform. I think you should edit the Legolas part a bit. Used to stay in their land but recently started to give a shit about its neighbors or something like that ?

If you are serious in mastering Java:Java The Complete Reference

The way you talk and disregard php in your article is so misleading, that made me loose all credibility on this article. I use it for the whole back end of my company, with php I:

And now we got SQL Server running on Linux too, for free.

Staring at your supposedly working codes for hours.

Laravel One of the best and most popular PHP framework

Treehouse Build a Simple iPhone App With Objective-C

Udemy The Ultimate Python Programming Tutorial

Whats the difference between Objective-C and Cocoa?

Python Programming for the Absolute Beginner

5. What are the challenges that programmers normally face?

Treehouse Ruby Basics Course

Click on the infographic above to viewin full size.

Codeacademy: Awesome and free courses for

Visual C .NET for Complete Beginners

Forserver-side developers, check outNode.js:

In some programming languages, like in Python or Ruby, its a bit easier to grasp some concepts because they read more like plain English. For the same reason, it doesnt matter what platform or motivation you have, C++ IS NOT a good first language to learn!

Download and installJava SE Development Kit (JDK)

Perl is the duct tape of the Internet. Hassan Schroeder

Great list of books for all levels The Definitive C++ Book Guide and List

100 Most Brilliant Tech Hacks You Need To Know Right Now

OfficialRuby on Rails getting started guide

at the end of the post (Click here to jump).

No, PHP is not limited to small sites only. What Im trying to say is PHP makes it easy to get a simple website up and running at low cost. It works and scalesperfectly wellfor large and high traffic websites too. Here are some good reads if you cant decide whether to learn PHP or not:

I thought Facebook uses PHP? Why is Python everywhere? Is PHP for small sites only? Ive received a lot of questions and misinterpretations of the infographic, which is understandable. Theres only so much information I can squeeze into an infographic. Check out the

Lynda (free 10-days trial): Have some great beginners courses too.

Note:A good programmer must knowat least a few programming languagesto learn differentways to approach problems. They continue to learn and grow as technology advances. Thisis just the beginning of your programming journey. Simply pick one and start coding now!

A must haveif you are serious in C programming The C Programming Language

Beginners read this:IDE stands forIntegrated Development Environment. It is a tool thatfacilitates developersto write code,which normally consists of a code editor, compiler,and debugger.

Udemy Programming for Complete Beginners in C

Udemy This Is How You Make iPhone Apps iOS Development Course

Thanks for the suggestion Nick! Ive added IntelliJ into the list. I personally had only used Eclipse for Java development, but Ive heard some great feedback about IntelliJ.

A great analogy for HTML, CSS, and JavaScript:Part of a Website Explained as a House

Before choosing your first programming language, you should also check out this infographic onWhat Is Programming And What Do Programmers Do.

CodeMonkey is also a great tool to get kids coding.. unlike other platforms, it teaches a real programming lanaguage (coffeescript) and the kids get to practice writing code and not just dragging blocks

Here is the compiled listof the best courses, tutorials, books, etc. for each programming language. Feel free to suggest any newresources to keep this list growing!

Amazon:Best sellers of introductory programming books

Khan Academy:Computer programming courses

Tutorials Point Objective-C Tutorial

also if you look at github and stackoverflow javascript is insanely popular and not, as it is described here, only used clientside.

edX:Free online courses from worlds best universities

Start with a code editor likeSublime Text, then maybe move on to IDE likePyCharmorPyDevfor more complex projects.

Interactive courses for children Tynker

C Fundamentals for Absolute Beginners(Free)

Learn Java Free Interactive Java Tutorial

Suitable Python book for kids:Python for Kids: A Playful Introduction to Programming

It s a point of view, but in my opinion C++ is a good language to start with. I learned C++ as my first programming language its a bit hard at the beginning but after you know C++ you will comfortable in any other language. After learning C++ for 3years i managed to learn Python,C,PHP and Java in less than a month

Are there none with a difficulty rating of 5 stars? I see C++ has highest difficulty rating of 4 stars.

Ruby on Rails Tutorial(free to read online)

Special thanks toPrithviraj Udaya for allowing meto use his awesome The Lord of the Rings analogy onQuora.

Is strong, has great endurance but is somewhat difficult to deal with.

My history: basic, foxbase etc, assembler, c, c++, perl, php, python & javascript Maybe miss some

Order the printed poster hereorget the PDF version here.

Like when writing a story, the language you use is not a big deal. Programming is not about the language you use.

A good read about why C and C++ are different languages Should I learn C before learning C++?

now dont blame me for this. this is just my opinion on this topic. id just say this picture is outdated.

YouTube channel with great tutorial videos:thenewboston

I think this is a chart for deciding which language to learn *second*. Before you try your hand at the suggested language, spend a few months toying with Python or Ruby. Then when you get to C++, youll not only have a handle on a lot of the concepts, but youll actively seek out obscure bits that will make your life much easier. For example, Ruby has regular expressions and dictionaries/hashes built right in, so youll immediately look for ways to make use of that functionality (even if it requires pulling in new libraries).

After youve learnt the basics, you may consider to use a framework:

10 years ago, the release of Perl 6 might have meant a resurgence for the language.

but open-source is goooooood..

(stopping allowing coffee to our IT guys at the office in 3, 2, 1)

Which should I learn: Python or PHP?

only because you know how to write it, you dont know how the interpreter will deal with it.

Treehouse Java Basics Course

Should I learn Swift now instead of Objective-C if I want to be an iOS developer?

That is, besides serving the whole front end of our site. PHP is not for small and simple sites, and saying that is misleading. Its very stable and easy to develop, my scripts never fail, dont eat up memory or behave erratically, ever.

How Torrenting Works: A Book Photocopying Analogy [Infographic]

You are certified and assigned to fix anythingthat has to do with computer.

If you are using an IDE, you should also get a source code editor to view and edit code quickly:Sublime TextorNotepad++

i want to launch a web based startup in the future which is the best to learn between python and ruby/ruby on rails?

Ive decided to use Python as the go-to language when there are multiple answers ina scenario, simply because it is widely regarded as the best programming language for newbies. Here are the evidences:

For what reasons should I choose C over Java and C++?

Saying that PHP has died 10 years ago Im just going to re-quote @carlcheo:disquss article: It is still the most popular server-side scripting language right now Ignorance is bliss ?

full explanation of the infographic & FAQ

Gaming C++. But for a newbie, isnt the best thing start with engines? Im very confused if I have to start with C++ or try Unity Engine. I want a job programming games, but have too much choices and I dont know how to start.

Youmust have a basic understanding of HTML, CSS, and JavaScript to develop websites using Ruby on Rails. Go to JavaScript tab for more information.

For .NET / Java platforms Id suggest newcomers to pay more attention to mixed functional-OO languages of each ecosystem: F and Scala respectively. More and more teams adopting them but its happening too slow as supply of specialists is close to none and re-learning from OO paradigm to FP is a painful experience even if youre motivated.

Codeacademy HTML & CSS(Free)

If you like our posts, you should give our email list a try. Well only send you 2-4 emails a month. We hate spam as much as you do!

There are tons of debates that argue other coding languages are better, but Ithink we shouldto stick tothe majority opinion.

I apologize for the misunderstanding caused. Ive added clarifications in the infographic explained and FAQ section. Please refer answer 1 and 6 for the explanations.

* Communicate between servers to share the load of every thing above.

* Handle over 20.000 spiders that are constantly running and extracting information from different sources (very BIG data)

I am not saying that python is a bad language (its amazing), or that people should learn one or the other, but you are, and when doing so, you are misleading the readers because of your personal preference.

Awesome graphic! Maybe you want to add Perl to that list:

C 5.0 in a Nutshell: The Definitive Reference

Fascinating Early Posts From Larry Page, Linus Torvalds, Jeff Bezos, and More

Why not Haskell? I picked it up as my third language, but I really liked pure functional programming over object oriented programming; Haskell just seems to me to make so much sense, and the syntactic sugar has some real thought behind it. Probably one of the best things to ever come out of a committee.

YouTube Videos Java (Beginner) Programming Tutorials

They are CMS, not computer programming language.

Great article for a beginner like me

Book:Test-Drive Development with PythonRead online for free here)

AdvertisementSo you want to learn programming. Maybe you have asked your developer friends for recommendations and get different answers. They explained with termsthat you dont understand (what is object-oriented?!). To help youto pick yourfirst programming language to learn, hereisan easy-to-understand infographic that recommends the best option, depending on your purpose and interest. Details such as learning difficulty, popularity, and average salary for each computer programming language are provided too.

I am not advocating for PHP, nor saying its the first language someone should learn (actually, its a very bad idea to start with PHP I would suggest Java or C, because if you can program there, you can anywhere else). But I think people have this misconception that it is old, bad or only for small stuff, when actually its not, and saying otherwise seems a bit ignorant. The reality is, you can use it on any kind of web projects, no matter how big they are (facebook?). It sounds like people dislike it because its popular and not cool, but those are completely invalid reasons to base a learning decision, which is what this article is all about.

Think Python: How to Think Like a Computer ScientistRead online for free here)

Robot TurtlesBoard game that teaches programming.

actually Drupal 7 is a FMS (Framework Management System)

Treehouse(First month is free): Bestfor

I cant be certain, but I suspect if youd taken a few months with Python, you could have saved about a year learning C++.

Same here for this misleading fact sir. Came for this comment. Thanks much ?

The release of Perl 6 might mean the resurge of the language.

Do you agree with the flowchart? Let us know in the comment section below. Also, feel free to suggest improvements as I will be constantly updating the infographic and content when necessary.

C++ if you want to get into AAA industry, Unity for indie.

You must have a really bad day, every day, to torture your self like that. PHP has died about 10 years ago mate. You need to wake up or you will never be able to churn you way out of all that code. Ignorance is bliss

Once your kid has learned the fundamentals of programming, you can proceed to teach them Python (Refer to Python tab).

Objective-C Programming: The Big Nerd Ranch Guide

More fun ways to learn programming for kids:

Also, you need to understand some important concepts behind programming. Check out:40 Key Computer Science Concepts Explained In Laymans Terms.

If you are serious in Ruby on Rails development The Ruby Programming Language

Check outMonoandXamarinto develop cross-platform software using C

Agree. Thats why I mentioned in the flowchart that it will be easier to pick up other languages in the future. It all comes down to whether you want to learn coding the hard way. If you love challenges, go for C++, but make sure you have proper guidance too.

One of the best practical guides to programming:Code Complete

Crockford on JavaScript: A Public Lecture Series at Yahoo!(Free)

40 Key Computer Science Concepts Explained In Laymans Terms

Code School Try Objective-C(Free)

Udemy: Huge list of online courses. Some are excellent. Remember to read the coursereviews before signing up!

What Is Programming And What Do Programmers Do [Infographic]

. Suitable for intermediate beginners.

Lifehacker Voted as the best programming language for first-time learners (34% of 18,665 votes)

Note: COITUS COmputing ITerations Usage and Standards, KISS Keep It Simple Stupid.

Then, you should probably move on toDjango, the most popular and widely-used Python web framework:

Linus Torvalds (creator of Linux)

Mattias Petter Johanssonon Quora

Old & ugly toy, but I love it so much! (PHP):

Bravo for defending PHP! Anyway I suppose PHP died for ME 10 years ago,never met any other PHP developer and never did any PHP code, never really liked it. But yea, the largest sites in the world run on PHP. Touch. I just like simple code that works. *beer*

You end upspending a lot more development timethat you think.

Regarding Java IDEs, I would propose that IntelliJ be listed there, too. The community edition is free and great for Java development, especially in the early stages. Ive used Eclipse quite a bit in the past and Im not knocking it, although my preference is for IntelliJ. In particular, I find that the IntelliJ Maven integration is superior and that is a really big win for me.

I guess you missed a lot of new functionalities/features and implementations especially starting with PHP 5 and later 5.3.

Udemy Java Tutorial for Complete Beginners

My piece of advice: Go Python. After some time playing with basic scripts and small console programs, go learn what object-oriented actually meant, even pulling the string from the WP article will be a good start. Only then, when you got bored played with Python, come back here and follow Carls nice infograph!

ScratchCreate your own games, stories, and animations easily.

Im not going to bring you external link to show how much popular PHP is Just make a simple google search and enjoy with results, but I really think that a sentence like PHP has died about 10 years ago mate denotes deep ignorance and, maybe, a pinch of self frustration.

Forfront-enddevelopers, you must also learn HTML & CSS. ProbablyjQueryas well.

Long ago was one of the most popular languages for webmasters and system administrators.

Mostly because its free, and students cannot afford to host on windows server.. but maybe iwth 5 that will change. C and MVC is defiantly easier than Python and sooo much more convenient. but the problem is the deployment process and the fees needed. MonoIDE is free and good, .NET5 is in beta and can self host OWIN on almost any platoform now ? We need more C developers!

DownloadAndroid Studio and SDK Tools

The go-to books for beginners Agile Web Development with Rails 4

Totally agree. Visual Studio Express web edition you can bang out an MVC site with Entity in about 6 hours, that actually does something usefull. It defiantly belongs in the Easy bit, alongside Python. Why do you only choose one?? It is possible for Python AND something else to be easy!

Only because .NET doesnt run free on Linux.. oh wait, it does and its free. It will soon be replaced and as Apatchme got replaced with nginx, while IIS is catching up to nginx, so will PHP with ASP.vNext. I currently run Kestrel behind nginx with full blown ASP.NET WebApps and when I publish my book, even more newbies will realise the power of Visual Studio and the comfort of programming in .NET. I have been in the land of PHP because I hated ASP.WebForms, but came back because I realised PHP was far more worse.

Leave a Reply