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


So you want to learn programming. Maybe you have asked your developer friends for recommendations and get different answers. They explained with terms that you don’t understand (what is object-oriented?!). To help you to pick your first programming language to learn, here is an 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 have also compiled a list of best programming tools and resources for each programming language, to help you get started quickly.

Special thanks to Prithviraj Udaya for allowing me to use his awesome The Lord of the Rings analogy on Quora.

Note: A good programmer must know at least a few programming languages to learn different ways to approach problems. They continue to learn and grow as technology advances. This is just the beginning of your programming journey. Simply pick one and start coding now!

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. – Linus Torvalds (creator of Linux)

Click on the infographic above to view in full size.

Order the printed poster here or get the PDF version here.


Best Programming Tools & Resources

I thought Facebook uses PHP? Why is Python everywhere? Is PHP for small sites only? I’ve received a lot of questions and misinterpretations of the infographic, which is understandable. There’s only so much information I can squeeze into an infographic. Check out theat the end of the post ( Click here to jump ).

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

Beginners read this: IDE stands for Integrated Development Environment. It is a tool that facilitates developers to write code, which normally consists of a code editor, compiler, and debugger.

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

More Recommended Sites

Infographic Explained & FAQ

If you liked this, check out:

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.