Win a copy of Practical SVG this week in the HTML/CSS/JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Core Java for the Impatient - question to the author

 
Andrew Polansky
Ranch Hand
Posts: 310
18
Linux MS IE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello Cay.

I saw information about your new book. The part of the title "for the impatient" made me very curious about it. What makes that book a good position for impatient learner?

I am interested, because I started learning Java a few months ago. Since I have a lot of experience with other languages and I love OOP, I learned Java fast enough to use it everyday in my work. I would want to learn more advanced elements of the language, but most of the books are fulfilled with "fillers" - bunch of text that talks about things I do not really need to get things working.

I believe most of the books available on the market could be refactorized, which could reduce book size maybe even up to 50%. You named your book "for the impatient", so I can guess your book is already "refactorized" and without any unnecessary "fillers"?
 
Campbell Ritchie
Marshal
Posts: 52615
119
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The Horstmann books I have do not contain any fillers.
 
Cay Horstmann
author
Ranch Hand
Posts: 172
15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The "impatient" idea comes from a classic book called "TeX for the Impatient". (TeX is a markup language that is often used in math and science publications.)

The books that preceded it had lots of background that surely was absolutely riveting for TeX enthusiasts, but that drove anyone crazy who just wanted to get on with their life and typeset a paper.

At one point, I needed to learn Scala, and I read a couple of Scala books and said "Whoa, all that guff! I just want to get on with my life and write a simple program." And so I had to write "Scala for the Impatient". I loved writing it, and the book has done well.

When Java 8 came out, I realized that there is a lot of stuff that is now historical baggage, and that I could apply the same style to a modern exposition of Java. I intended it for people who know some other language well but for some reason haven't really picked up Java, or only dabbled in it. It looks like you are exactly the target audience.

There is a sample chapter at http://www.informit.com/articles/article.aspx?p=2303960 so you can see for yourself.

Cheers,

Cay

 
Rob Spoor
Sheriff
Posts: 20822
68
Chrome Eclipse IDE Java Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And here I was thinking Java SE8 for the Really Impatient (great book BTW!) was named as such because it was one of the first Java 8 books released, just shortly after Java 8 itself was released...
 
Campbell Ritchie
Marshal
Posts: 52615
119
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Cay Horstmann wrote: . . . TeX is a markup language that is often used in math and science publications. . . .
Isn't it a precursor of LaTeX?
 
Pho Tek
Ranch Hand
Posts: 782
Chrome Python Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I used Scala For the impatient when completing Odersky's coursera course.

I think I'm going to start writing some technical books with the title "Technology XYZ for those with ADHD".
 
Cay Horstmann
author
Ranch Hand
Posts: 172
15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Campbell Ritchie wrote:
Cay Horstmann wrote: . . . TeX is a markup language that is often used in math and science publications. . . .
Isn't it a precursor of LaTeX?


LaTeX is a macro library written on top of TeX. You are right--that's what just about everyone is using these days since plain TeX is rather low-level.
 
Andrew Polansky
Ranch Hand
Posts: 310
18
Linux MS IE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Cay Horstmann wrote:The "impatient" idea comes from a classic book called "TeX for the Impatient". (TeX is a markup language that is often used in math and science publications.)
The books that preceded it had lots of background that surely was absolutely riveting for TeX enthusiasts, but that drove anyone crazy who just wanted to get on with their life and typeset a paper.

I know what you are talking about. My first encounter with LaTeX was many years ago, when I wanted to move a few rather simple equations from a paper to a word file. It was something that could be taught in 15 minutes, but the book I had was really full of fillers, history, and inside mechanics of LaTeX. I took me some time to finally figure it out. All I wanted was just to render a few equations, not to become LaTeX specialist.


Cay Horstmann wrote:When Java 8 came out, I realized that there is a lot of stuff that is now historical baggage, and that I could apply the same style to a modern exposition of Java. I intended it for people who know some other language well but for some reason haven't really picked up Java, or only dabbled in it. It looks like you are exactly the target audience.

There is a sample chapter at http://www.informit.com/articles/article.aspx?p=2303960 so you can see for yourself.

When I was working on my first real application in Java, I started with planning classes, abstractions, interfaces and relations between them. When I had a complete structure of the application ready I just moved forward to coding it. All the knowledge I needed was how to implement my design in Java. I built my application by searching in Google everytime I didn't know something. It did work, but it took long time to complete. I wanted to start by reading a book about Java to avoid constant googling, but the multi-page descriptions about what variables are, what objects are, and how inheritance works along with long examples really sucked all of my energy and motivation.

I have read the sample chapter from your book (thank you for providing the link).

The introduction to the chapter contains a clear list of sections that gives a good idea what the entire chapter is all about. If I want to find just a particular thing in the book, such listing greatly helps in search and navigation. I totally love the lengths of every section. They are very short, with great and actually useful examples, and without any fillers or unnecessary descriptions. The "Note"s greatly to maintain focus on important things by separating main text from curiosity/less important text. The "Cauntion"s forces the focus on things I cannot omit. The tables like "Table 3–1 Common Functional Interfaces" from section 3.6.2 are really useful and actually something I want to see. I do not have to check the docs to see what functional interfaces Java offers - I already see the most common ones and get an idea when I can use them. If I want to learn more, then naturally I go to the docs - but in this case I know exactly what I am looking for.

If the entire book is written like this, then it's something I have definitely buy. Great work Cay!
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!