I love the Python programming language. Python is cross-platform, open-source, and has a wide array of use cases:

  • small utilities
  • data analysis
  • web scraping
  • websites and web apps

and probably most importantly, it is an excellent teaching language.

For people new to programming in general and Python specifically, I recommend the Intro to Computer Science by course from Udacity

While this course was great for learning the syntax and logic with the language, I hadn’t learned how to run actual Python code on my computer (only through their web interface). When I came back to Python after my forays in Java, Bash, and Ruby, I learned from Learn Python the Hard Way.

Websites and forums like Project Euler and Reddit’s Daily Programmer were great for learning more about programming in general and Python language fundamentals specifically.

The r/python subreddit is a great resource for those who want to read more about the language and the ecosystem in general. As always, forums like Hacker News and r/programming are excellent resources because they expose you to many different parts of programming, Computer Science, and the intersections of those with the rest of the world.