There's probably a property of programming languages that connotes to the ratio of books needed to code written which Java scores highly in. That and the huge number of people forced to learn Java and buy books on it.
At the opposite end would be languages that are easier to work with, have incredibly good online documentation, and/or for which a book industry has not yet materialized.
It's hard to find any language that has better online documentation than Java.
Java as a language is dominant in universities (for debatable reasons) and in average-boring-industry shops and at high-scale shops, both for very good reasons. There's going to be a lot of books sold because of that.
Listings for Java programmers significantly outnumber those for any other language on all the job boards I've checked. I'm not persuaded that some other intangible is driving book sales.
Java has tons of documentation online, detailed API references, tutorials, etc. If there are many Java books, that's because of the demand for them and the language, not of some "mystic" BS quality the language has that needs more books.
For the same reason there are tons of Java jobs, many more than, say, Ruby jobs. It's not because "Java is more difficult and needs more programmers for the same task".
I find this statistics to be interesting because technically, outside Android, there's probably not too many new books about Java published by O'reilly unlike in the early 2000 when Java for the web and enterprise exploded.
On the flip side, Head First Design Patterns, Head First OOP, Head First Software Development are all using Java and the Head First series seems to replace the "For Dummies" series for beginner's book (don't get me wrong, I love Head First series because the series attempts to write book from a different angle and it does make sure you remember what you read, just like in the classroom).
Last but not least, O'reilly has the best selection of JavaScript books out there compare to other publisher.
Everything else is covered by the excellent online documentation, including the language and VM specification books: http://docs.oracle.com/javase/specs/
Java Puzzlers (http://www.javapuzzlers.com/) is a fun read that highlights many corner cases of the language and might be helpful for code reviews and debugging.
One obvious reason for this would be that colleges/universities very often teach Java as the main language and will usually encourage students to buy at least one or two books on the subject.
Another reason is that Java projects will often use some fairly heavy frameworks like hibernate, which can be great to work with if you really understand how they work. The best way to do this is to make sure you have the definitive book on your shelf as you are in for a world of pain if you just try to "wing it" like you would with PHP.
And also Java is very popular in large corporations (at least in my experience in the Financial Services sector). These companies have large staffs and lots of money. They'll send whole teams to training classes (which includes books).
While working for these large companies I thought the whole world was Java/Spring/Hibernate. Now that I work on my own (and have started spending more time on HN) I see there is a totally different picture for the startup/consulting world.
BTW, scanning GitHub to determine language popularity seems ridiculous to me. What percent of larger corporations use GitHub (less then 5% I would guess).
I don't think these results correlate at all to the popularity of a given programming language in use in the field.
For instance, pretty much ever since the language's ascendance to popularity, a visit to the bookstore will yield a veritable WALL of Java books, most of them bound for obsolescence within a year, or two, max. Sure, this happens with other programming languages too, but the constant churn of frameworks, libraries and infrastructure that happens in the Java world is a boon for book publishers.
Interesting trends, which likely match reality wrt the the decline of visual basic and perl, and the rise of python
http://radar.oreilly.com/upload/2012/03/Lang_allYears.jpg
It also shows the ruby market cooling off, which is consistent with recent stats for open source commit numbers.
[+] [-] Tloewald|14 years ago|reply
At the opposite end would be languages that are easier to work with, have incredibly good online documentation, and/or for which a book industry has not yet materialized.
[+] [-] jbooth|14 years ago|reply
Java as a language is dominant in universities (for debatable reasons) and in average-boring-industry shops and at high-scale shops, both for very good reasons. There's going to be a lot of books sold because of that.
[+] [-] cageface|14 years ago|reply
[+] [-] muyuu|14 years ago|reply
Languages I despise, like Java and Javascript, I have bought the most books. I guess I wanted a streamlined experience to make it easier to swallow.
[+] [-] batista|14 years ago|reply
Java has tons of documentation online, detailed API references, tutorials, etc. If there are many Java books, that's because of the demand for them and the language, not of some "mystic" BS quality the language has that needs more books.
For the same reason there are tons of Java jobs, many more than, say, Ruby jobs. It's not because "Java is more difficult and needs more programmers for the same task".
[+] [-] readme|14 years ago|reply
This is not a surprise at all.
Java is huge. Sorry to everyone who doesn't like it. It's just a current fact of the industry.
[+] [-] edwinnathaniel|14 years ago|reply
On the flip side, Head First Design Patterns, Head First OOP, Head First Software Development are all using Java and the Head First series seems to replace the "For Dummies" series for beginner's book (don't get me wrong, I love Head First series because the series attempts to write book from a different angle and it does make sure you remember what you read, just like in the classroom).
Last but not least, O'reilly has the best selection of JavaScript books out there compare to other publisher.
[edited typo :)]
[+] [-] cageface|14 years ago|reply
I know this is a typo but this is a book that really begs to be written.
[+] [-] electrum|14 years ago|reply
Effective Java: http://java.sun.com/docs/books/effective/
Java Concurrency in Practice: http://www.javapuzzlers.com/
Everything else is covered by the excellent online documentation, including the language and VM specification books: http://docs.oracle.com/javase/specs/
Java Puzzlers (http://www.javapuzzlers.com/) is a fun read that highlights many corner cases of the language and might be helpful for code reviews and debugging.
[+] [-] jiggy2011|14 years ago|reply
Another reason is that Java projects will often use some fairly heavy frameworks like hibernate, which can be great to work with if you really understand how they work. The best way to do this is to make sure you have the definitive book on your shelf as you are in for a world of pain if you just try to "wing it" like you would with PHP.
[+] [-] efa|14 years ago|reply
While working for these large companies I thought the whole world was Java/Spring/Hibernate. Now that I work on my own (and have started spending more time on HN) I see there is a totally different picture for the startup/consulting world.
BTW, scanning GitHub to determine language popularity seems ridiculous to me. What percent of larger corporations use GitHub (less then 5% I would guess).
[+] [-] Roritharr|14 years ago|reply
If the amount of books i've bought would equate with the number of books I've read I probably would be a more rounded coder...
Is it common to have atleast 5 times the amount of unread coding books in comparison to the read ones?
There are surely lots of Java books bought by students who drop out after the first semester...
[+] [-] Feoh|14 years ago|reply
For instance, pretty much ever since the language's ascendance to popularity, a visit to the bookstore will yield a veritable WALL of Java books, most of them bound for obsolescence within a year, or two, max. Sure, this happens with other programming languages too, but the constant churn of frameworks, libraries and infrastructure that happens in the Java world is a boon for book publishers.
[+] [-] thebluesky|14 years ago|reply
[+] [-] namidark|14 years ago|reply
[+] [-] beothorn|14 years ago|reply