Pages: 1150 (Paperback) ISBN: 0131872486 Pub: Prentice Hall Pub date: 2006-03-02 Amazon.co.uk Sales Rank: 73285
|
|
![]() ![]()
Editorial Review:Programming languages have similarities with general purpose languages such as Spanish. You might know enough Spanish to cobble together a simple letter or read a poster but the real breakthrough comes when you can think in it. Thinking in Java attempts to improve your understanding to the point where you can think about a programming problem in Java rather than in English or whatever and then translate it. This fits extremely well with the basic Java ethos, which is to enable you to frame a problem in terms of the Java objects you'll use to provide a solution. Eckel approaches teaching you to think in Java by introducing a topic, talking around it to put it in context, providing examples to try and then discussing them in depth. Each chapter has a summary followed by exercises. The book is structured for someone coming from a procedural language background. Eckel spends a lot of time on OOP concepts in general and the way in which it's implemented in Java. After covering operators Eckel goes on to program flow, initialisation and garbage collection, packages, class reuse, polymorphism and so on all the way up to distributed programming (servlets) and appendices on passing objects, the JNI, guidelines and resources. The whole book is also on CD (in several formats including HTML) with the source code (guaranteed to compile under Linux using Java 1.2.2). The CD also contains Thinking in C: Foundations for C++and Java. Thinking In Java is basically a tutorial. You're intended to read it linearly and work the exercises. It helps that it's well written but it helps even more to have a programming background. If not, you'll probably want a straight Java reference to hand as well. --Steve Patient Reader Reviews:A love-hate relationship (0/0 people found this helpful)When you learn to program you should try and answer your problems against the compiler. Write small little programs that test your thesis. That's how you remember and that's such a brilliant way of getting to know the language. Bruce Eckel has done the same thing. Unfortunately he has filled his 1500 page book with these small little programs. They are terse and take FOR-EVAR to read through and follow, often only to prove a corner case features of the language.
Crystal clear (2/2 people found this helpful)If you are already an experienced software engineer, but have no formal knowledge of proper object-oriented languages (or know only C and/or C++), this is the best book I know of to learn JAVA. Eckel dispels the mysteries of all the OO jargon, and the examples he gives are presented at a manageable pace - just right to keep you interested enough to wonder 'what happens next'. I would recommend that readers also buy the slightly more 'reference-y' "JAVA in a Nutshell" by David Flanagan, which covers the syntax from a more traditional angle and has the J2SE API. If it is J2ME you are interested in, you will also need "J2ME in a Nutshell" by Kim Topley; Eckel's book is a thorough treatment of the philosophy and practice of JAVA but has no API sections. It's also very neatly laid out, with decent sized text for all us 'round-the-clock' programmers! Comprehensive and great coverage of Java 5.0 features (11/11 people found this helpful)I will preface my comments by saying that this is not a suitable book for those seeking to learn Java. Java novices should seek out Head First Java, and follow up with the excellent Agile Java. You are then ready to take on this book. Widely regarded as one of the best books on Java, the 4th edition of Thinking in Java, covering Java 5.0, was a long time coming. It was well worth the wait, however. Admittedly, it starts slowly. The first couple of hundred pages are somewhat uninspired (10 pages devoted to a program that exhaustively evaluates operations on all primitives, for example), but it picks up. And when it hits its stride it is comprehensive. Traditionally tricky areas of Java like the I/O classes and inner classes are well-covered, and the coverage of the new features in Java 5.0 are second to none, in particular annotations and generics, the latter going well beyond their use for type-safe containers, and actually making self-bounded types understandable. Nearly two hundred pages are devoted to the new threading and concurrency classes. If you really want to know what's going on with these core classes, this is the go-to book. The coverage of Swing is uninspiring, particularly as apart from a smattering of pseudo-UML class diagrams, there is only one illustration in the entire book (and it's 1400 pages long) - a picture of a Flash component, and it's a text box! However, there are plenty of other books out there that cover Swing in depth, so it's easy to overlook this. Personally, I didn't see the need for the introduction to Flash in a Java book, although the discussion of the SWT classes was useful. The other downside to the book is that the example code can be long. On the one hand, they have the advantage of being complete and runnable. On the other, it can be hard to spot the pertinent parts, and although the code is copiously commented, the Head First series of books have ably demonstrated the value of a more in-depth annotation, coupled more closely to the main text. Additionally, especially early on, the code examples are often dull and abstract, with method names like f(), which obfuscate rather than clarify. Later on, however, there are several witty and imaginative examples, so I can only assume that Bruce Eckel got a bit bored trying to make bitshifting entertaining. Finally, people new to Java and without a C background, could find the early references to how things are different in Java to C and C++ unnecessarily confusing, although one is assumed to have downloaded the flash-based 'Thinking in C' e-seminar from the author's website. These are minor disappointments, however, compared to the breadth and depth on offer here. You will need to be pretty expert at Java not to pick up any new tips on performance or idiomatic usage from the material here, and I will be using this as my first stop for reference purposes, particularly for the new Java 5.0 features. If you do any Java programming, this is well worth your money and pretty essential. A bit more special than other JAVA tutorials (6/6 people found this helpful)If you search for Java books on Amazon you will notice that there are hundreds of Java tutorials available, and most of them will adequately teach you how to program in Java. Thinking in JAVA stands head and shoulders above the rest because it explains the why as well as the how . Once you understand why Java is structured like it is then you will have the edge over most other coders. Note: Although this book can be used as a reference guide, there are other books that are better suited to a quick dip style of reading; e.g. JAVA in a nutshell. A great book, but... (7/7 people found this helpful)It judging this book, it is important to understand what this book is, and what it is not. Similar ProductsHead First Design Patterns (Head First) CategoriesAmazon.co.uk places this book into the following categories:
Books -> Subjects -> Computing & Internet -> General
Books -> Subjects -> Computing & Internet -> Digital Lifestyle -> Online Shopping -> Amazon Books -> Subjects -> Computing & Internet -> General AAS Books -> Subjects -> Computing & Internet -> Programming -> General AAS Books -> Subjects -> Computing & Internet -> Programming -> Languages -> Java -> General AAS Books -> Subjects -> Computing & Internet -> Software & Graphics -> General AAS Books -> Special Features -> Regular Stores -> Books for Study Special Offers Books -> Special Features -> Regular Stores -> Paperback Deals Books -> Refinements -> Language (feature_browse-bin) -> English Books -> Refinements -> Age (feature_two_browse-bin) Books -> Refinements -> Format (binding_browse-bin) -> Paperback Books -> Refinements -> Condition (condition-type)
|