Hacker News new | past | comments | ask | show | jobs | submit login

Take note that this list seems to include any book, regardless of how old it is and how bad its contents are now, 10+ years later.

Before investing time in any of these, do yourself, and the world, a favor and find the community of the language and ask them if the book you found on that list is shit.




Let me add a tiny suggestion: sometimes even old, and obsolete has value. There might be an intermediate step in the paradigm or exercise that will suit your mind better. For instance: I failed twice at the calculating change problem in courses (Coursera, SICP). I find a variant in an old Caml problems book, that made me able to revisit the change problem and solve it on my own.

Seek for stimulation and keep growing. Cheers.


Totally agree, and I'll piggyback this to say that the quality is not always too important either. Worrying about whether the book you are learning from is "the best" is not as productive as getting on with learning the language. A book really only has to good enough not to teach bad habits or explain concepts incorrectly.


75% of all Perl books teach bad habits and explain things incorrectly. I didn't use the word "shit" up there lightly.


I guess Perl is kind of a special case :) I got up to speed by reading half of some fairly old Perl book, then reading most of Modern Perl.


You'd be guessing badly. https://news.ycombinator.com/item?id=12036826

I've also had similar experiences with Java, nevermind Javascript.

It is an utter and simple fact that due to tech being an everchanging landscape, any book more than a few years old is going to teach bad habits or explain concepts incorrectly.


>It is an utter and simple fact that due to tech being an everchanging landscape, any book more than a few years old is going to teach bad habits or explain concepts incorrectly.

Concepts change meaning and good habits turn bad every few years?

Shitty books are shitty, OKish books will be probably be fine for a language intro, even if they are old.


That's why I like old books at libraries. They were from a time where the research / book ratio was better. People in research centers didn't write about trivial stuff. That's why math is so nice (when you can parse it), very general and aiming at timeless.


Based on Sturgeon's Law [1] then, Perl books are doing fairly well.

[1] https://en.wikipedia.org/wiki/Sturgeon%27s_law


Recently read the phrase 'don't optimizing for comfort'.


This is my gripe with laundry list GitHub repos (see most "awesome-X" repos). People just make them for the stars and "fame" and have no intention of curating or reviewing.


Totally agree with you on this point (not the OP's link specifically, but the awesome-x trend in general), too many of them add craploads of crappy links just for the sake of a high number.

Maybe it's just that my learning style is different from the majority's but I don't see much benefit in a massive dump of links. The idea and the intention of a community curated list on learning resources is good and lovely, it's just that github is not suitable for this.


I agree with you: github is not suitable for this.

When I created this github repo, it was because stack overflow wasn't suitable for this. Then I created a website (the now defunkt resrc.io) which could pull these kind of lists from github, parse the links, have them tagged in a database, parse the link content, make it searchable, etc.

It still wasn't suitable. And I'm still looking for a suitable way of curating such lists, be it on github or anywhere else.


I checked the link from the archive https://web.archive.org/web/20140701160526/http://resrc.io/ and from what I can see, it looks like the main issue (vetting of the links) wasn't really solved. That's the main issue with the awesome-x, from my perspective. Most of the people don't really need to read 5 books on basic Python, nor have the time to do so (trying to read a few books and dropping some is also time consuming).

Having tons of options sometimes seems cool when just checking or looking around, but when you actually need to use/learn something it's usually much better to have a couple (at most) of vetted resources that you can trust. Especially for the basic things, where there are countless of books, blog series, online courses. The paradox of choice, sort of. That would actually take 'community curated' to the next level.

The way I imagine this format working is having lists and sublists (loosely made of awesome-x repos) and each link having a upvote/downvote/report button. While the voting system would reside outside the github, every link could in github could have a widget next to it, similar to build status widgets. Well, you could implement voting using issues and reactions but that seems like a really messy way to do something. If widgets with score wouldn't exist, it would be extremely hard to convince the users to go to yet another web site.


That might work. What I do with https://github.com/tedyoung/awesome-java8 is require a few sentences for each submission that's describing what makes it useful and/or different from what's already available. Curation is definitely work, and kudos to @vhf for keeping up with it, but setting a higher-bar for entry can help (unless your goal is to just amass a bunch of links).


Wow. This is an awesome idea, and a very easy one to implement. I'll think about it. :)


Awesome! Drop me an email (in my profile) if you want to talk/brainstorm/share progress, would love to hear about it :)


Yes this is why I personally avoid such lists. Take for eg the Django books: anything below 1.8 is officially unsupported and you should definitely not be learning.

A quick question on #django on freenode about best learning resource and people will always reply with "first, the official tutorial, then maybe django-girls tutorials"


Hard to have a voting mechanism on Github. Stack Overflow isn't really suited for this either. They try to do it with this question, but even that is hard to do: http://stackoverflow.com/questions/562303/the-definitive-c-b...


In that case, it would be helpful to have a Github list of links to language communities for quick reference.


I agree this needs to be better organized or curated. Cobbling together 2000 lines of books is not the easiest to consume.


Probably an easy way to do it, would be to run the book title through hacker news comments and programming language subreddits. Count up the number of references. That at least would give you an idea of how often a book is mentioned.


You'd need to normalize against the age, since some books have over 20 years of recommendations despite having been outdated 18 years ago.




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

Search: