The Internet is mankind’s biggest repository of knowledge, information, useful (and useless: think of cat pics) digital content. Today, we will be taking a quick look at something useful and down to earth: free online programming books.
There are a lot of useful books, guides, technical documentation, research papers, code examples and testimonials available online. You are merely a Google search away from this stuff, provided you weed out the SEO-optimised content mill pages, which still rank high on Google.
Since we cannot list and review hundreds of books in one blog post, we will be relying on your input. Did you read a free programming book this summer? Or a good paper, a case study? If so, please share it with the community and check the comment section for suggestions made by other readers.
Getting Started On Google And GitHub
Google and GitHub are the obvious places to start a search for free programming guides, books and other content.
GitHub has a list of free programming books numbering more than 500 titles. It’s obvious that GitHub offers a definitive list of free programming books. The books included in this list cover a wide range of technologies and topics, from language-agnostic programming books, mathematics, detailed technical guides for various languages, some hardware-specific development guides, and more.
As far as Google goes, it remains a vital resource for anyone on the hunt for free resources. Mind you, I am not only talking about free books; Google can be used to research very specific information, find relevant documentation, research papers and so on.
The biggest problem with Google is that many simple search terms won’t deliver satisfactory results. After a decade in online publishing, I’ve come to despise the SEO-optimized gang because the whole idea this particular niche is to create near-useless content that ranks high in searches. More often than not, a widely used search term focused on a popular technology will result in a handful of relevant sites and dozens of SEO-optimised pages that contain rewritten, reheated, and utterly useless content. No matter how Google changes its algorithm, these guys seem to be one step ahead.
Narrowing Down Searches On Google
Since I am catering to a tech savvy audience, I won’t spend a lot of time explaining how Google searches can be narrowed and focused on relevant information. Loads of power search tips are out there, and I guess most of our readers already use them.
Granted, Google may not be the go-to place to search for free books, but books aren’t the only resource we are after. Searching for research papers, technical documentation, or even online discussions, can prove useful if you need to tackle a specific problem.
Google Book Search can be employed to hunt down keywords in numerous library books. Google Scholar is designed to search scholarly material in much the same way. Both can be useful, especially if you are writing a research paper, or polishing some technical documentation.
Of course, these services merely complement your standard Google search. You can save time and improve the quality of your search results by using Advanced Search features, such as quotation marks, search for specific file types (usually, .pdf), or restricting the search to certain domains. Just a few simple tweaks should help you get the desired result and save some time.
As I said, I won’t spend time and waste space explaining Google power search tips, but should you believe you need to brush up your skills, check out this neat inforgraphic, which covers the basics.
If you are looking for something specific, a method of solving a certain problem, code demonstrations or case studies, Google should be the place to start (provided you use it correctly).
Toptal’s Selection Of Top Free Programming Books
If, on the other hand, you just need some easily accessible free programming books, something to kill time or brush up your skills, resources like GitHub and other compilations of free books are your best bet.
The Toptal blog might benefit from such a list, as well, although I can’t list a few hundred books and offer short reviews of each and every one of them. Although I like to read, checking out each one would be too difficult. This is why I will restrict the list to certain languages, frameworks and techniques, arranged alphabetically.
Language-agnostic books will not be covered, at least not this time around.
Turn your ebook shelf into a repository of valuable knowledge without spending a penny.
- Google Android Developer Training is the obvious place to start. It offers a lot of useful resources, best practices and so on.
- Free Android Programming Guide For Begginers is a ten-chapter course covering the basics of Android development.
- Tuturials Point’s Android Tutorial is another tutorial for green developers. It also includes a number of code examples that may be useful for novices.
- Coreservlets also offers a number of Android tutorials covering a wide range of topics. This is not a print book, so the online collection is expanded and updated from time to time.
- If you are looking for free design advice, you should check out Styling Android. This is not a proper book, either, so the content is updated on a regular basis.
I should note that most Android tutorials, and virtually all books, assume that you already know your way around Java. In case you don’t, you will have to start there before moving on to these Android resources.
C Sharp, C, C++
- The Beginner’s Guide to C# and the .NET Micro Framework is a relatively recent publication by GHI Electronics. It is a brief, but concise, guide that should help you get started.
- The C# Programming Yellow Book is published by the University of Hull and, since it’s part of the university’s courses, the book is updated on a regular basis.
- For more specific information you can turn to Data Structures and Algorithms with Object-Oriented Design Patterns in C#. You should also check out Joseph Albahari’s Threading in C#
- Since C and C++ have been around for a while, there is a lot more to choose from, but many of these resources are out of date, or just plain bad. If you are looking for C++ books and tutorials, I suggest you check out this Stackoverflow thread and find something good. I should note that not all of these books are free.
- As for C, you could check out the C Wikibook, Deep C and C++, and Learn C The Hard Way
For more detail: Toptal’s List Of Top Free Programming Books