Не старые PDF с давно умершими технологиями, а книги, которые до сих пор можно нормально читать и применять на практике. Все доступны легально и бесплатно онлайн.
1. The Rust Programming Language
Официальная книга по Rust от команды языка. Ownership, borrowing, lifetimes, traits, concurrency, async и устройство типичной Rust-программы.
Сейчас онлайн-версия уже ориентирована на Rust 2024 Edition, поэтому это один из самых актуальных способов войти в язык.
https://doc.rust-lang.org/book/
2. Eloquent JavaScript
Одна из лучших бесплатных книг по JavaScript. Четвёртое издание вышло в 2024 году и использует современный JavaScript.
Кроме самого языка разбираются браузер, DOM, HTTP, Node.js, асинхронность и несколько полноценных проектов.
https://eloquentjavascript.net/
3. Automate the Boring Stuff with Python
Python через реальные задачи: файлы, регулярки, SQLite, веб-скрейпинг, Excel, JSON, PDF, автоматизация браузера и рабочего стола.
На сайте уже доступно третье издание.
https://automatetheboringstuff.com/3e/
4. Think Python, 3rd Edition
Хороший вариант для тех, кто хочет не просто запомнить синтаксис Python, а разобраться в программировании как таковом.
Третье издание построено вокруг Jupyter Notebook, добавляет тестирование, регулярные выражения и современные практические задания.
https://greenteapress.com/wp/think-python-3rd-edition/
5. Crafting Interpreters
Книга, после которой компиляторы и языки программирования перестают выглядеть магией.
За время чтения ты собственноручно создаёшь язык с парсером, областями видимости, функциями, closures, классами, байткодом и сборщиком мусора.
https://craftinginterpreters.com/
6. Operating Systems: Three Easy Pieces
Одна из самых известных открытых книг по операционным системам.
Процессы, виртуальная память, планировщики, concurrency, файловые системы, I/O и виртуализация.
https://pages.cs.wisc.edu/~remzi/OSTEP/
7. Dive into Systems
Отличный мост между обычным программированием и пониманием того, что реально происходит внутри компьютера.
C, Assembly, память, CPU, кэши, архитектура компьютера, ОС, pthreads и параллельное программирование.
https://diveintosystems.org/
8. Beej's Guide to Network Programming
Легендарное практическое руководство по сокетам.
socket(), bind(), listen(), accept(), TCP, UDP, IPv4 и IPv6 с примерами на C/C++.https://beej.us/guide/bgnet/
9. Software Engineering at Google
Редкий случай, когда большая книга O'Reilly целиком доступна бесплатно.
Code review, тестирование, документация, dependency management, большие кодовые базы, CI, build-системы и инженерная культура Google.
https://abseil.io/resources/swe-book
10. Pro Git
Одна из лучших книг для глубокого понимания Git.
Не только
commit, push и pull, но и internals Git, branching, rebasing, hooks, серверная часть и устройство объектов Git.Есть полноценная русская версия:
https://git-scm.com/book/ru/v2
Если этих десяти мало, есть ещё огромный открытый каталог бесплатных книг по языкам, базам данных, алгоритмам, ML, безопасности и DevOps:
https://ebookfoundation.github.io/free-programming-books/
