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.
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 the full explanation of the infographic & FAQat the end of the post (Click here to jump).
Best Programming Tools & Resources
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.
Java
C/C++
JavaScript
C#
Ruby
PHP
Objective-C
Official site: https://www.python.org/
- Official Python getting started guide
- Start with a code editor like Sublime Text, then maybe move on to IDE like PyCharm or PyDev for more complex projects.
Courses
- Treehouse – Python Basics course
- Udemy – The Ultimate Python Programming Tutorial
- Free
- Udacity – Intro to Computer Science
- Codeacademy – Python
- Google’s Python Class
Free Interactive Tutorial
Books
- Python Programming: An Introduction to Computer Science
- Python Programming for the Absolute Beginner
- Think Python: How to Think Like a Computer Scientist (Read online for free here)
- Learn Python The Hard Way (Free)
For Web Development
If you want to create websites using Python, try Flask, a beginner-friendly Python web framework:
- Official Flask’s Documentation: Very well-written and complete documentation
Then, you should probably move on to Django, the most popular and widely-used Python web framework:
More Useful Resources
- Best online programming course providers:
- Treehouse (First month is free): Best for absolute beginners. Choose this for your very first course.
- Codeacademy: Awesome and free courses for beginners.
- Code School: Recommended as your second/third course. Suitable for “intermediate beginners”.
- Udemy: Huge list of online courses. Some are excellent. Remember to read the course reviews before signing up!
- Code.org
- Lynda (free 10-days trial): Have some great beginner’s courses too.
- Khan Academy: Computer programming courses
- MIT OpenCourseWare: List of most visited courses
- edX: Free online courses from world’s best universities
- If you are using an IDE, you should also get a source code editor to view and edit code quickly: Sublime Text or Notepad++
- Amazon: Best sellers of introductory programming books
- One of the best practical guides to programming: Code Complete
- YouTube channel with great tutorial videos: thenewboston
- CS50.tv : the Harvard introductory computer science course
- Google Blockly: A visual programming language (similar to Scratch)
If you liked this, check out:
- 100 Most Brilliant Tech Hacks You Need To Know Right Now
- 40 Key Computer Science Concepts Explained In Layman’s Terms
- What Is Programming And What Do Programmers Do [Infographic]
- Fascinating Early Posts From Larry Page, Linus Torvalds, Jeff Bezos, and More
@Credits: CarlCheo