The problem with books is that they are long (hundreds of pages each), sparse and have very important things interleaved with trivia.
Makes me prefer to read some fiction instead. Helps personal development also.
The tech book of future would probably look like a list of narrow theses each unwrapping into a list of smaller things and so on eventually to a long and exhaustive explanations.
Same with science papers - findings first, explanations on demand.
They are very short and the only way of getting a bit more details is to read the whole article. It should zoom smoothly.
For some reason authors tend to withhold something important from the abstract. If they write what they did, they don't tell what they got; if they tell the result, no clues on how they figured it out.
I don't know about other fields, but math papers have an abstract, then a section called "Introduction" which has some background and motivation and ends with an overview of the rest of the paper, and then the remainder has the details.
I would add that you also need to have a strong understanding of the Java Language Specification (http://java.sun.com/docs/books/jls/third_edition/html/j3TOC....). Recently, aomeone tried to tell me that a non-synchronized static method was not re-entrant. These type of of fundamentals are covered by the JLS.
"Java: Concurrency in Practice" is a superb primer to sane, concurrent programming in imperative languages. The first few chapters made me realize how much I had to learn.
I've a friend, no really -- it's not me, who would like to have the JVM spot SSE instructions could be used. Anyone know of a JVM that steps into this area?
The reason I left that off is that I was specifically trying to highlight the runtime and performance characteristics of the JVM. These are things that apply to any JVM-based language, but which seem to be greatly neglected by a large number of developers. I am a Scala developer and I do quite like that book, but it doesn't suit my purpose here.
Makes me prefer to read some fiction instead. Helps personal development also.
The tech book of future would probably look like a list of narrow theses each unwrapping into a list of smaller things and so on eventually to a long and exhaustive explanations. Same with science papers - findings first, explanations on demand.