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 GitHubGoogle 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. The size of the list might present a problem for the casual reader because it could be difficult to find and choose only a few books; there are simply too many of them, especially if you are looking for something dealing with a popular topic such as Python, Java/Javascript, C#/C++. We will take a closer look at this issue later on. Google, GitHub, Universities, Industry - all vital resources for a developer in search of freebies.
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 GoogleSince 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. A good programming book can save time, and much more.
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 BooksIf, 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 e-book shelf into a repository of valuable knowledge without spending a penny.
Turn your ebook shelf into a repository of valuable knowledge without spending a penny. Android
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++
Git
HTML and CSSMany authors choose to cover HTML and CSS in a single publication, so I will list both.
iOSFive years ago, Apple published six free ebooks for iOS developers: Cocoa Fundamental’s Guide, The Objective-C Programming Language, iOS Application Programming Guide, Object Oriented Programming With Objective-C, iOS Technology Overview, and iOS Human Interface Guidelines. The books were freely distributed via the iBookstore. Apple also offers additional resources for developers new to iOS, such as Start Developing iOS Apps Today.
JavaIf you are into Java or JavaScript, you can consider yourself lucky, because there are dozens of good, freely distributed books you can use. In fact, there are so many that I’ve decided not to list most of them, because this post would end up looking like a Java 101 class.
JavaScriptAs I said, dozens of different JavaScript books, tutorials and code repositories are available online, so I will narrow my list down to just a few titles.
PHPSince PHP has been around for ages, there’s no shortage of free books and other resources. However, many of them are out of date (although they can still be useful if you are just grappling with the basics).
If you are using a framework such as Laravel, you can still find some useful freebies, namely official documentation. Perl
PythonPython developers are a lucky bunch because they can choose from dozens of free books. This causes a problem because I can’t list nearly enough in this article. There are a number of publications for novices and battle-hardened veterans, as well as some very specific niche stuff. Still, there are a few obvious choices, such as Google’s Python publications.
Ruby and Ruby on RailsRuby and Ruby on Rails are the weapon of choice for many developers, hence there is no shortage of books and user guides.
Useful Resources Are A Click AwayAs I said earlier, this list is limited to free publications covering certain languages and does not cover niche topics, or language agnostic programming books. In case you are looking for something more specific, I suggest you take a look at GitHub’s list of free programming books. In addition, books aren’t the only way to improve your skills. Earlier this year, Toptal published a list of quality developer blogs, pitched by our community. In case you missed it, please check it out. I also suggest you take a look at Toptal’s resource page; our team is working hard to expand and update all sections, and turn it into a vital resource for all freelance developers, not just Toptal members. Don't be lazy. You can always learn new skills, in any setting.
I was also planning to write a few paragraphs covering the latest e-book software and hardware, but I decided it against it. Besides, our readers already know their way around various gadgets and know what works best for them, e-ink or a nice IPS LCD. Anyway, hardware should not be your primary concern. A good book is a good book regardless of how you choose to read it, on an aluminium tablet, or a clay tablet.
On a personal note, I am actually considering purchasing a cheap, dual-SIM smartphone from China, with an e-ink display on the back. That should free up some space in my backpack when I head down to the beach; two mobile networks to keep roaming costs down to a minimum, and a proper e-book reader in a single device, that sounds practical, right? So, all I’ll need is a phone, a towel, bottle of water, and some flip-flops (pun intended). |
|
来自: astrotycoon > 《深度理解C 》