Programming Books
-
A list of free access books provided by ParrotOS linux distro.
-
Top Free eBooks for Web Designers & Web Developers: A Medium article showcasing free, insightful eBooks for Web Designers and Developers. Just to name a few:
-
JavaScript for impatient programmers: a modern guide to the most essential features
-
The Pragmatic Programmer: Ever heard of rubber duck debugging or don’t repeat yourself? Andrew Hunt and David Thomas popularized these ideas within their book, The Pragmatic Programmer, as they first walk the reader through the type of mindset and tools one should implement before writing code. From there they delve deep into best practices for writing code (testing, refactoring, clean and performant code, using Big-O to estimate algorithm runtime, weighing costs and benefits before implementing something, etc.), followed by project management. Although it came out in 1999, it still holds its own as a practical and relevant book in the modern world.
-
Street Coder: Aims to teach beginners and mid-level programmers to identify the gaps between your learning path and your actual career (the streets), with examples in C#.
-
Flavio Copes: Javascript, React, Node, Express, Vue: signup to an email newsletter required
-
JavaScript & JQuery by Jon Duckett: A well-designed visual guide to javaScript and jQuery. Exercise files are available to help the reader work through the examples provided in the book.
-
JavaScript: The good parts by Douglas Crockford: Well-articulated book explaining the fundamentals of JS
-
JavaScript: The definitive guide by David Flanagan: Reference guide focusing on core JavaScript language internals.
-
Learning JavaScript Design Patterns by Addy Osmani: Extremely well-written book demonstrating software design patterns with the help of JavaScript
-
Web Design Playground: HTML & CSS The Interactive Way: A book that takes you step by step from writing your first line of HTML to creating interesting and attractive web pages.
-
Object Design Style Guide: A book that covers the most important scenarios and challenges for object design and sets out best practices for designing objects that apply regardless of the object-oriented programming language you choose.
-
Designing APIs with Swagger and OpenAPI: A book that will teach you the best practices for describing and designing RESTful APIs using OpenAPI and Swagger through a design-first paradigm.
-
Grokking Simplicity: Taming complex software with functional thinking: This book teaches functional programming from first principles, using real-world scenarios, and using JavaScript for all code excamples.
-
Your first Year in Code: A complete guide for new & aspiring developers by Isaac Lyman.
-
Programming Notes: A huge collection of Programming Notes for Professionals books
-
Functional-Light-JS: A uniquely pragmatic approach to explaining core functional programming concepts WITHOUT wading through mathematical notation or heavy terminology.
-
Introduction to Computation and Programming Using Python: Supplementing textbook for MIT’s 6.0001 Introduction to Computer Science course which is open source. This is book teaches Python programming alongside fundamental computer science theories
- Python For Everybody
-
The Art of Unix Programming: A (Free!) book that compiles programming knowledge and principles from the Original Creators of Unix and other prominent people that have worked on Unix, Linux, C, and more. If you want many, many years of programming wisdom concentrated into one book, this is a good one to pick.
-
Here is an article with a bunch of free eBooks for Web Designers & Web Developers.
-
Here is an article with 10 Free Programming Books.
-
Several programming books by Al Sweigart can be read online for free. Most are for python. Invent with Python
-
Structure and Interpretation of Computer Programs: SICP is unique in its ability—at least potentially—to alter your fundamental beliefs about computers and programming. Not everybody will experience this. Some will hate the book, others won’t get past the first few pages. But the potential reward makes it worth trying.
-
Database of Free Tech Books: Collection of books that are free to download digitally. Includes textbooks, notes and research papers.
-
Domain-Specific Languages Made Easy: An early-accses book that shows you how to design and build modern DSLs for business users.
-
The Programmer’s Brain: An early-accses book that explains what cognitive processes happen in your brain when you program. The book teaches a wide variety of techniques to improve programming skills based on cognitive science.
-
High Performance Python for Data Analytics: A book that takes a holistic approach to Python performance, showing you how your code, libraries, and computing architecture interact and can be optimized together.
-
The Self-Taught Programmer: The Definitive Guide to Programming Professionally: A book about a self-taught python developer who managed to study programming on his own and get a job at eBay after a year. This book includes basic information about python as well as some more advanced topics. There are examples of code, the writer helps you create fun programs and teaches you what they do. This is a great book for entry level python developers, however it may be handy even for more advanced readers.
-
Introduction to Programming in Java: An Interdisciplinary Approach: An amazing book that teaches the reader basics of programming. The book teaches Java language, however the knowledge gained from the book can be applied in most languages. This book is amazing because it teaches not only how to write code, but goes deeper in explaning how computers work and why they do what they do. The book assumes that the reader has some knowledge of mathematics, so if you don’t know math it may be slightly difficult.
-
Professional JavaScript for Web Developers: Even if you think you know JavaScript, new ES releases bring big changes that will affect the way you work. For a professional-level update that doesn’t waste time on coding fundamentals, Professional JavaScript for Web Developers is the ultimate resource to bring you up to speed.
-
Programming Notes for Professionals in almost every language : The Notes for Professionals books are compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow.
-
JavaScript Bible : The bestselling JavaScript reference, the JavaScript Bible is a classic bestseller that keeps you up to date on the latest changes in JavaScript, the leading technology for incorporating interactivity into Web pages. Part tutorial, part reference, this book serves as both a learning tool for building new JavaScript skills as well as a detailed reference for the more experienced JavaScript user.
-
Good Code, Bad Code : Practical techniques for writing code that is robust, reliable, and easy for team members to understand and adapt.
-
100 Go Mistakes: How to avoid them : Spot errors in your Go code you didn’t even know you were making and boost your productivity by avoiding common mistakes and pitfalls.
-
Skills of a Software Developer : The skills and knowledge you need to grow from a solo coder into a productive member of a software development team.
-
Software Mistakes and Tradeoffs: How to make good programming decisions : Optimize the decisions that define your code by exploring the common mistakes and intentional tradeoffs made by expert developers.
-
Five Lines of Code: How and when to refactor : A book that teaches when to refactor, specific refactoring patterns that apply to most common problems, and characteristics of code that should be deleted altogether.
-
Effective Software Testing: A developer’s guide : A hands-on guide to creating high quality tests, from your first line of code through pre-delivery checks.
-
Tiny PowerShell Projects : A book which guides you through 17 practical PowerShell projects that will build your skills.
-
Statistics Playbook : How-to guide for statistical analysis using R.
-
The Creative Programmer : Book about creative problem solving in programming. It explores seven central themes that makes a creative programmer tick: technical knowledge, communication, constraints, critical thinking, curiosity, a creative state of mind, and creative techniques.
- Collaborative Software Design : Book about effectively involving all stakeholders in the design of software, designed to teach facilitating software design decisions via visual collaborative modeling in a team.
React
- The Road to learn React: a free ebook by Robin Wieruch where you build a Hacker News clone
- 30 Days of React: email newsletter and free 300+ pages ebook on React
- Pure React :Write your first app with React • Learn to carve a UI mockup into components, then code them
React Native
- The Ultimate Guide to React Native Optimization: This Guide is comprehensive source of knowledge on the best tools, tips, and tactics for optimizing your React Native app.
Coding Interviews
- Cracking the Coding Interview: 189 Programming Questions and Solutions: A thorough walkthrough on coding interview topics with a good range of easy-to-difficult interview questions and solutions with in-depth explanations.
Better Coding
- Clean Code: Learn to write better code which is more readable to others.