Perfect for migrating to Java from a fellow object-oriented language (such as C ++), the second edition of Thinking in Besides getting the reader to think in objects, Thinking in Java also covers other APIs in Java 2. Bruce Eckel · Homepage. Thinking in Java [Bruce Eckel] on *FREE* Thinking in Java has earned raves from programmers worldwide for its Effective Java (3rd Edition). Finished test framework and integrated all test- instrumented Thinking in. Java. Third Edition Bruce Eckel. President, MindView , Inc.
|Published (Last):||3 October 2008|
|PDF File Size:||15.92 Mb|
|ePub File Size:||7.22 Mb|
|Price:||Free* [*Free Regsitration Required]|
Register your product to gain access to bonus material or receive a coupon. Gives students practical mastery javva the most important new Java 2 Version 1. Shows students how to build the server-side Java applications that are in high—and growing demand.
Gives students an ideal balance of theory and practice—so they will not only know what to do, but why. Students can immediately test, extend, and apply the sdition they’ve learned, establish a solid foundation of skills, build their expertise, and ultimately synthesize new approaches for themselves. Students learn more rapidly and effectively, and can master significant new concepts and techniques eeckel in brief periods of study.
Ensures that students understand the basic programming concepts they must know before they can learn Java. Thinking in Java has earned raves from programmers worldwide for its extraordinary clarity, careful organization, and small, direct programming examples. From the fundamentals of Java syntax to its most advanced features in-depth object-oriented concepts, multithreading, automated project building, unit testing, and debuggingThinking in Java is designed to teach, one simple step at a time.
Controlling Program Flow in Java. Note on the cover design. The progress of abstraction. An object has editjon interface. An object provides services. Interchangeable objects with polymorphism. Java and the Internet. You manipulate objects with references. You must create all brruce objects. You never need to destroy an object.
Creating new data types: Methods, arguments, and return values.
Thinking in Java, 3rd ed. Revision
Building a Java program. Your first Java program.
Comments and embedded documentation. Guaranteed initialization with the constructor. Combining composition and inheritance. Initialization and class loading. Abstract classes and methods. Creating your own exceptions. Performing cleanup with finally.
Sorting and searching Lists. Adding attributes and useful interfaces. The proper way to stop. Interrupting a blocked thread. Running applets from the command line.
The Swing event model. A catalog of Swing components. Packaging an applet into a JAR file. Visual programming and JavaBeans. Improving reliability with assertions. What are we making? How editikn we build it? Iterate the use cases. Foundations for Java seminar-on-CD. Thinking in Java seminar. Hands-On Java seminar- on-CD 3rd edition.
Thinking in Java by Bruce Eckel
Thinking in Enterprise Java. Thinking in Patterns with Java. Thinking in Patterns seminar. Design consulting and reviews. Preface I suggested to my brother Todd, who is making the leap from hardware into programming, that the next big revolution will be in genetic engineering.
We’ll have microbes designed to make food, fuel, and plastic; they’ll clean up pollution and in general allow us to master the manipulation of the physical world for a fraction of what it costs now. I claimed that it would make the thimking revolution look small in comparison.
Then I realized I was making a mistake common to science fiction writers: An experienced writer knows that the story is never about the things; it’s about the people. Genetics will have a very large impact on our lives, but I’m not so sure it will dwarf the computer revolution which enables the genetic revolution —or at least the information revolution. Information is about talking brjce each other: What truly matters is how we relate to the world.
And so much of that is about communication. This book is a case in point.
A majority of folks thought I was very bold or a little crazy to put the entire thing up on the Web. If I had been of a more conservative nature I wouldn’t have done it, but I really didn’t want to write another computer book in the same old way. I didn’t know what would happen but it turned out to be the smartest thing I’ve ever done with a book.
For one thing, people started sending in corrections. This has been an amazing process, because folks have looked into every nook and cranny and caught both technical and grammatical errors, and I’ve been able to eliminate bugs of all sorts that I know would have otherwise slipped through.
People have been simply terrific about this, very often saying “Now, I don’t mean this in a critical way,” and then giving me a collection of errors I’m sure I never would have found.
I feel like this has been a kind of group process and it has really made the book into something special. Because of the value of this feedback, I have created several incarnations of a system called “BackTalk” to collect and categorize comments. But then I started hearing “OK, fine, it’s nice you’ve put up an electronic version, but I want a printed and bound copy from a real publisher. Most people don’t want to read the entire book on screen, and hauling around a sheaf of papers, no matter how nicely printed, didn’t appeal to them either.
Plus, I think it’s not so cheap in terms of laser printer toner.
Thinking in Java, 3rd Edition
It seems that the computer revolution won’t put publishers out of business, after all. However, one student suggested this may become a model for future publishing: Currently, the great majority of all books are financial failures, and perhaps this new approach could make the publishing industry more profitable.
This book became an enlightening experience for me in another way. I originally approached Java as “just another programming language,” which in many senses it is.
But as time passed and I studied it more deeply, I began to see that the fundamental intention of this language was different from other languages I had seen up to that point.
Thinking in Java, 3rd Edition
Programming is about managing complexity: Because of this complexity, most of our programming projects fail. And yet, of all the programming languages of which I am aware, none of them have gone all-out and decided that their main design goal would be to conquer the complexity of developing and maintaining programs.
Inevitably, those other issues are what cause programmers to eventually “hit the wall” with that language. Perl is backwards-compatible with Awk, Sed, Grep, and other Unix tools it was meant to replace, and as a result is often accused of producing “write-only ecekl that is, after a few months you can’t read it. What has impressed me most as I have come to understand Java is that somewhere in the mix of Sun’s design objectives, it appears that there was the goal of reducing complexity for the programmer.
As if to say “we care about reducing the time and difficulty of producing robust code. This result alone can save incredible amounts of time and money, but Java doesn’t stop there. It goes on to wrap many of the complex tasks that have become important, such as multithreading and network programming, in language features or libraries that can at gruce make those tasks easy.
And finally, it tackles some really big complexity problems: One of the places I see the greatest impact for this is on the Web.
Network programming has always been hard, and Java makes it easy and the Java language designers are working on making it even easier. Network programming is how we talk to each other more effectively and cheaper than we ever have with telephones email alone has revolutionized many businesses. As we talk to each other more, amazing things begin to happen, possibly more amazing even than the promise of genetic engineering.
In all ways—creating the programs, working in teams to create the programs, building user interfaces so the programs can communicate with the user, running the programs on different types of machines, and easily writing programs that communicate across the Internet—Java increases the communication editionn between people. I think that the results of the communication revolution may not be seen from the effects of moving large quantities of bits around; we shall see the true revolution because we will all be able to talk to each other more easily: I’ve heard it suggested that the next revolution is the formation of a kind of global mind that results from enough people and enough interconnectedness.
Java may or may not be the tool that foments that revolution, but at least the possibility has made me feel like I’m doing something meaningful by attempting to teach the language. Much of the motivation and effort for this edition is to bring the book up to date with the Java JDK 1. However, it has also become clear that most readers use the book to get a solid grasp of the fundamentals so that they can move on to more complex topics.
Because the language rhinking to grow, it became necessary—partly so that the book would not overstretch its bindings—to reevaluate the meaning of “fundamentals. Without that core, it’s eddition to understand more complex issues of threading.