freeCodeCamp
FreeJavaScript Certification — freeCodeCamp
freeCodeCamp's rebuilt JavaScript certification - 1,320 test-driven steps across theory, workshops and labs, covering the DOM,…
Steve Klabnik, Carol Nichols & Chris Krycho
Rust's official book, free and offline via rustup — ownership, borrowing, traits and concurrency, built around a grep clone and a threaded web server.
Opens on Steve Klabnik, Carol Nichols & Chris Krycho — a direct link, no affiliate tracking.
Steve Klabnik, Carol Nichols and Chris Krycho maintain what is probably the best official language book any programming language has. It's free online, ships with your toolchain — rustup doc --book opens it offline — and the current text targets the Rust 2024 edition and Rust 1.90.0 or later. No Starch publishes it in print as the third edition if you want paper.
There's also a community-run interactive version at rust-book.cs.brown.edu that adds quizzes, highlighting and visualisations of ownership. If you're the kind of learner who needs to be tested, start there instead.
It teaches by building. A guessing game in chapter two before you understand much of anything, then the language properly — ownership, borrowing and lifetimes, structs and enums, pattern matching, error handling, generics and traits — with a command-line grep clone as the mid-book project and a multithreaded web server at the end. Cargo, modules, testing and documentation are woven in rather than bolted on.
Everyone who learns Rust hits the same place. Chapter four is ownership, and it is the chapter that decides whether you continue. The book explains it as well as it can be explained in prose, and it still will not fully land until the compiler has rejected your code twenty times for reasons you find unreasonable. That's not a failure of the book — it's a genuinely novel concept and reading about it only gets you partway.
The related weakness is that the borrow checker's objections make sense in retrospect and rarely in the moment. The book teaches the rules but can't give you the intuition, and there's a stretch of a few weeks where writing Rust is frustrating in a way the book doesn't quite prepare you for emotionally. Async also gets comparatively light treatment relative to how much production Rust uses it, and the surrounding ecosystem — tokio and friends — is out of scope entirely.
The default answer for anyone learning Rust, and worth reading even if you never write Rust professionally, because ownership will change how you think about memory in every other language you use.
Skip it if you're new to programming — Rust is a difficult first language and the book assumes you've met types, pointers and the general shape of systems programming. Skip it too if you need async Rust specifically; finish the book and then go to the async ecosystem's own documentation, because this won't cover it.
Exceptional, free, and still not sufficient on its own. Read it with a project open and expect chapter four to take several attempts. The honest gap is async, which the book underserves relative to how central it has become to real Rust work.
Other courses covering the same subjects.
freeCodeCamp
FreefreeCodeCamp's rebuilt JavaScript certification - 1,320 test-driven steps across theory, workshops and labs, covering the DOM,…
Ilya Kantor
FreeIlya Kantor's long-maintained JavaScript textbook: language internals, the DOM, async and browser APIs, with exercises and worked solutions…
Marijn Haverbeke
FreeMarijn Haverbeke's fourth edition, free online — language fundamentals, the browser and Node, with projects including writing your own…
Akshay Saini
FreeAkshay Saini's deep look at JavaScript internals — execution context, hoisting, scope chains, closures and the event loop, drawn out on a…
Microsoft
FreeMicrosoft's official TypeScript guide — basics, narrowing, generics, conditional and mapped types. Explicitly not a tooling or JavaScript…
Matt Pocock
FreeMatt Pocock's free 18-exercise TypeScript primer: broken code, a pointer to the docs, then the solution. Teaches you to read the docs, not…
Took this course? Share what you thought.