on July 16, 2004
Although I acquired many Java books when I was first learning the language, Just Java and Sun's Java web-pages have become the only two resources I use on a daily basis. I expect that this new edition will quickly become as thumbed as my previous edition.
PvdL's biggest strength as a technical author is his background as a long-time programmer. He understands what an experienced programmer will look for in a general language reference book, and seeks to provide the information in a concise and witty form.
As an example of the clarity of the writing, I should note his explanation of autoboxing and Unboxing (new in Java2 1.5). This is already part of the .Net languages, but while the various .Net books I've read take long sections to try and explain the concept, Just Java 6 managed to explain it in little more than 1 page *and finally help me understand it fully*!
While this book certainly isn't for people who have never programmed before, it's a great resource for anyone who's coming to Java from another language. It's also not an in-depth treatment of every possible Java library - if you want a book that tells you about everything Swing does, for example, you should look elsewhere. What it does instead is to explain the basics of the libraries, give you a good grounding in their use, and then point you towards sources of other information should you need them.
An excellent update of an essential book.
on February 10, 2003
"Just Java 2" is a great read and one of my favorite programming books (and I have stacks of them, some good, some bad, many so-so).
However, if you are completely new to programming "Just Java 2" is (probably) not the book for you. Instead, get a beginner level book (or two) on learning Java and programming basics and work your way through them.
Then, when you know the basics, sit down with "Just Java 2" in a bookstore and re-read Peter Van Der Linden's explanations of a few of the subjects that your beginner-level Java programming books tried to teach you ...especially subjects that you "kind of know" but wish you understood better. Chances are that this book's short yet lucid explanations will periodically set off little light bulbs of sudden understanding over your head and bring new clarity to your grasp of the Java language. It did for me.
I think this is a great intermediate level Java text and a clearly understandable introduction to more advanced subjects like the JDBC, Servlets and Java Beans.
As for other Java books, we all have our own learning styles and likes/dislikes but here's some of what I've found in my quest to teach myself Java.
1) I have personally found many of the O'Reilly books (on a range of subjects, not only Java) to be unsatisfyingly terse.
2) Ivor Horton's "Beginning Java 2" provides a lot of detail but in a long-winded, scattershot, myopic, stream-of-consciousness style that make it difficult to separate key kernels of knowledge from what amounts to background noise. In other words, the cloudy writing, apparent lack of coherent editing and poor formatting (e.g many unlabelled tables) tended to confuse me as much as educate me and turned attempts to later go back and locate and quickly reread key topics into long "Where's Waldo"-like wadings through "deep text".
3) Dietel & Dietel's "Java: How To Program" at the outset offers the Java novice clear and explicit line by line explanations of sample Java programs. However, about half way through the book that style really bogs way down in wordy detail and becomes tiresome as topics become more advanced. Still, it's not a bad book for an absolute beginner.
Anyway, that's my two cents.
on December 7, 2002
This is the third edition of Just Java that I've bought (this review is on the 5th ed), and I've found that the author has always been able to introduce new topics to me in a clear and humourous manner. This book isn't for complete newbies though; it seems targeted for those who already have programming experience and just want to get into Java. Myself, I had already had a university education in comp sci (with C and C++) when I picked up his 2nd edition in 1997 and started learning Java. Since then, these books have taught me basic Java semantics, RMI, AWT, applets, I/O, etc.
The best characteristic of this book is that it provides fantastic introductions to a wide range of topics; that is, it has great breadth but is otherwise lacking in depth on each topic. That's fine for me, and probably for most experienced programmers, because typically when learning a new topic, I just want a quick start (including what packages to use, how to get it working, and seeing initial results), and if I need a deeper understanding, I'll look online or buy a more focused book. This is how I've learned almost all my Java. Indeed, I recently bought the 5th edition to start learning about server-side technologies like JSP, servlets, and JDBC. It hasn't disappointed me.
One chapter I found outstanding is the one on I/O. The number of Java I/O classes is huge as all Java programmers know because the I/O library sacrifices ease-of-use for extreme generality. The author's explanation of when to use which classes is incredibly clear and is perhaps the best of any Java book I've read at giving you the big picture of the I/O library.
I really like this author's writing. His explanations are crystal clear. Example: his step-by-step explanation for setting up the Tomcat JSP/Servlet server was excellent (although some key points have been changed by the Tomcat folks since this book was published). This level of clarity probably comes from the fact that the author is a programmer himself, whereas most of the other intro Java books out there (especially those in the Core... series) are written by university professors or professional lecturers who try to keep everything extremely general. Such generality is not always helpful. In earlier books, the author seemed to intermingle his dry humour throughout the book, but thankfully he seems to have placed such humour only in isolated areas, such as the anecdotes at the end of each chapter.
on September 5, 2002
I am a happy owner of the 4th edition of this book and now I am very happy to have the 5th edition of this book. I have studied Java in college courses ( Java came out while I was in grad school :) ) and have occasionally taught people Java in college.
The general bits first - While I recommend this book to programmers who are at the start of their Java journey, I would *strongly* recommend this book to the person who's taken a few faltering steps on her Java journey and is lost. Maybe you took a class on Java and forgot some points and want to read a book which will again explain the concepts. This book is for you. How can I say this? Because that's how I chanced on this book. I tried learning Java off and on. Tried the "Thinking in Java" book available on the net, tried the Java tutorials, various websites, the O'Reilly books, the How-to-in-xx-days books, before a friend recommended Peter van der Linden after reading his Deep C Secrets book.
The book which really taught me Java was the fourth edition. The fourth edition also taught this C/C++ programmer about Object Oriented Programming. I didn't really grok OO while I was working in C++! This book taught me OO. Most people get rid of their introductory books and keep only reference manuals around (I have no clue where my C introductory book is). I wouldn't say that for this book.This becomes a great "second" introductory or a reintroductory book and I strongly recommend keeping it around.
The fifth edition has many changes - several new chapters, many chapters are rewritten (some of them completely rewritten). And I find the author's style very easy to understand.
If you are currently learning Java, then I recommend this experiment. Read the I/O material from whichever book that you are using or were told to use. (Supplement it with material from the web - the Java tutorial, the Thinking in Java book which is freely available on the web). Then visit your neighborhood bookstore, open the Simple Input Output chapter from the Just Java 2 (5th ed and not 4th ed, chapter is completely rewritten from the 4th ed except for the I/O poem at the beginning) and watch that figurative bulb light up above your head as the whole I/O thing becomes crystal clear. Wanna do that again? Carry out the same experiment but this time let the topic be inner classes.
And this light-bulb-turning-on will happen a whole lot as you are reading various things.
And he makes the chapters humorous by putting in a light reading bit at the end of each chapter. If the I/O experiment is not feasible (cos you are just beginning on Java), read what he has to say about Macrovision and how "it defeats piracy" (or not) in the Illegal prime number and t-shirt light reading sections. I suddenly understood why the MPAA was so upset by deCSS!
And finally, one last thing - This book doesn't sweat the details too much and I agree with that approach. Try to understand the concept on how to do various things. Most books that go into too much detail are too heavy to even open. (eg. Beginning Java 2 by Ivor Horton, a good book except for size and excessive use of Math in problems).
Oh, and if you hear anybody complain about how the book doesn't have many *complete* java programs within it's pages, just look in the CD. In the book, in many places, you will find short clippings from the program. You don't have to wade thru tons of extraneous code while reading the book. Also, if you say that these are "toy examples", then remember that all introductory books will have "toy examples" by definition. You will need books on specialized topics to get into juicy, detailed material. Do yourself a favor and don't try to get bogged down into lugging a book just because it is big.
on August 16, 2002
Who is PVDL?
I have to declare a bias with this book, I am a fan of Peter van der Linden. I first came across Peter when reading newsgroup postings in the java.lang.programmer group. He is also the keeper of the most excellent web based Java FAQ at ... Peter is a man with opinions and knowledge and the ability to express them. Peter is possibly not the biggest fan of Microsoft but he backs up all his opinions with good evidence. When I was studying for the Sun Certified Java Programmers exam I used his book for the JDK1.1 as one of my primary texts. When I later wrote a web based tutorial on the subject I found I kept quoting him as he has such an excellent way of expressing technical ideas.
Peter worked for Sun Microsystems for 14 years and has around for the birth of Java. In chapter he refers to a meeting in 1996 where he asked a question of the James Gosling, main designer of the Java language. I mention that because it shows how close to the history and development of the language Peter has been. Just Java comes out under the Prentice Hall/Sun imprint so you can assume it has a certain degree of "official" Sun approval.
1077 Pages, no padding
This new version of the book book has 1077 pages, nicely laid out with appropriate screen shots and diagrams but with zero wasted space or padding.. There are none of the multi-page rambling code examples that plague some books. Code examples are tight, readable and relevant. It was written for JDK 1.4 and so covers some of the new topics like regular expressions, the assert statement, and the new I/O (nio) classes. The book comes with a CD with some very interesting software, not all of it strictly Java related. It includes the Gnu C/C++ compiler, Emacs, TCL Perl and python language kits. I was slightly taken aback to discover the CD included a complete pure Java based database system called McKoi that I have never heard of before. I was taken aback because I read just about all the discussion forums, magazine articles, announcements I can find and I had never heard of this product before. It looks like Peter was reading more stuff than me. Check out the JdiskReport included on the disk, it is an excellent antidote to the creeping belief that Java is purely for server side work.
One of the good things about getting the source code included on the CD is that it avoids the possibility of code being scrambled between author and printed page. I'm not aware of any errors, but every non trivial technical book has them and Peter maintains errata pages for the book.
The man can write
Peter is an excellent writer, he can bring a topic like Java to life, he writes in a way that blows the dust off. Each chapter has a light relief section with a story or insight into some aspect of the world of software. With a less talented or insightful writer this might run the risk of alienating the reader but with Peter it is an integral component and enhancement to the text.
I have been programming in Java since 1998 and I have the version of this book for JDK 1.1. I thought I was well up on developments in the language till I read this book. I read the popular Java related websites such as JavaLobby and JavaRanch but reading this book taught quite a few entirely new things whilst giving some terrific additional explanations of topics I was already familiar with. His insights into I/O and the portability of I/O are specially worth the purchase price.
To give an apparently trivial example Peter gives an excellent explanation of packages, access modifiers and directories. He gives an illuminating explanation of how packages are used to solve the problem of name conflicts and how internet domain names are usually used to come up with those names. Throughout the book Peter comes up with useful analogies from other areas of life to explain the concepts used in Java. When explaining the uniqueness of package names he compares with the uniqueness of street addresses.
A nice example of his laconic style of delivery is where he says "The Java Language Specification tells us that package names should be formed from Internet domain names. If an organization that is writing software for sale doesn't have an Internet domain name at this point, they should go into some other slower-paced line of work."
Another quotable quote is where Peter is explaining just how large are the numbers that can be represented by floating point primitives. "A googol is 10100 meaning that it is only a 1 followed by 100 zeros. Is the largest double precision number bigger than Madonnas capacity for self promotion?. No, we have to admit it probably isn't that big."
A single book cannot cover all aspects of Java in depth and Peter errs on the side of covering the basics in depth in the first half of the book and touching on other important Java technologies in the rest of the book. Thus in the first half issues such as Keywords, Types, I/O,Object Orientation, and threading. In the rest of the book some of the more "glamorous" advanced topics are covered in lighter detail such as JSP, EJB XML and JDBC. Many of the chapters have exercises at the end so you can check you really have absorbed the information and the book has heaps of URL's for looking up further information.
Who is it for?
This is not an idiots or dummies book and no page is intentionally left blank.It is written with a single authors voice rather than a committee. If you don't know what a for loop is or have never come across an if statement this is probably not the place to start. If you have some experience with just about any other programming language, even just a few VBA macros and you have a desire to learn Java, this is an excellent place to start.
on December 13, 2002
As many of the other reviewers have already stated, the author does make the assumption that you're familiar with programming and OOP. Having said that, this is one of the finest programming books that I've ever purchased. In fact, I like the idea that he doesn't try to cater to absolute beginners. It clears the path for him to talk about all the good stuff like swing, XML, JDBC, Beans, and so many more of today's most relevant topics. This book covers just about all the import aspects of the Java language as well as all the important things that people are doing with Java. Aside from the content, the book really is a joy to read. It's smooth and easy to understand. The important points of the topics are emphasized and the not-so-important points are covered but not stressed. All in all, you end up feeling like you have a really good idea of how Java works and what people are using it for today. I really can't recommend this book enough.
on March 14, 2002
...The cover of the book clearly states Just Java is for people
who already know how to program in some other language.
Any language - VB, C, Fortran, Perl. JJ5 is not for people who
are trying to learn Java as their first ever programming
There isn't a single line of C++ anywhere in JJ5... This text is about Java...
I'm very accepting of feedback from readers, and have made many improvements over the 5 editions of this book based on suggestions from readers...
But don't take my word for it -- look at the chapter on networks that is extracted here on Amazon. See for yourself if you like the writing style and can learn from this book.
on March 25, 2002
I've bought 4th edition ob it and 5th, too, because it's easy to read and explain a lot of important programming tips with straightforward words.
I'm not a beginner for Java programming, but I still feel this book is useful. We tend to fall into programming syntax and specification pitfalls... this book shows how to solve them! Sometime I refer oher Java books like "Practical Java" or "The java programming language", but mostly, I can find what I want to know in "Jast Java", with simple code examples.
5th ed. has lots of update and additing new topicsfrom 4th! that's why I bought 5th, too.
on March 27, 2002
This book is great for people who have had some programming experience. For those of you who have not, I suggest starting with an introductory java book. As for the content, there is a LOT to wade through. The author does a great job of teaching you about the inner workings of Java. Thats exactly what I wanted out of a Java book. His explanations are lucid and his writing style is excellent. If you REALLY want to learn Java, this is your book, just make sure you've done some programming beforehand.
VERY good as a second java book, right after a good primer.
on January 7, 2002
As a book for people with some programming experience but no Java, this book is ideal. I bought it to learn Java, but found I kept dipping back in as there was so much covered and in just the right amount of detail. I've just "upgraded" to the Fifth Edition, and it covers even more, with new stuff on networking, database programming, XML and JavaBeans. The book is intelligent, amusing and clearly written. If you've done some programming and are thinking of switching to Java, this is the book to get.