FileKit
← Back to resources
💻

Free Programming & Tech Books

High-quality programming books that authors have made freely available. These are legitimate free releases — not pirated copies. Many are considered classics in their fields.

Pro Git (2nd Edition)

CC BY-NC

The definitive guide to Git by Scott Chacon and Ben Straub. Covers everything from basics to advanced branching strategies and internals. Published by Apress under CC BY-NC-SA.

git-scm.com574 pagesgitversion-controldeveloper-toolsgit tutorialsource controlbranchingGitHubsoftware engineering

Think Python (3rd Edition)

CC BY-NC

An introduction to Python programming by Allen B. Downey. Uses Python 3 with a focus on computational thinking. Free under CC BY-NC-SA license.

Green Tea Press310 pagespythonbeginnerprogramminglearn pythonpython tutorialcomputational thinkingpython 3CS101free

Eloquent JavaScript (4th Edition)

CC BY-NC

A comprehensive guide to JavaScript and programming by Marijn Haverbeke. Covers the language, browser APIs, and Node.js. Free to read online and as PDF under CC BY-NC.

eloquentjavascript.net472 pagesjavascriptweb-developmentnodelearn javascriptJS tutorialfrontendDOMES6PDFfree

The Linux Command Line

CC BY-NC

A complete introduction to the Linux command line by William Shotts. Covers shell scripting, text processing, and system administration basics. CC BY-NC-ND licensed.

linuxcommand.org555 pageslinuxcommand-lineshellsystem-adminbashterminalsysadminDevOpsscriptingPDFfree

Automate the Boring Stuff with Python

CC BY-NC

A practical programming guide by Al Sweigart for total beginners. Learn Python by automating real-world tasks: spreadsheets, emails, files, web scraping. CC BY-NC-SA licensed, free to read online.

automatetheboringstuff.com592 pagespythonautomationbeginnerpracticalpython scriptingoffice automationweb scrapingexcel pythonspreadsheetfree

The Rust Programming Language

Free

The official Rust book, affectionately known as "The Book." Covers ownership, borrowing, lifetimes, and all core Rust concepts. MIT/Apache-2.0 dual licensed.

doc.rust-lang.org560 pagesrustsystems-programmingofficiallearn rustmemory safetyownershipperformanceconcurrencyWord documentfreespreadsheet

An Introduction to Programming in Go

CC BY

A concise introduction to Go by Caleb Doxsey. Covers the basics of Go programming with clear examples. Free to read online under CC BY license.

golang-book.com163 pagesgogolangbeginnerlearn gobackendconcurrencymicroservicesfreeWord document

Operating Systems: Three Easy Pieces

Free

A free operating systems textbook by Remzi and Andrea Arpaci-Dusseau. Covers virtualization, concurrency, and persistence. Used in university courses worldwide. Free PDF from the authors.

University of Wisconsin714 pagesoperating-systemscomputer-scienceuniversityOS textbookvirtualizationconcurrencykernelOSTEPPDFfree

How to Design Programs (2nd Edition)

Free

A systematic approach to program design by Felleisen, Findler, Flatt, and Krishnamurthi. Teaches design recipes and problem-solving methodology rather than a specific language. Free to read online.

htdp.org792 pagesprogrammingeducationdesignbeginnerprogram designRacketfunctional programmingCS educationfreePDF

Structure and Interpretation of Computer Programs

CC BY-SA

The legendary MIT textbook by Abelson and Sussman. Explores computation through Scheme. One of the most influential CS textbooks ever written. CC BY-SA 4.0 licensed.

MIT Press657 pagescomputer-scienceschemefunctionalMITSICPLispabstractionclassic textbookfree

Dive Into Python 3

CC BY-SA

A hands-on guide to Python 3 by Mark Pilgrim. Covers strings, comprehensions, generators, unit testing, HTTP, XML, and serialization. CC BY-SA 3.0 licensed.

diveintopython3.net380 pagespythonintermediatewebpracticalpython advancedgeneratorsunit testingHTTPXMLfree

Game Programming Patterns

Free

A collection of game development design patterns by Robert Nystrom. Covers command, flyweight, observer, state, and more — with clear examples. Free to read online.

gameprogrammingpatterns.com354 pagesgame-devdesign-patternsarchitectureC++game developmentUnitygame engineOOPsoftware patternsfree