Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Recommended Tools & Learning Resources

You've learned the basics of cooking, but every great chef keeps a library of cookbooks and a set of sharp tools. This page lists some of the best external resources to help you practice your skills, look up information quickly, and connect with the broader programming community.

Code Editors: Your Digital Kitchen

Every chef needs a good set of knives and a clean countertop. A code editor is your primary tool for writing and organizing your code.

Visual Studio Code (VS Code)

  • Best for: Almost everyone. It's the industry standard for a reason.
  • VS Code is a free, powerful, and highly versatile editor from Microsoft. It has a massive ecosystem of extensions that provide support for virtually any language or tool you can imagine.

Zed

  • Best for: Speed and collaborative coding.
  • Zed is a modern, high-performance editor built by the creators of Atom. It's designed to be incredibly fast and has built-in features for real-time collaboration (like Google Docs for code).

Interactive Practice Platforms

The best way to get better at coding is to code! These platforms provide challenges and exercises to sharpen your skills.

Exercism

  • Best for: Deepening your understanding of a language.
  • Think of this as a guided culinary school. You solve coding challenges in over 70 languages, and a real human mentor will review your code for free, offering feedback on how to make it better.

freeCodeCamp

  • Best for: Structured, project-based learning (especially for web development).
  • This is a complete, self-paced curriculum that takes you from zero to a job-ready portfolio with thousands of hours of challenges and full projects.

Codewars

  • Best for: Quick, fun challenges to build fluency.
  • If Exercism is culinary school, Codewars is a series of short cooking competitions. You solve small coding puzzles called "kata" and can compare your solutions with others, learning clever new techniques in the process.

Quick Reference & Documentation

Even master chefs forget a recipe now and then. These sites are perfect for when you need a quick reminder of syntax or concepts.

QuickRef.me

  • Best for: Fast syntax lookups.
  • This is your digital cheat sheet for dozens of languages and tools. When you forget the exact syntax for a for loop in Python or a method in JavaScript, this is the place to get a quick, clean reminder.

W3Schools

  • Best for: Simple explanations and "try it yourself" examples for web technologies.
  • W3Schools offers straightforward tutorials and interactive examples, especially for HTML, CSS, JavaScript, and PHP. It's an excellent resource for getting your first look at a web concept.

MDN Web Docs

  • Best for: In-depth, authoritative documentation for web technologies.
  • Maintained by Mozilla, MDN is the gold standard—the "Le Cordon Bleu" of web documentation. It's comprehensive, has excellent examples, and is trusted by professional developers everywhere.

DevDocs

  • Best for: All-in-one offline documentation.
  • DevDocs combines the documentation for hundreds of languages and libraries into one fast, searchable, and offline-capable interface. It's like having an entire library of programming cookbooks on your laptop.

Language-Specific Resources

Each language has its own ecosystem of great learning tools. Here are some of the best for the languages in this guide.

Python

Go

  • A Tour of Go: The official interactive introduction to Go's syntax and features. The best place to start.
  • Go by Example: Hands-on examples that cover the core of Go with clear explanations.

C#

  • Microsoft Learn for .NET: The official and comprehensive hub for C# and .NET documentation, tutorials, and courses.
  • Learn C# - Microsoft: The official starting point for learning C#, with tutorials, documentation, and resources for various skill levels.

Rust

  • The Rust Programming Language ("The Book"): The official, definitive guide to Rust. It's one of the best programming books available for any language.
  • Rustlings: Small, guided exercises to get you comfortable with reading and writing Rust code, perfectly complementing "The Book".

PHP

  • PHP: The Right Way: A quick reference for modern PHP best practices. Essential for avoiding outdated information.
  • Laracasts: While focused on the Laravel framework, it offers some of the best video tutorials on modern PHP, design patterns, and tooling.

Community & Asking Questions

Sometimes you get stuck, and that's okay! Learning to ask good questions is a skill in itself.

Stack Overflow

  • Best for: Specific, well-researched technical questions.
  • This is the world's largest Q&A site for programmers. If you have a specific error you can't solve, chances are someone has already asked about it and received an answer here.

r/learnprogramming

  • Best for: General advice, motivation, and beginner-friendly questions.
  • This is a friendly and supportive community on Reddit where you can ask broader questions about your learning journey, share your progress, and get encouragement when you need it.
  • Getting Started Wiki: A comprehensive guide for beginners, covering everything from choosing your first language to effective learning strategies.