Java's input and output libraries have been unfairly maligned
for some time. It is widely (but incorrectly) believed that
I/O in Java is a lot weaker and a lot harder than
I/O in traditional languages like C, C++, and Pascal.
If anything, however, the exact opposite is true.
Java's I/O tools are far more
sophisticated, more powerful, and easier to use than
traditional printf()
/scanf()
style I/O.
Java I/O tells you all you need to know about the four main categories of streams and uncovers less known features to help make your I/O operations more efficient. Plus, it shows you how to control number formatting, use characters aside from the standard ASCII character set, and get a head start on writing truly multilingual software.
Here are just a few of the topics covered in depth in Java I/O:
InputStream
and OutputStream
And that's really just the beginning of what you'll learn from Java I/O. I'm really happy with this book. In fact it's perhaps the first book I've written that I really feel reached its full potential. I do hope you'll check it out. It's available from amazon.com, FatBrain, and other purveyors of fine computer books. If you need to special order it, the ISBN number is 1-56592-485-1. It's $32.95, 596 pages, published by O'Reilly, and written by me, Elliotte Rusty Harold.
When I was finishing up my last book, Java Secrets, John Osborn, one of my editors at IDG, asked me what I thought would make a solid book for IDG's new professional series. "Beans! Let me write about beans!" I practically shouted. It was obvious, even then, that JavaBeans were going to be hot, and that this is where Java was moving. It's four months later; I know a lot more now about JavaBeans than I did then, and I'm more convinced than ever that JavaBeans is going to be an essential part of the future of Java, and indeed of the broader software development world. This book is your introduction to the exciting and fast-growing world of JavaBeans. With this book you'll learn how to write your own unique beans that can be loaded into builder tools to quickly produce powerful and customized applications.
JavaBeans: Developing Component Software in Java is 355 pages, $39.95, and includes a CD with the JDK and the BDK (Beans Development Kit) as well as an assortment of beans and builder tools. It's now in stock at Amazon, FatBrain, and better bookstores everywhere. I've posted the preface, examples, table of contents, and some other material here on Cafe au Lait. Why don't you check out JavaBeans and let me know what you think?
sun
classes, a group of undocumented packages
that add considerable power to Java programs.
Part Three explores the possibilities opened by platform dependent code.
It shows you how to call the native API and how to create stand-alone
executable programs. Finally, the CD includes an assortment of Java hacking tools
including a full version of the payware Java
decompiler WingDIS
2.0.3.This is one of the most interesting and exciting projects I've worked on in a long time. The sheer number of "Aha!" experiences I had while researching and writing this book was phenomenal. I hope you'll get the same feeling while reading it. Java Secrets, is now available at amazon.com and in bookstores everywhere. Why don't you check it out and let me know what you think?
Manning Publications has also recently published a book titled Java Network Programming. It's not a bad book, and is surprisingly orthogonal to mine. About 2/3 of that book is streams and encryption which I only touch on. My book covers servlets, applets, multicast sockets, and Java 1.1 which that book doesn't discuss in any depth. The matching titles appear to be just unlucky choices. Both publishers went with the most obvious title they could think of. However the cover of the Manning book has a big fish, and looks suspiciously like an O'Reilly book. Don't be fooled. The real O'Reilly book has either a gyroscope or a chameleon on the cover (two different covers, same book).
Java Network Programming is $34.95, ISBN number 1-56592-227-1, and is available now from any bookstore that stocks computer books including amazon.com and Computer Literacy.
Unfortunately the JDR is out of print. I am currently updating the book with everything that's happened and everything I've learned about Java in the last four years, and will release it online again soon. In the meantime, used copies are easily available from amazon.com and other sources of used books.
This is the first Java book that gave me the feeling that the author actually understood and
was comfortable with the material. This is probably because Naughton's been working with Java longer than almost anyone, having been part of the original Green Project. Whether it's explaining what a Factory is or why they're so many do-nothing methods in java.net.URLConnection
, you believe he actually knows this stuff. By comparison everyone else seems to be learning as they go along. The epilogue about the genesis of Java is particularly unique and fascinating (though not always accurate. I can't imagine he really had a Newton to critique in 1991). After reading this you'll be amazed that Java really happened.
Superseded by the second edition.
If you're doing anything with the virtual machine, or if you just want to know what's going on behind the scenes, then you need this book.
An excellent introduction to Java for C programmers, an excellent reference for everyone, and a bargain at $19.95.
This large gem of a book is often overlooked in favor of the second volume of the The Java Class Libraries: An Annotated Reference. However in many respects I think this is the superior book. While, Chan and Lee is more comprehensive and more likely to explain some particular obscure method, Zukowski does a much better job of showing you the broader picture of how the different parts of the AWT fit together and how they're properly used. For example, so far this is the only book I've read that correctly explains modal dialogs.
For experts only. This book is full of turgid paragraphs like:
The arguments in the argument list, if any, are used to select a constructor declared in the body of the named class type, using the same matching rules as for method invocations (15.11), a compile-time method matching error results if there is no unique constructor that is both applicable to the provided arguments and the most specific of all the applicable constructors.(p. 314) I generally have to read something at least three times before I understand what is being said. However, the Java Language Specification is often the only place where you can find out why your code won't compile. You don't need this book often, and you certainly can't learn Java from it; but when you need it, you need it badly. Fortunately it's available online so I recommend you view it there, and only buy a copy if you find you make frequent recourse to it.
It's unusual for me to put in my Top Ten list before it's released, but this one deserves it. Thinking in Java is my favorite introduction to Java for experienced programmers. Eckel is an expert on object oriented programming, and this expertise shows in the book. Where most authors books treat classes and objects as extra features of a basically procedural language, Eckel sees them as the fundamental underpinnings of code design they really are. Unlike many other tutorials this isn't simply a port to a new language of the same Basic/Pascal/Fortran/C book the author's been writing and rewriting for the last twenty years. The complete text of Thinking in Java is available from http://64.78.49.204/.
This book is the best introduction yet to Java for non-programmers. It is very well-written and exceptionally easy-to-read. In fact it reads much like a novel or good non-fiction. This is probably due to the unusual way it was written, with constant feedback from a Java novice and almost complete programming novice (Heller's wife). Points that other books tend to gloss over but that confuse novices, Heller covers in detail, and in a surprisingly refreshing conversational fashion. In fact, email dialogs with his wife are scattered throughout the book. This sounds weird, but it really, really works. Even though I certainly know almost all the material covered here (essentially Java syntax basics with no AWT, networking, or applets) I still found it an amusing read. I often disagree with Heller's interpretations of tricky issues like whether using the + sign to concatenate strings violates some unspoken prohibition in Java against operator overloading. However, these are minor quibbles and in no way interfere with the high level of readability of this book.
If you like Kernighan and Ritchie, you'll like this book. It covers the Java language and most of the java.lang package with little to no discussion of the AWT. It also includes exercises to help you get started with Java, a feature sorely lacking in most other books.
For experienced programmers, this books covers both the fundamentals and the advanced tips and tricks of the experts. It provides coverage of all Java features and syntax as well as Visual Basic and C/C++ tips that compare and contrast features of Java to those languages. This book is very Windows specific. Macs are covered in an appendix. Unix and OS/2 are hardly mentioned.
A decent book introducing Java 1.1 programming to non-programmers. However it's quite basic, and coverage of the AWT is very limited. The CD includes JDK 1.1 for Solaris and Windows.
This book is the first good book about Java for people who want to learn to program but have never programmed before. In fact it might make a decent text for an "Intro to Programming" class. The chapters are clear, short and well-written. It would benefit from some exercises so new programmers can test their skills, but otherwise it's flawless and quite reasonably priced.
If you like Kernighan and Ritchie, you'll like this book. It covers the Java 1.0 language and most of the java.lang package with little to no discussion of the AWT. It also includes exercises to help you get started with Java, a feature sorely lacking in most other books.
This book describes how to do graphics that go beyond the normal AWT including 3D and VRML. It really puts the lie to Dimension X's claim that you have to use native methods to add VRML to Java. If you want to learn more about computer graphics than merely the different API calls, this is a great place to start.
After providing a brief overview of Java, CORBA, and Java ORBs, the book shows developers how to use them to build real Java applications.
This book teaches you how to use and the Java Programming language with relational databases. The CD-ROM contains Mojo, a rapid application development tool for Java, JDK 1.1, and JDBC/ODBC drivers from Visigenic.
This book tries to cover too much too fast. For example a single chapter attempts to cover network basics, sockets, and UDP. Other chapters cover RMI, CORBA and IDL, JDBC, the Java Web Server and more. Each of these more than justifies a book of its own. This book provides extremely fast overviews of these and other topics, but most readers will want a more comprehensive and in-depth look at each of these.
A four-color book that shows webmasters how they can use Java on their pages without writing their own applets.
This book provides an introduction to Java and object-oriented programming. Just Java covers all the basics and describes the elements of window and network programming in Java. As readers of his previous book, Expert C Programming: Deep C Secrets, will expect van der Linden enlivens the text and examples with good humor and interesting asides. So far this is the only Java book I've seen that was actually fun to read as opposed to merely informative. The CD-ROM contains the Java Development Kit 1.0 for Solaris, Win32 and the Mac. It also contains all the examples, code and applets from all the Sunsoft Press Java books, that is Core Java, Java by Example, Instant Java, and Just Java.
This book is a comprehensive programming guide for the Java Virtual Machine (JVM). The book is divided into two sections: the first section includes information on the semantics and structure of the JVM; the second section is a reference of the JVM instructions, or "opcodes." This book is intended to give readers a strong overview and reference of the JVM so that they may create their own implementations of the JVM, or write their own compilers that create Java object code. The programming guide includes numerous examples written in Java assembly language. A Java assembler is provided with the book, so the examples can all be compiled and executed. The reference section is a complete description of the instruction set of the VM and the class file format, including a description of the byte-code verifier.
I was really looking forward to this book. I think a book on object oriented design with Java as the central language is a natural. However, I regret to inform you that the authors' writing style is the dryest, most boring I have ever encountered. Even though I really needed to understand the material discussed here, I couldn't stomach more than about ten pages of this, and this from someone who reads advanced physics texts for fun!
Contrary to the jacket copy, this book does not cover Java 1.1 in any significant way.
This book shows you how to take advantage of Java's thread facilities: where to use threads to increase efficiency, how to use them effectively, and how to avoid common mistakes. It covers the Thread
and ThreadGroup
classes, the Runnable
interface, and the language's synchronized
operator, as well as problems like deadlock, race condition, and starvation.
This edition describes Version 1.0.2 of the Java language. It includes:
java.lang
package
This book has stirred a lot of controversy among the distributed object community. The consensus seems to be that it does a good job with CORBA and IDL, but not so great with RMI and DCOM. However this particular community isn't one known for rational, unbiased, objective discussions in the first place so that's no great surprise. In any case, whether you love it or hate it you should read it.
This book has the best explanations I've seen yet of how to use the AWT, content and protocol handlers and more. The book is a little on the long and expensive side, the writing could do with some improvement, and some later chapters on Javascript could have been safely dropped. However it's technically impeccable, covers many details that are only touched on or ignored completely in other books, and is overall an incredibly useful book. The CD-ROM includes the usual selection of applets and source code as well as Sun's JDK 1.0.1 for the usual platforms.
This is yet another uneven book written by multiple authors with no strong guiding hand to enforce stylistic consistency or technical correctness. Some chapters are good. Some are awful. Some are positively misleading. Chapter 12, Protecting Applet Code, is particularly bad. Overall it's clear this book isn't worth $59.95.
Can you believe that in 1996 some people are still promoting security through obscurity? Well, some people are; and the authors of this book are among them. Too many details are omitted to make independent judgements about the problems discussed in this book. I recommend you pass it by.
This Windows-only book has lightning quick treatment of topics. I understood it, but I doubt someone who didn't already know Java well would. And if you already understand Java, why spend your money on any book at all?
For a so-called reference work, the package reference chapters are uninspired, bare-bones listings, no better than the free javadoc documentation.
Peter Coffee tried to write a book that would be useful for people who wanted to learn Java but who had never programmed before. This is an immensely difficult task. I doubt programming is a skill most people can learn solely through a book. Therefore it shouldn't be surprising that he failed. Coffee covers too much, too fast. Advanced topics and tools like overflow, assembly language, binary arithmetic, and source code control systems are covered before readers get to write their first program. Furthermore, the book contains more than a few mistakes in code that an experienced programmers could probably identify and work-around, but which will completely stymie novices. Finally, and most annoyingly, Coffee's treatment is Windows specific. Macintosh and Unix users are completely ignored.
This is a weak book that tries to combine two topics (designing Intranets and Java) that really deserve separate books. Coverage of individual topics is scant, and chapter after chapter I'm left wanting more. Furthermore, at least one auther has an annoying habit of playing fast and loose with the facts. It is not true that "Trillions of research dollars went into developing the Internet." (p. 4) Nor is it acceptable for a reference work to confuse the meaning of terms like class and object or member and instance variable.
The exceptionally small type is sometimes hard to read, but it does allow the authors to pack a lot of information into the 491 pages. This book is quite complete, but it does assume you know C.
When are people going to learn? Java and JavaScript are two completely different languages. A book that covers both makes about as much sense as a tour guide that covers the Trump Taj Mahal in Atlantic City and the Taj Mahal in India.
If you were to judge this book by its cover, you'd be very wrong. Despite the title which indicates that this book is aimed at normal people, it's really a reference guide for experienced programmers in other languages. Furthermore, although the cover says this book covers Java 1.1, it in fact does no such thing.
Yet another Java tutorial. The primary distinguishing feature is several chapters that cover network programming and the java.net classes.
This version of the best-selling Teach Yourself Java in 21 Days has seven more days (chapters) than the original edition, but they're not written by Laura Lemay; and, cover copy not withstanding, they don't cover Java 1.1. The claim that the book contains the "Latest version of Sun's JDK for Windows 95, Windows NT, and the Macintosh" is also false. Finally, despite the fact that this is the "Professional Reference Edition," this book is very much a tutorial and not a reference. In the final analysis this book is very much not worth $59.95.
This book covers developer release six of Java Workshop. The CD does not contain this software. Otherwise this book is very similar to Teach Yourself Java In 21 Days.
This is a useful book that's gotten good reviews on Usenet. Examples are included that illustarte the use of most classes and methods in the Java 1.0.2 class library.
Surprisingly interesting. This book provides much food for thought.
This appears to be the first real Java text book, suitable for use in a college class as opposed to self-study.
This is the same tutorial available online at Javasoft. It's also avilable there in Postscript format. While this book is well written and easy to follow, it does suffer from trying to create a book from a hypertext document. It's clear that where the needs of hypertext and the needs of a paper book conflicted, the hypertext took precedence and that hypertext is where the authors hearts were. Therefore I suggest you read the copy on the web, and leave the book on store shelves.
Covers Java 1.0
These two books are paper copies of the same Java 1.0 API documentation available in HTML format from Sun. If you want a couple of nicely printed books with this info then these are probably worth your $50-$60. However if you find browsing the HTML online more convenient, as I do, then there's no reason to buy these two volumes.
This book contains nothing of significance you can't freely get from the web.
This book is very interesting. It has four sections, none of which are really addressed by other books:
This book has a great deal of what with very little why or how. The API reference is not much more than a list of methods, arguments and return types. In most respects this is inferior to Sun's material that's freely available online.
This reference to the java.applet and java.awt packages is notable primarily for its inclusion of code fragments demonstrating most methods. If the online documbentation is insufficient, this is a good place to look.
I found the structure a little distracting, but I can believe some people might like this approach.
Learn Java by using the Borland C++ editor to type your code. My grandmother could think of better hooks than this one. Furthermore, In 1996, can you believe that when half the books on the market have CD's and most have Web sites, some people are still trying to pull the "Send us $25 for a disk of code" scam? Well, some people are; and the authors of this book are among them. Pass this book by.
Have there really been so many Java books that the titles need to be reused? In any case, the CD includes the complete text of Special Edition: Using Java in case this book isn't any good.
This book adheres to the philosophy of more is better, in particular more pages (over 900!) and more money ($45). Foundations of Java is quite well-written and has a friendly, first person, conversational tone; but the same material could certainly have been communicated in half the page count. The book begins with more than two hundred pages of fluff about the history of the Internet and Java propaganda everyone's heard a thousand times before. The rest of the book is filled with pointless digressions about topics like how a French press can improve your coffee. This book desperately needs a good editor to cut it down to a reasonable size. If you aren't really in a hurry to learn Java, then this book may be for you; but you can certainly learn Java more quickly with one of the other available texts. The CD-ROM includes the 1.0.1 JDK and the usual sample code.
This book is a guide for programming in Java, from learning the basics, to advanced features, and an API reference. It includes a CDROM containing all the sample code from the book. It's the first book I've seen that has a decent discussion of data structures in Java, perhaps reflecting the authors� academic background.
This is a good book for people who are comfortable in C++ to learn Java. There's lots of discussion of advanced topics like exceptions, the AWT, class loaders and the like and limited discussion of the Java language syntax. It's also not bad as a second book for people who have mastered Java at the level of Teach Yourself Java in 21 Days.
This is a good second book about Java. The first couple of chapters are a nice review of basic Java syntax (though insufficient to actually learn the language from). The remainder of the book covers fairly advanced topics like the AWT, Networking, and Images. The examples in these chapters are decidedly non-trivial. The discussion of Images and Image filters is the best I've seen anywhere. However the end of the book is brought down by a chapter on HotJava that is completely out of date (1.0 alpha 3!?). Hopefully this flaw will be corrected in future editions.
This book is an update to the bestselling Teach Yourself Java in 21 Days. This edition assumes you're usinc Symantec's Cafe IDE for Windows (but not the Mac). It adds some coverage of JDBC and the network classes to the original book, and removes the chapter on native methods. A few of the more egregious errors of the first edition have been corrected like the /, <= and >= signs. Finally the entire book has been rewritten to focus on Cafe. If you're using Cafe (though I certainly recommend against that), then this is a worthwhile book from which to learn Java.
This is the first book to cover Sun's Java Workshop IDE, only in alpha 5 as of this writing. Given that state of development, this book is very premature. Java workshop hasn't matured or stabilized enough yet to be a useful tool, much less a product books can be written about it without being obsolete when they hit the shelves. This book manages to pull off the difficult feat of being simultaneously too simple and too adavanced. It begins with a 40 page review of HTML, and yet has almost nothing to say about basic Java syntakx like for
loops. This book shows all the signs of being rushed to market prematurely. The source code has curly quotes; the diagrams are ASCII art, and the whole book is simply not very useful for anyone.
Not for programmers.
I had hoped Exploring Java would be the definitive introduction to Java from O'Reilly; but while it's certainly a good book, I fear it assumes too much of the reader. In particular, the book is aimed at people with a solid background in C or C++ programming and a much better than average understanding of how C relates to assembly. Exploring Java is definitely not for novices or even Visual Basic or Smalltalk programmers. In fact the authors go so far as to suggest that if you don't already know C, then you should learn it before learning Java. This was a common refrain in 1995, but I thought we'd moved beyond that. If you aren't a C expert, look elsewhere. It's not that a book at this level is necessarily bad. It's just that O'Reilly already published one such book, the bestselling Java in a Nutshell. I had hoped Exploring Java would be more different.
On the other hand if you are a C expert, or if you've mastered the basics of the Java language at the level of Gosling's The Java Programming Language, then this book is exceptionally well written. Niemeyer and Peck took their time on this book and it shows. Furthermore O'Reilly put about a thousand times more effort into this book than is common in the industry. The biniding is good and lays flat. The illustrations were redrawn by a professional illustrator rather than merely photostating the author's own crude drawings. In these and a dozen other ways, this looks and reads like a quality book. If only it didn't assume quite so much of the reader.
That's not a typo. This pamphlet really does cost more than $2.00 a page. This "management briefing" compares C++, Smalltalk and Java. I haven't seen it yet, but unless it's printed in gold ink, I frankly can't imagine what there is in here that could be worth the price.
Cafe Companion is an exercise based tutorial on Java and Symantec Cafe for Windows 95 and NT (but not the Mac). Cafe Companion is only available through Symantec. It is not in bookstores.
This book has three parts. The first is an introduction to Java programming that's too short and quick to be of any real use to anyone. The second part contains several well-commented examples. Particularly interesting are the marginal notes commenting on the code. It's as if someone marked all over the code with pen on paper, and it really helps. I've never seen anything like it before in a programming book. I'd love to know how the authors snuck that by the production editors at Macmillan who are renowned for their fanatical attachment to their standard style sheet. Unfortunately as striking as the mere presence of the marginal notes is, the notes themselves aren't very well written. The third part is a brief catalog of about twenty applets enclosed on the bundled CD-ROM. A few like ImageMap are useful. However most are of the the "Control Nuclear Power Plant" or "Frog's Light Snack" ilk, cute but not relevant to any web page but the author's. Most and perhaps all of these are freely available on the net.
This book includes about 50 Java programs, heavily commented and explained. This book is more a source of ideas and examples than a tutorial. The CD-ROM contains the complete Java code for each applet.
This book is about half-fluff and half useful information. However all the useful information is available in more comprehensive and less expensive books.
Does anyone know why Que's Using series is so popular? If so will you please explain it to me. I confess that I find virtually all of these books to be written purely by-the-numbers, and Using Java is no exception. It was tossed together by about twenty different authors of widely varying ability. Some chapters are fine. Some chapters are awful. I suspect at least one author was just rewriting material from Java Unleashed because he copied that book's mistakes too. The complete text is available online which is a somewhat redeeming feature though.
This book is shovelware. Large parts of the book are copied almost verbatim, mistakes and all, from other SAMS.net books including Presenting Java and Teach Yourself Java in 21 Days. Little effort appears to have been made to update the information from those sources. Much of it is out-of-date.
The cover blurb says this book has "Over 15 examples included" which pretty much says it all. Although the writing is clear and accurate, the book is far too short to cover the topic.
This book and the included CD-ROM provides a variety of applets, such as text manipulation, sound, animation, etc., and shows users how to easily plug them into existing web pages. Directions on how to customize these applets to suit specific needs are in the book. This book should be immensely useful to web site designers. It includes many interesting, original and customizable applets you can use to spice up a page. However it has little to interest programmers who want to write their own applets (aside from ideas to copy and be inspired by). The CD-ROM contains the Java Development Kit 1.0.2 for Solaris, Win32, and the Mac. It also contains all the examples, code and applets from Core Java, Java by Example, Instant Java, and Just Java.
Java is presented through examples, showing the development of Java applets from simple to complex. Explains by example the key elements of the language, such as classes/interfaces, memory management, and distributed computing support. Appendices include complete code samples. The CD-ROM contains the Java Development Kit 1.0.2 for Solaris, Win32 and the Mac, Cafe Lite, WinEdit, WinZip, and assorted demos.
The entire book is set in a weird font in a light shade of blue. The writing may be OK, but I wouldn't really know since I couldn't read more than a few pages before my eyes began to hurt.
50/50 Java, and JavaScript. The Java material is poorer than the competition.
Regrettably it is based on Natural Intelligence's buggy, payware product Roaster rather than the much more stable, reliable, complete and free Java Development Kit from Sun or macintosh Runtime for Java from Apple.
For people who want to use applets but not necessarily program them.
Presenting Java is very heavy on the philosophy and purpose of Java and very light on practical information. It certainly doesn't have very much information to help you learn to program in Java. It may be a useful book to give your bosses to explain why they should drop $10,000 on a Solaris box so you can play with Java.
This updated version of the bestselling Java! covers the beta 2 release. Unfortunately its got the bare minimum of changes necessary to bring it into beta 2 compliance and doesn't add much to the somewhat skimpy first edition. Too much space is wasted comparing the alpha and the beta.
Half of this book is a poorly designed reference to the AWT, which appears to half been tossed in just to easily bulk up the page count. In fact much of this book seems to be nothing more than a quick way to fill space. The CD-ROM does not include Visual J++. It's just a load of shovelware unrelated to the content of the book. To top it all off, what little original content there is seems to be based on laughable Microsoft propaganda. For example "ActiveX controls are a good and necessary component to a strongly Internet influenced language like Java" (p. 232) and "ActiveX controls are designed to be cross-platform" (p. 232). Last I checked there were exactly zero cross-platform ActiveX controls, and other platforms did just fine without them. This is possibly the worst Java book I have seen yet. Where other books in the "Recycle It" category mostly commit sins of omission, this one is just downright wrong.
This is the best book yet about Visual J++, for what that's worth (not much). The discussion of Active X is particularly good. However, in 1996, can you believe that when half the books on the market have CD's and most have Web sites, some people are still trying to pull the "Send us $25 for a disk of code" scam? Well, some people are; and the authors of this book are among them.
A book/CD package that covers the Java language and programming techniques, Visual J++, and ActiveX. The book shows how to combine Java and ActiveX with Visual J++ for one development solution. CD contains code examples in Visual J++ projects; shareware version of Visual J++; all sample ActiveX COM objects discussed in the book; sample database; Java documentation; and ActiveX component library.
I suppose that it's no surprise that authors who choose to write about Visual J++ in preference to the dozens of other possible Java related topics tend to be Microsoft sycophants. Nonetheless that doesn't make their brown-nosing any less annoying. For example, consider this statement from page 296: "Of course, one has to admit that Microsoft produces some of the best software in the world. " I admit no such thing, and many others feel as I do. Given the author's general attitude it shouldn't be any surprise that cross-platform issues are completely ignored in this book.
This book shows you how to write Windows dependent Java and Active-X programs using Visual J++. The CD-ROM includes a Visual J++ demo version, the ActiveX Software Developer's Kit from Microsoft, Internet Explorer 3.0, and Internet Information Server.
This book shows programmers how to use Marimba's Bongo to create Castanet content channels. It starts with an introduction to Bongo and its interface, providing a step-by-step lesson in the creation of a "test widget." The book's other chapters follow this learn-by-example approach and finish with a summary to review the information. The lessons take you through each step in the creation of your own Castanet channel, The Fruit Shop Channel, from conception to launch.
The first edition was an excellent introduction to Java for C programmers, an excellent reference for everyone, and a bargain at $19.95. The second still is, but it's been updated to cover all of the new features in Java 1.1. It contains an introduction to key Java concepts, descriptions of all of the classes in the core Java 1.1 API, a detailed description of the syntax of the Java language, and an advanced introduction to Java for C and C++ programmers who want to get up to speed with Java quickly.
The new Java 1.1 material in "Java in a Nutshell, 2nd Edition" includes:
This edition is notable for including the complete text of Exploring Java, The Java AWT Reference, The Java Fundamental Classes Reference, and The Java Language Reference on the bundled CD-ROM in HTML format.
This book explores the architecture, specification, and usage of Remote Method Invocation (RMI).
Probably the best book about the 1.1 AWT
Java and databases make a powerful combination. Java lends itself to portable interfaces and reuse, while databases serve up the riches stored by a corporation or other organization. Getting the two sides to work together, however, takes some fiddling -- largely because Java deals in objects while most databases are not object oriented. This book describes the standard Java interfaces that make portable, object-oriented access to relational databases possible, and offers a robust model for writing applications that are easy to maintain. It covers the JDBC and RMI packages and uses them to develop three-tier applications (applications divided into a user interface, an object-oriented logic component, and an information store). Virtually all the important database providers have drivers to support JDBC. If you have a database at your site and know some Java, this book will help you become a more effective application developer for Java database programs. It shows you how to embed SQL commands into a Java program using the JDBC APIs, and how to break your application into interfaces and classes that maximize the opportunities for reuse and easy maintenance. You also learn how to find servers through the RMI (Remote Method Invocation) interface and to use an object broker. This is a book that can truly pull your computing site together. It includes a comprehensive three-tier database example and reference listings for JDBC and the most important RMI classes. Covers Java 1.1.
This is allegedly a course text for an Introduction to Java Programming for non-programmers course. However, I suspect it covers too much, too fast for this purpose.
Note that Visual J++ 1.1 still uses Java 1.0.
This is a moderately interesting book. The chapters on Bezier curves ansd solid modeling are good. However, I question the wisdom of giving equal time to things that are fully supported in the AWT (like drawing lines and ovals) to things that are not (Bezier curves). I would much prefer more pages spent on the more advanced topics and fewer on the basics which are adequately covered in many other books.
As Java books go, this book has a surprising amount of math. It's the first one I've seen to use a derivative, for example. However I think there's too much math for the non-mathematical readers and not enough for mathematically oriented readers. I also would have preferred more in-depth discussions of the logic behind and reasons for the formulas Stevens presents.
This book covers networking preliminaries like streams, threads, and native methods as well as basic networking topics like URLs, sockets, and UDP. Advanced topics like RMI and multicasting are not really addressed. The threads material is noticeably weak, especially on synchronization.
This is an undergraduate text for an Introduction to Java Programming course. However, it's too advanced for a first course in programming.
This is a good, comprehensive introduction to Java 1.1 for experienced programmers. It covers a lot of advanced topics like printing and JDBC that similar books ignore. This book is the text for a course for the Ziff-Davis Online University.
This book thries to intrloduce both Java and object oriented programming too quickly, and thus does justice to neither. Still, the three chapters on design patterns are a partially redeeming factor.
This book is bundled with a CD that includes an extensible Web server written in Java (with source) and a tree of web pages that give "click" access to each example in the book. The last section of the book takes the reader from a simple socket program to a simple Web server in 3 chapters.
Several online bookstores incorrectly list this book as being written by me, Elliotte Rusty Harold under the title PC Magazine Java Programming. This is not true. I did not write this book. I had nothing to do with this book. I have not even seen a copy of this book. I am not yet sure how this false information is being propagated. I suspect there's a mistake in the materials Ziff-Davis Press is sending out to booksellers.
The Java Fundamental Classes Reference provides complete reference documentation on the core Java classes that comprise the java.lang
, java.io
, java.net
, and java.util
packages. These classes provide general-purpose functionality that is fundamental to every Java application. This edition describes Version 1.1 of the Java Developer's Kit. The Java Fundamental Classes Reference includes reference material on every core Java class and provides sample code to help you learn by example.
Viewed in isolation, this isn't a bad book; but it's not as good the Addison-Wesley books that cover the same material, nor does it add that much to what's freely available online.
I have a general aversion to "FAQ" lists that are only available as payware rather than being made freely available on the net for all to learn from. The entire text of this book really shoud be on Sun's Web site. Nonetheless, I must admit it's a useful book. The questions are taken from those programmers have sent to java@java.sun.com, and are reasonably representative of what I see on Usenet and hear from my students. There are a few notable omissions (there's no discussion of formatted output, for example) and some of the answers hew too closely to the Sun line to be fully answered (for instance, the frequent question about playing audio in applications is answered by saying it's simply not possible with no reference to the sun.audio package). However, despite these shortcomings this is still a useful book.
This appears to be the first real Java 1.0 text book, suitable for use in a college class as opposed to self-study. Superseded by the second edition.
This edition describes Version 1.1 of the Java language. It includes:
java.lang
package
This book is perhaps the first undergraduate data structures text that uses Java as the implemenattion language rather than C, Pascal, or some other more traditional language. The material is covered in that recommeneded my the ACM's recommeneded curriculum for CS 2; i.e. abstract data types, sorting, searching, hash functions, linked lists, trees, tries, stacks, queues, and so on. If you're teaching such a course, this is a completely adequate choice of course text. It's not bad for self-study of these topics either.
The CD bundled with this book features a training video by the author of this page, Elliotte Rusty Harold. If you ever wondered what I sound like, this is your opportunity to find out.
Netscape IFC in a Nutshell is a desktop quick reference and programmer's guide to the Internet Foundation Classes (Version 1.1) from Netscape. The book features a quick reference plus more than 20 tutorial-style, example-based chapters that introduce each of the features and GUI components of the IFC. These features include:
Beans make Java simpler. Using a visual builder tool like Borland's JBuilder or IBM's VisualAge for Java (not discussed in the book), developers can connect several beans together and make an application, without actually writing any Java code--in fact, without doing any programming at all.
"Developing Java Beans" explains how to write classes that are serializable, use events for communication between classes, know when and how to provide BeanInfo classes that give graphical environments more information about components, and provide property editors and customizers that let graphical tools work with more complex beans, and use beans as ActiveX controls.
Beans is moving quickly, and this book is already out of date. Since no real builder tools were available when this book was being written, the discussion is almost exclusively about how to code beans, with little coverage of how to combine beans into applets and applications. Nonetheless as of September, 1997 this is probably the best book currently in print on JavaBeans and is a good place to start if you want to develop your own bean components.
Many distributed AI examples developed in Java
This book is little more than page after page of listings of the signatures of various methods in various classes. Few examples are provided, and in general there's almost no explanation about what these methods do. It's pretty obvious that the material wsa shoe-horned into a particular page count, into which it really couldn't fit. The much longer reference books from Addison-Wesley are much more useful.
Title aside, this book does assume the reader is an experienced Java programmer. Java basics are explicitly not covered.
This book is somewhat out of date, and does a lot of rewriting of Sun white papers. The O'Reilly book is a better choice.
Better than average treatment of JAR archives
This book is written in German.
Covers java.awt, java.applet and java.beans packages
Covers java.lang, java.io, java.net, java.util, and java.math
A brief introduction to Java followed by lots of material about algorithms and data structures
The second edition of this book, the one listed here, includes a number of design patterns implemented in Java
The Unified Modeling Language (UML) is a third generation method for specifying, visualizing, and documenting an object-oriented system under development. It unifies the three leading object-oriented methods and others to serve as the basis for a common, stable, and expressive object-oriented development notation. As the complexity of software applications increases, so does the developer's need to design and analyze applications before developing them. This practical introduction to UML provides software developers with an overview of this powerful new design notation, and teaches Java programmers to analyse and design object-oriented applications using the UML notation.
The best book yet written about network programming in Java, then again I'm probably a little biased :-)
An introductory programming textbook with lots of exercises with answers in the back
I found the structure a little distracting, but I can believe some people might like this approach.
This is the best book available on multi-threaded programming, but it's a little tough going in parts. You may want to read the O'Reilly threads book first to get up to speed on the basics.
This is probably the best-written book I've ever given a Recycle It rating to. The problem here isn't the writing or the technical accuracy. It's the topics that are (and more importantly aren't) covered. In the preface, Oaks says "what I really wanted to talk about was how an applet could be allowed to read a file." Unfortunately, he doesn't actually get to that topic until the appendixes; and even there he only discusses it in the context of HotJava, the JDK, and the applet viewer. If you want to know how to get an applet to read a file in Netscape or IE, you'll have to go to Netscape's and Microsoft's Web sites respectively. You won't find that inforamtion here. While the book does cover Java 1.2's security classes quite thoroughly, it doesn't have much of practical value to Web devleopers who just want their applets to read files.
This book probably won't be published now that Corel has killed Office for Java
Many distributed AI examples developed in Java
This guidebook shows you how to conduct business with electronic cash, and teaches programmers how to use Java to program for electronic commerce and security. The CD features cut-and-paste code examples.
This is a hands-on, example heavy guide to Java programming using JBuilder. It is written for easy understanding by less-experienced Web page designers interested in harnessing the power of Java.
Borland's suite of Java development tools for Windows.
JBuilder Unleashed is a reference in the format of the other Unleashed books. The book focuses on what JBuilder can be used for, as well as specific types of Java application development. The reader will not be taught Java.
This book teaches the reader how to use the JBuilder development environment to program in Java. It's aimed at programmers new to Java.
This is the same tutorial available online at Javasoft. It's also avilable there in Postscript format. While this book is well written and easy to follow, it does suffer from trying to create a book from a hypertext document. It's clear that where the needs of hypertext and the needs of a paper book conflicted, the hypertext took precedence and that hypertext is where the authors hearts were. Therefore I suggest you read the copy on the web, and leave the book on store shelves.
Superseded by the second and now third edition
For experienced programmers, this books covers both the fundamentals and the advanced tips and tricks of the experts. It provides coverage of all Java features and syntax as well as Visual Basic and C/C++ tips that compare and contrast features of Java to those languages. This book is very Windows specific. Macs are covered in an appendix. Unix and OS/2 are hardly mentioned.
Covers Java 1.0 quite well
Probably the best book about the AWT 1.0.2, although it does have more mistakes than it should, superseded by the second edition
This book and the included CD-ROM provides a variety of applets, such as text manipulation, sound, animation, etc., and shows users how to easily plug them into existing web pages. Directions on how to customize these applets to suit specific needs are in the book. This book should be immensely useful to web site designers. It includes many interesting, original and customizable applets you can use to spice up a page. However it has little to interest programmers who want to write their own applets (aside from ideas to copy and be inspired by). A second edition is planned soon so you may wish to wait for that. The CD-ROM contains the Java Development Kit 1.0 for Solaris, Win32 and the Mac. It also contains all the examples, code and applets from all the Sunsoft Press Java books, that is Core Java, Java by Example, Instant Java, and Just Java.
A quick hack to make a buck from the popularity of Java. Somebody's buying it though because a second edition is coming soon.
Based on the alpha2 and alpha3 releases. Superseded by Programming with Java!
Superseded by the second edition. The CD-ROM contains the Java Development Kit 1.0 for Solaris, Win32 and the Mac. It also contains all the examples, code and applets from the first editions of Core Java, Java by Example, Instant Java, and Just Java.
Covers Java 1.0
Not to be confused with the more useful Java Programming for Dummies, this book manages to spend 364 pages saying next to nothing. Frankly, only a real dummy would read 364 pages to learn what they can get from a few minutes on the web at Javasoft. Even if you aren't looking for information about programming in Java, this book is still useless. Perhaps the second edition is better.
This book has generated more negative email than any other book in this list. A lot of people really don�t like this book.
The Java virtual machine, byte code, the sun packages, native methods, stand-alone applications, and a few more naughty bits.
Superseded by the second edition
Does anyone know why Que's Using series is so popular? If so will you please explain it to me. I confess that I find virtually all of these books to be written purely by-the-numbers, and Using Java is no exception. It was tossed together by about twenty different authors of widely varying ability. Some chapters are fine. Some chapters are awful. I suspect at least one author was just rewriting material from Java Unleashed because he copied that book's mistakes too. The complete text is available online which is a somewhat redeeming feature though.
According to Ms. Lemay �It's written for people with some experience in *a* programming language -- not real super-experts or rank beginners, but somewhere in the middle.�
Superseded by the second edition
Unlike the other lists, this list does not try to be comprehensive. It is a list of a few of the best books, not all the books available. Books are only added to this list if I actually possess a copy and have found it to be useful. Unlike Java books, I do not actively seek out books in this category. If you're a publisher or author and think your book might fit in here, I suggest you send me a copy. (Send email to find out where to send it.)
This is the best book I know about basic algorithms and data structures. I refer to it frequently.
The Dragon Book is the classic text on compiler implementation. To this day I remain amazed how many problems I encounter map closely to problems in compiling code.
Quite simply the best introduction to networks, computer and otherwise, available. (Disclaimer: I was paid to tech edit the Java section of this book.)
A fascinating look at why C++ is what it is, for better or worse, by the man who invented it. Even though Java is never mentioned, this book should convince you that C++ and Java really are two very different languages.
Twenty years after its original publication, much of this book is seriously out-of-date. Nonetheless the fundamental theme of the book is as true today as it was twenty years ago. Writing code is the smallest part of a programming project. Therefore further advances in productivity must concentrate on other aspects of the software development process, e.g. analysis, design, documentation, and testing.
This is one of the better introductions I've seen to object-oriented analysis and design.
The classic text on practical user-interface design.
The classic practical text on writing network software in C in the Unix environment. Much of the material is applicable to Java as well (though much isn't).