I recently purchased the book 'Learn Java Now' by Stephen R. Davis, Microsoft Press, 1996. As a long-time programmer and an afficiando of computer languages, this seemed like a good purchase. Over the years I have developed a healthy respect for the books from Microsoft Press. My primary education in Windows programming has come from the Petzold books (Programming Windows and Programming Windows 95) and the Prosise book (Programming Windows 95 using MFC). These books have become dog-eared with use and remain important references to me. The recent emergence of Java, and its potential for use in developing both standalone applications and Web applets had sparked my interest. The fact that the book also contains a CD Rom with the Visual J++ compiler made it an especially attractive offer.
When I received the book, I immediately began reading. The author seems quite knowledgeable about the subject matter and has a relaxed, conversational style which makes for easy reading. After about a hundred pages of reading I was ready to dig in and write some code. But first, I needed to install the compiler.
The compiler and development environment installed without problem, although it annoyingly installed Internet Explorer 3.0 without giving me any opportunity to skip this step, and the installation process directed to me a Microsoft Web site where I could download the latest Visual J++ update. The download and update also occurred without a problem. I successfully registered the product online and received a product ID number from Microsoft. The first sample program was, of course, the venerable 'Hello, World' program, which in Java can be written in about 6 lines of code. I typed in the program, compiled it without error and ran it as an applet. It dutifully launched my browser and displayed its output. So far, so good. When I attempted to compile and run it as a standalone application, however, the program refused to execute with an apparent runtime exception 'java.lang.UnsatisfiedLinkError'. OK.. I obviously did something wrong. A search through the online documentation left me looking at an obscur (garbled transmissionCye)
The fact that the message referred to an unsatisfied link, despite successful compilation, suggested some problem with the runtime system. Aha .. an installation problem. So I uninstalled it, and then reinstalled it, this time NOT retrieving the newest version from the Microsoft Web page. Still no go.
By this time I was getting frustrated. I browsed the microsoft.public.visualj newsgroups and saw several messages from other people reporting the same problem that I was having, but found no solutions posted. As a last resort I contacted Microsoft via standard email support, and learned that the 'Publishers' version of Visual J++ does not qualify for Microsoft support since it was not purchased 'off the shelf'. Let's see... this is a Microsoft compiler, using a Microsoft development environment, purchased with a Microsoft book... it doesn't work and Microsoft won't help.
By this time, a hour or two had elapsed since my last visit to the newgroups, so I revisited microsoft.public.visualj to see if anyone had posted an answer to the problem. Lo and behold, the messages regarding the problem were no longer there. Simply vanished. At this point, thoughts of conspiracy began circling my brain. Was someone at Microsoft removing these messages to avoid placing their product in a bad light? Who knows.
So .. at this point (having uninstalled Visual J++ again, and with no intention of pursuing this farce further) I have another useless CD to accompany the stack of AOL CDs which I plan to make into Christmas ornaments or a mobile (they're very pretty dancing in the sunlight).
I must mention that the problem I'm having may not be typical .. I have no way of knowing. It's probably something quite simple, which could be answered by someone with knowledge of the product. But from my point of view, I have been victimized by hype. The product does not work, Microsoft won't help, and that's that. But for those who are considering the purchase of this book, be forewarned that you should justify its purchase strictly on the value of the book, without the expectation of using the CD. I must also reiterate that the content of the book seems good .. I like the author's style and he seems to know what he's talking about... I have no desire to reflect negatively on his work. Just don't plan on using it to write standalone Java apps. For me, I guess I'll have to 'Learn Java Later'.
Jerry A. Velders
A day or two ago I read a posting in the microsoft.public.visualj.installation newsgroup in which the problem and its cause were described. It seems that if one follows the installation instructions and downloads the 'updated' version from Microsoft, the Visual J runtime system doesn't work correctly. If one does NOT download the 'update', the program appears to work properly. However, uninstalling Visual J++ does not completely clean up the system, and leaves it in a 'broken' state, even after reinstalling without the update. In order to correct things, one must first uninstall Visual J++, then remove a couple of subdirectories from the computer, then edit the system registry to delete a couple of things. Once this has been done, reinstalling Visual J++ (without downloading the 'update') allows the compiler to work properly (at least as far as I've been able to determine so far).
Since none of this was documented, and since Microsoft would not offer any help with the problem since it was the 'Publisher's Edition', I don't think this changes anything I wrote to you about the product. Even so, I felt compelled to pass this along for your information.
Use your browsers "back" button to return to the book list.