a list of amazing programming books
- Design Patterns: Elements of Reusable Object-Oriented Software | Gamma, Helm, Johnson, Vlissides
- Patterns of Enterprise Application Architecture | Martin Fowler
- Domain-Driven Design: Tackling Complexity in the Heart of Software (2003) | Eric Evans
- Refactoring: Improving the Design of Existing Code | Martin Fowler, Kent Beck
- Clean Code: A Handbook of Agile Software Craftsmanship | Robert C. Martin
- Test Driven Development: By Example | Kent Beck
- Programming Ruby | Dave Thomas
- Metaprogramming Ruby 2: Program Like the Ruby Pros | Paolo Perrotta
- Agile Web Development with Rails 5.1 | Sam Ruby, David B. Copeland, Dave Thomas
- The Rails 5 Way | Obie Fernandez
- Effective Testing with RSpec 3: Build Ruby Apps with Confidence | Myron Martson, Ian Dees
- Programming Rust: Fast, Safe Systems Development | Jim Blandy, Jason Orendorff
- The Rust Programming Language | Steve Klabnik, Carol Nichols
- Programming WebAssembly with Rust: Unified Development for Web, Mobile, and Embedded Applications | Kevin Hoffman
- Learning Python | Mark Lutz
- Fluent Python: Clear, Concise, and Effective Programming | Luciano Ramalho
- Test-Driven Development with Python: Obey the Testing Goat: Using Django, Selenium, and JavaScript | Harry Percival
- Publishing Python Packages | Dane Hillard
- JavaScript: The Definitive Guide: Activate Your Web Pages | David Flanagan
- Understanding ECMAScript 6: The Definitive Guide for JavaScript Developers | Nicholas C. Zakas
- The Principles of Object-Oriented JavaScript | Nicholas C. Zakas
- Programming TypeScript: Making Your JavaScript Applications Scale | Boris Cherny
- Learn Java: A Crash Course Guide to Learn Java in 1 Week | Timothy C. Needham
- Head First Java | Kathy Sierra, Bert Bates
- Intro to Java Programming, Comprehensive Version | Y. Daniel Liang
- Effective Java | Joshua Bloch
- Pro Spring 5 | Cosmina, Harrop, Schaefer, Ho
- Spring Microservices | Rajesh RV
- Programming Elixir ≥ 1.6: Functional |> Concurrent |> Pragmatic |> Fun | Dave Thomas
- Programming Phoenix ≥ 1.4: Productive |> Reliable |> Fast | Chris McCord, Bruce Tate, Jose Valim
- The Go Programming Language | Donovan, Kernighan
- Get Programming with Go | Youngman, Peppe
- Introducing Go: Build Reliable, Scalable Programs | Caleb Doxsey
- Learning Functional Programming in Go | Lex Sheehan
- Artificial Intelligence for Humans, Volume 1: Fundamental Algorithms | Jeff Heaton
- Artificial Intelligence for Humans, Volume 2: Nature-Inspired Algorithms | Jeff Heaton
- Artificial Intelligence for Humans, Volume 3: Deep Learning and Neural Networks | Jeff Heaton
- UNIX System Administration Handbook | Evi Nemeth, Garth Snyder, Scott Seebass, Trent Hein
- Understanding the Linux Kernel | Daniel P. Bovet, Marco Cesati