Google Go Team
A Tour of Go
Go's official in-browser tour — basics, methods and interfaces, generics and concurrency, with runnable exercises and an offline install option.
Learn Programming Languages with the Programming Languages tutorials and online courses.
Arguments about which language to learn first burn more beginner hours than any actual language does. The short version: the first one is the hardest, the second takes a quarter of the time, and after that you're mostly learning libraries and idioms. Pick something with good free material and a reason you care about it.
The sixteen tutorials here cover JavaScript, TypeScript, Python, Go, Java and Rust, plus one course that deliberately drags you through several. All of them are free.
For most people, Python for Everybody — Dr. Chuck's data-first course, with autograded assignments and a gradebook — or Automate the Boring Stuff with Python if you'd rather learn by making your computer do chores. If the web is the goal, start with JavaScript: The Modern JavaScript Tutorial is the long-maintained textbook, and Eloquent JavaScript takes you as far as writing your own interpreter. And if you want the version that changes how you think, CS50x: Introduction to Computer Science puts five weeks of C in front of you before it lets you near Python. That's the whole point of it.
Once you can program, a new language is a weekend and a reference. A Tour of Go proves it — an in-browser tour through basics, methods and interfaces, generics and concurrency, with runnable exercises. The Rust Programming Language is the exception that isn't cheap: ownership and borrowing are genuinely new ideas, and the book teaches them by building a grep clone and a threaded web server. Budget weeks, not a weekend.
Sixteen entries, and the distribution is lopsided. Python gets five, JavaScript four, TypeScript three — and Go, Java and Rust get exactly one each. The Java entry, Helsinki's excellent fourteen-part MOOC with automated Test My Code grading, is now a legacy course with its ECTS credits discontinued. We list nothing at all on C++, C#, Ruby, PHP, Swift or Kotlin, which is a real hole if you're aiming at game development, enterprise work or native mobile.
Choose by what you want to build, not by a ranking. Then finish it — someone who half-learned four languages is less employable than someone who properly learned one.
Google Go Team
Go's official in-browser tour — basics, methods and interfaces, generics and concurrency, with runnable exercises and an offline install option.
Al Sweigart
Al Sweigart's free Python book, third edition — 24 chapters on scraping, spreadsheets, PDFs, file wrangling and GUI automation for non-programmers.
Matt Pocock
Matt Pocock's free 18-exercise TypeScript primer: broken code, a pointer to the docs, then the solution. Teaches you to read the docs, not just copy answers.
Harvard University
Harvard's CS50P — ten weeks from functions to OOP, with auto-graded problem sets, a unit testing week and a self-designed final project.
Harvard University
Harvard's CS50x — Scratch, then five weeks of C, then Python, SQL, web and AI, with graded problem sets and a free certificate on completion.
Marijn Haverbeke
Marijn Haverbeke's fourth edition, free online — language fundamentals, the browser and Node, with projects including writing your own interpreter.
University of Helsinki
Helsinki's 14-part Java course with a real IDE and automated Test My Code grading. Excellent material, now a legacy course with ECTS credits discontinued.
freeCodeCamp
freeCodeCamp's rebuilt JavaScript certification - 1,320 test-driven steps across theory, workshops and labs, covering the DOM, accessibility, async and algorithms. Five projects unlock a certification exam.
freeCodeCamp
Mike Dane's four-and-a-half-hour Python fundamentals video for freeCodeCamp — variables to OOP in one take, with no exercises to check your work.
freeCodeCamp
Bob Ziroll's two-hour TypeScript introduction for freeCodeCamp — annotations, interfaces, unions and basic generics, framed as a layer over JavaScript.