Hacker News new | past | comments | ask | show | jobs | submit login
Free Programming Books (github.com/vhf)
396 points by nilsbunger on April 9, 2014 | hide | past | favorite | 47 comments

There seems to be a big trend toward authors publishing programming books for free online and offering hard copies that you buy, too. In general, if someone offers me a free product and a paid one, I'll stick with free. No surprise there. But coding books are an interesting exception.

I find it much easier to learn a new language when I'm using a book instead of reading it for free online. A book is a single-purpose device; you can only use it to learn about one topic, or set of topics. It doesn't vibrate, notify me of emails and text or encourage me to go on other tangents. For a goal such as learning R or Haskell, which requires a lot of mental energy, having this extra focus makes a big difference.

It's easier to focus and learn on dead trees. For the author it's an interesting model too. Posting online, especially "beta" versions, gets you fast feedback and ultimately a better book. The paper sales are essentially a tip mechanism.

I am not allowed to sell "Mature Optimization" because it's owned by my former employer, but I had some nice bound copies made as gifts for people who come to talks.

Yea, I like physical books too, but I have wasted hours on figuring out code examples with typos.

I agree, but i've noticed that digital books have code typos too. Now, there are authors that will update them to do fixes. Some hard copies have online section that you can go and download "fixed" pages.

For me its the opposite; with online books it is easier to make notes - this in turn helps to stay focused.

An awesome list! I saw this list on stack overflow before it was transferred to Github. It really does save you loads of time as compared to searching for books using Google.

Another fantastic resource, http://pineapple.io/

Edit: not sure why i've been downvoted? is it because I recommended another resource?

A fine, curated list.

As with most meta-topical lists, there is virtually no profit in browsing through it. Time may be wasted a-plenty, though.

Bring a question about technology X with you, go straight to section X and then consult with the search engine of your choice (or a hacker friend, idealy) which book to actually read.

Hint: some of those have wikipedia-pages, like https://en.wikipedia.org/wiki/Higher-Order_Perl and others hide the books behind an email signup front (one is a strong signal for quality, the other, perhaps, not so much).

Totally agree, Btw, HOP is coming just after SICP in my favourites. Great that you mentioned it :). It's great way of seeing same concepts applied to more day to day stuff like html parsing, walking directories, or regexps.

I'm digging into "Is Parallel Programming Hard, And, If So, What Can You Do About It?" https://www.kernel.org/pub/linux/kernel/people/paulmck/perfb... and liking it!

when accessing this site through Firefox I get "Peer's Certificate has been revoked." Chrome works fine though.

If the certificate has been revoked (as it should be if it is older than a day), it is actually Firefox that is working fine in this context. Probably heartbleed fallout.

I was getting OCSP validation issues on kernel.org today. Turning off OCSP validation, visit kernel.org, then turning it back on seems to solve the issue.

Dumb question here: Any way to maybe download all the PDF/HTML books in one big collection? I could imagine it being pretty huge, but I might interested in downloading it.

Good idea. This would solve the issue of broken links or domains that have reached their EOF.

Having all the books does not translate to using them. I used to keep plenty of books that I knew I would never use.

Tip: Pick the subject you really want to learn, then use the list for that specific subject.

One good book can teach you a lot more than 3-4 poorly written books.

The link is great but how many times it was posted here ?

Well I've never seen it before! Reposing material like this is a good thing.

It wouldn't be a bad thing to repost it every now and again. Which reminds me, people are as burried in bookmarks as they are in email. Solution = new startup?

Definitely not a bad idea to repost good links. A solution could be a startup, but that's just producing another bookmarking system and reinventing the wheel. I guess that's why there is search on HN.

I would like to propose for a solution to this. To avoid reposts, why doesn't HN create a "Sticky" of good resources like these? It would definitely reduce reposts and also act as a "Go to" link for X(Technology/Tool/Books).

Everyday new people find out about HN and having a link where people can refer to for "typical HN" FAQ's would be great. Just my $0.02.

Use a social bookmark ? Or organize your Browser bookmarks ?

Is this easily available in a single torrent? If not I see no reason of not just getting Gentoomen library.


It's not clear to me what the policy is on links to copyright violating offers, e.g., "jQuery: Novice to Ninja: New Kicks and Tricks - SitePoint". SitePoint.com is currently asking $29 for that eBook, and graciously appears not to be applying DRM. Unfortunately, the phrase "really free" in CONTRIBUTING.md does not really resolve the question.

So what version of "free" does the list intend?

Probably free as in freedom or "libre" as our lord and savior rms would call it. DRM-free is almost free but not quite.

My favorite free programming books are anything by Beej. His networking[0] and C[1] books are simply phenomenal.

0 - http://beej.us/guide/bgnet/

1 - http://beej.us/guide/bgc/

Not all of them are books, some of them are long blog posts some just web pages.

Does this github project handle the scenario where some of the URLs become dead links or some of the domains expire? Automatically, these links/domains need not be shown to the user.

Hi, repo owner here. Yep, I'm doing my best to keep dead links out. See this issue for example : https://github.com/vhf/free-programming-books/issues/850

Hi, missing Project Oberon (see projectoberon.com). Also, should credit Wirth as author of Compiler Construction.

Just with any other github project, you can fork it and submit pull requests to address when that happens.

Man, people should write ore books on Flask framework. :(

I'm not sure that's true. Books can create a DRY problem. When a project moves fast enough, any books written about it have a short window during which they're relevant. After which time they can do as much harm as good, between the info being out of date, or wrong, causing confusion with new developers, diverting them from the official docs, etc.

Flask is pretty small and simple, so books are less necessary than they would be for other types of projects. As long as its own documentation remains good that's going to be the best option.

This is early release, but still fantastic: http://shop.oreilly.com/product/0636920031116.do

I need a good book on emulation, i wan't to write an old console emulator. Anyone know a good material for that?


Really, the hard part about writing an emulator is getting the documentation on the system you are trying to emulate. What console are you trying to write an emulator for?

Quite simply a phenomenal resource and one of the best links I have ever seen posted on HN.

Thanks much. The collection of this many resources in one place has improved my life.

Nice. But how do I decide which to start reading and in which order to continue?

As with all things: necessity dictates, curiosity nudges.

If you come without baggage (project idea, interest in FP, what-have-you), you'll need to come back later.

wow, great link thanks for that, i wish they were exportable to PDF, i too prefer physical (paper) books, but was given an e-reader for xmas and have been reading lots of pdf's on it.

Great! I'd love to read something on http://ceylon-lang.org or http://kotlin.jetbrains.org

Go for Scala (Scalaz lib) AND Clojure: could save you some time.

I've been using and loving Scala for more than a year now as my main language. I was just curious to hear about these others, that's all.

Great resource, thanks!

[From someone else who's not seen it before]

very good ollection

Skimming through this list was jaw dropping.

I'm moving over to MongoDB (NoSQL), but an EXTREMELY awesome book that I have in my collection is SQL Hacks. It's published by O'Reilly. It's an extremely awesome book on optimizing SQL queries appropriately. It's not in this list, but I definitely recommend it!!!!

"free-programming-books". It's not on the list because it's not (unless you know something I don't).

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact