This month readers quiz our columnists on progress bars for applets; Microsoft rebuts William Blundon's Netscape bonanza; Laurence Vanhelsuwe talks ethics with Waite Group Press; and readers applaud Windows over the Mac for Java development. <strong>Plus:</strong> In case you didn't already know it -- now's your chance to shape <EM>JavaWorld's</EM> future!
โReader Survey: Shape the future of JavaWorld!โ /javaworld/jw-07-1997/jw-07-readersurvey.html
Tell us what you want!
To the editor:
Iโd like to see reader discussion forums on JavaWorldโs Web site. Has there been any thought of creating some?
Thanx,
Liam Breck
Info-Mac Archive
Liam, Actually, weโre considering both discussion forums and chat, among other things, as evidenced in our latest JavaWorld reader survey. Initial results indicate readers would like a JavaWorld discussion forum, but weโre expecting lots more feedback in coming weeks. Please give us your feedback: Go to โReader Survey: Shape the future of JavaWorld!โ (http://www.javaworld.com/jw-07-1997/jw-07-readersurvey.html) in the July 1997 issue and tell us what you want. Based largely on reader responses (and as resources allow), weโll add new features and columns in the coming months, so nowโs your chance to shape JavaWorldโs future! Michael OโConnell,
Editor-in-Chief
Book review: Lemayโs latest โJava 1.1โ title fails to deliver by Laurence Vanhelsuwe /javaworld/jw-08-1997/jw-08-bookreview.html
The Waite Group Press responds
Dear Mr. OโConnell:
Publishers never enjoy reading negative reviews (http://www.javaworld.com/jw-08-1997/jw-08-bookreview.html) of their books. But we get used to it, and accept the brickbats along with the praise.
Sometimes, however, the author of a book review crosses the line of objectivity and slams someone elseโs work for purely personal reasons. Thatโs OK too, because however motivated, itโs still protected first-amendment speech. But itโs not good journalism.
I believe that is the case with Laurence Vanhelsuweโs review of Waite Group Pressโs book, Laura Lemayโs Java 1.1 Interactive Course. Whether or not his technical criticisms of that book are valid, it is apparent that the author worked especially hard to misunderstand several key aspects of the book, namely the manner in which it covered Java 1.1 and the nature of its interactivity.
The intent of this book was to teach Java basics, and to provide a much-requested update on the 1.1 JDK, which had just been released when the book was published. The book contains nearly 200 pages of 1.1-specific material, as well as chapter-by-chapter notations on the differences between 1.02 and 1.1. This proportion of brand-new content, in our view, justified the use of 1.1 in the title. Mr. Vanhelsuwe disagrees, and the matter is a reasonable point of debate.
But to claim that Waite Group is โtrying to pull a fast oneโ by describing this as a book about 1.1, and therefore needs a reminder in publishing ethics, is simply an unsubstantiated insult. Multiple authors and editors worked hard to make Laura Lemayโs excellent Java 1.02 book into a โbridgeโ to 1.1. There was nothing dishonorable in their intent. Mr. Vanhelsuwe may not like the result, but we have done more than put a new cover on an old text in order to fool would-be programmers.
Mr. Vanhelsuwe also criticizes the bookโs interactive components, claiming that he expected the interactivity to be on the CD-ROM, rather than on a Web site. This is hard to understand, as the URL for the interactive eZone site is on the front cover and the spine; a two-page gatefold cover describes all the features of the site; and the first ten pages of the text outline how readers can access and use the eZone. Had Mr. Vanhelsuwe spent any time investigating our Web site, he would also have learned that the Continuing Education Units given by Marquette University for Waite Groupโs Interactive Courses are not automatically issued, but require taking a special final exam, supplied by Marquette. Mr.Vanhelsuwe may not be fond of online learning, but to state that the book is โnot interactive at allโ is just untrue.
The reasons behind Mr. Vanhelsuweโs unbalanced and unfair review become clear when you check his own authorial record. Not only is he the author of Mastering JavaBeans (as the reviewโs author bio states), but he is also the author of Mastering Java and Mastering Java 1.1, all from Sybex. In short, he has a competitive title to our Java 1.1 book, and it is only reasonable to assume that some of his vituperation stems from a desire to slam the competition.
This is, of course, his right, as it is your right to publish what he says. However, in the interests of full disclosure, the fact of his authorship of a competitive title should have been made clear by your editorial staff. Point-of-view journalism is a fine and respectable practice; but the reader has the right to know whether there might be some conflict of interest, or strong personal motivations for an authorโs opinion. Playing fair with the reader is the editorโs responsibility.
I welcome your thoughts on this issue.
Sincerely,
Charles Drucker
Associate Publisher,
Waite Group Press
Laurence Vanhelsuwe replies: Hi Charles, Let me start by stating that my review (http://www.javaworld.com/jw-08-1997/jw-08-bookreview.html) was meant to give strong negative feedback to your marketing department, not those at the Waite Group Press who are trying to do things right. Now let me address your points: Content:
You contend that the book I reviewed does more than โput a new cover on an old textโ as it โcontains nearly 200 pages of 1.1-specific material, as well as chapter-by-chapter notations on the differences between 1.02 and 1.1.โ Can you please point out exactly where these pages are in the book? Exactly where in Chapters 1-21 can the reader can find clear mention of the differences between 1.0.2 and 1.1? Throughout my review I had both the 1.02 and the 1.1 books on hand, and I compared the two quite thoroughly. In addition, I was very familiar with the TYS book, having bought it last year, so I knew something was rotten from the start. Interactivity:
When I visited your Web site I discovered the same can of worms that other readers have discovered in trying to use the eZone: Mentors and Webmasters not responding to email and a ten-question limit for an entire 1194-page book. I think we should stop pretending and get back to the truth: When readers buy an interactive book with a CD-ROM on the back, they expect to find the interactivity on the CD, not on the Web. Bias:
You suggest that my review was biased by a competitive agenda; reasonable assumption, but not true. Though I was the โmainโ author of Mastering Java, I was never even consulted for Mastering Java 1.1. More importantly, I always keep competitive bias in mind when reviewing a book, and Iโm very careful not to slam books without sound reason. I detest dishonesty and lack of ethics in modern business, which is exactly why I had to review Lemayโs book just as I did. Ethics:
I am proud that JavaWorld had the guts to publish my review because it reflects their trust in my independence and my opinions and expertise as a Java programmer and author. And many share my opinion of this book. In fact, I have never received as much feedback from readers as for this single article. And nearly all of them praise my article and its no-nonsense approach. Those who had already bought the book completely agree (including at least one Waite insider) with my review and additionally provided me with even MORE criticisms about the book and about the eZone. (See the other reader letters below for a sampling of feedback.) I think the best thing the Waite Group Press can do now is to exploit the information youโve been given for all itโs worth. Youโve made a big mistake with this book. Iโve criticized it in public and loads of your readers share my opinion. If you avoid making this mistake again in the future you will be a better company for it. Sincerely,
Laurence Vanhelsuwe
Editorsโ note:
JavaWorld
agrees it should have been acknowledged in the author bio within this review that the reviewer himself wrote a book that arguably competes with the Waite Group book that is the subject of the article. The article has been updated to reflect this fact. But
JavaWorld
firmly stands behind this review, and believes the feedback from numerous readers further supports the validity of its criticisms.
Readers have their say
Laurence,
Thanks for saving me 0.00.
Cheers,
Bill Kling
I read with interest your review (http://www.javaworld.com/jw-08-1997/jw-08-bookreview.html) of Laura Lemayโs Java 1.1 Interactive Course. I just completed the Sun Certified Java Programmer Examination, for which I used multiple books to study.
I used Lemayโs book. And, yes, completed the interactive course on the Web and took the related examination for Continuing Education credits from Marquette University. The online course did have errors and omissions. And, yes, it was mostly 1.0x. However, there were numerous new sections about 1.1.
You should remember that it is difficult to develop in 1.1. Even Sunโs examination still covers only 1.0x. As to the bloated nature of the book, I found myself constantly using the diagrams and class references found in the back as I studied for the exam. Also, Lemayโs sections on the NMI, JVM, security and networking are among the best I have seen.
Other sources I used include Java in a Nutshell (both editions), Peter Van Der Lindenโs Just Java, and the online tutorial at sun.com.
Sometimes I think Java book reviews are about as deep as the books themselves, and as full of sound and fury as the marketing hype surrounding the language.
Yours truly,
Tom Dorgan.
Hi Laurence,
Your review (http://www.javaworld.com/jw-08-1997/jw-08-bookreview.html) was right on target. I purchased the Waite Group book above others because I thought the concept of an interactive course over the Web was a good idea.
It took only as long as the first quiz to set the tone: The Web site wasnโt functional, so it was several days before I could even log on. When I did log on, the answers to the quiz were often incorrect (both on the Web and in the book) and their online โmentorโ never responded to my questions.
This happened again and again. Everyone in the course chat group experienced the same problems.
It may sound like Iโm just grumbling, but itโs theft when you spend 0.00 for a book that is supposed to be one thing and it turns out to be something completely different.
Take care and keep the reviews coming,
Best regards,
Bill Rugg.
Laurence,
I donโt personally know about the Lemay 1.1 Interactive Course, but I am getting sick and tired of being forced to all but read entire books at the bookstore just to protect myself from buying crap.
I have never seen so much blatant resume-building in my life. No one has anything new to say about Java. I personally know several authors of Java books. I would say, maybe, one in five actually has any depth of knowledge at all. The rest seem to have based their book on someone elseโs book. And now all of these clowns are writing their Java 1.1 versions based on their 1.0x versions!
Again, thanks for fighting the good fight.
Thomas McGraw
Hi Laurence,
I was just reading your review. I appreciate your criticism of the Java book flood. However, is the book really that bad? Iโve gotten through five chapters so far, and Iโve learned a lot.
Iโm planning to write applets for use in the general Web browsing community, and since most people do not have Java 1.1 enabled browsers, this book is as good as any and, according to the page count, more detailed than most, right?
Alex Linde
Alex, I never said there wasnโt enough material to learn from. Thatโs not the problem with this book. The problem is at a higher level. The title has โ1.1โ in it, so the book should talk about Java 1.1, not Java 1.0.2. The interactive aspect is also nowhere near what an average, reasonable reader might expect. Laurence
Laurence,
Right on!
I have been waiting to hear someone expound on the Waite Group Pressโs โget it to market or bustโ publishing technique.
Though I have not had the misfortune to purchase the Java 1.1 Interactive Course, I did make the mistake of picking up a copy of their Visual Basic 5 Interactive Course.
Besides my disappointment with the interlacktivity of the โeZoneโ and the illogical flow of the book, the copy was riddled with typographical errors โ many of which appeared in the example code, causing me to have to debug their tutorials. This bush-league quality spurned me to write a respectful yet blunt letter to Waite Group, which has gone unanswered.
I am sick and tired of being sucked into these epic tomes of inanity in the search for legitimate learning aids. Congrats on your review โ hopefully our voices will be heard and someone will start to produce some quality books.
Troy Hitch
Blundonโs Corner: Microsoftโs Internet Explorer moves may create a Netscape bonanza, by William Blundon /javaworld/jw-08-1997/jw-08-blundon.html
Microsoft bites back
Mr. Blundon, The crux of your recent article in JavaWorld titled โMicrosoftโs Internet Explorer moves may create a Netscape bonanzaโ is your assertion that โuntrusted applets downloaded to and executed by Internet Explorer have free rein to do on the client system whatever they wish.โ
Unfortunately, this is so patently untrue as to be laughable. Internet Explorer has allowed applets to be signed and downloaded since version 3 of the browser. In the upcoming IE4 release, that functionality has been extended to allow a more fine-grained access to system resources and other mechanisms for trusted applets to escape the traditional โsandbox.โ In no case is an untrusted applet ever allowed to escape the sandbox and have free rein to do whatever it wishes. If an applet is trusted (whether in Internet Explorer or Navigator) by the user, it will be allowed to access the database, overwrite memory and [cause] all the other dire consequences that you enumerate. Given that your central argument is so specious, it would seem that your entire article is completely without any redeeming value whatsoever.
Shame on you, Mr. Blundon, for not doing your homework, and shame on you, JavaWorld, for serving as a mouthpiece for such rabid, inflammatory journalism. I hope you will have the professional courtesy and do your readers a service by posting a retraction.
Sanjay Menon
Program Manager, Microsoft Corporation
โPoliticians like to panic, they need activity. It is their substitute for achievementโ โ Sir Humphrey in โYes Ministerโ
Editorsโ Note:Mr. Blundon responds to this and other reader letters below.
William,
Iโll rise to the bait โ couple comments on your column:
One small problem with your hypothesis: [Security is the issue. See Blundonโs Corner (http://www.javaworld.com/jw-08-1997/jw-08-blundon.html) for details -Editor] Only trusted code can call J/Direct; arbitrary untrusted applets canโt. We have a capabilities-based security model for Java in IE4 that allows selective access beyond the sandbox. Applets must be signed and request specific capabilities that the administrator and/or the user have to approve.
There are a lot of developers who want to combine the productivity of the Java language with the power of Windows. This lets them fully exploit a customerโs investments in hardware and software and deliver products with superior performance, functionality and integration.
As you stated, this is especially true on the server where you seek to optimize scarce resources. Most developers are interested in building products that meet customerโs needs. Thatโs why Sunโs 100% Pure jihad has been such a disaster. They are spending a ton of marketing money urging developers and customers to be puritanical. Turns out it alienates their earliest and most significant developers who are trying to build successful products.
Most of the major pieces of Java code are โimpure,โ including Marimba, Dimension X, FutureTense, WebLogic, NetDynamics, et al. The poster child for purity, Corel Office for Java, is a disastrous and uncompetitive product. Michael Cowpland admitted in a recent interview in InfoWorld that it is way too slow to ship.
Moreover, Sun has asked developers to prioritize cross-platform solely over performance, functionality and integration. You pay a price in those areas when you limit yourself to the Java APIs. Even worse, it is now widely acknowledged that Java doesnโt even deliver on cross platform except for the most trivial applets. Hard to justify extreme tradeoffs for something that Java doesnโt even deliver on.
Hope you caught the San Jose Mercury News on Sunday, or PC Magazineโs testing of โwrite once, run anywhere.โ In case you missed PC Magazineโs conclusions, they determined that in the best case, programmers could โwrite once, run 42% of everywhere.โ
On the other hand, there are real productivity benefits to the Java language. At Microsoft, we try to focus on what a technology really delivers on, as opposed to what people wish it did. It would be cool if Java also cured cancer, but weโre not going to build a strategy around that. Java is being touted as a solution for any number of particular business problems (such as Sunโs solution for its imperiled minicomputer business). Weโre going to make sure developers can get the full benefits of the Java programming language while at the same time being able to pursue whatever success factors they need to optimize to make their application successful in the marketplace.
As for Netscape ONE, Iโm hard-pressed to see where the architecture is. It is an interesting series of white papers, but theyโre having problems delivering on their basic Java support, much less a comprehensive enterprise development platform.
We have extended our lead in performance and scalability. Weโre ahead in functionality, even basic things like JDK 1.1 support, which Netscape has not yet managed to get into the product. Their lack of support for Beans is hysterical โ they made a big announcement at their developerโs conference announcing in the future they would deliver an architecture around something Microsoft already supports. In the meantime, we have fully integrated Beans into the ActiveX component architecture, with automatic, bi-directional support between the two worlds, so customers can build component solutions using components written in any language and host them in any ActiveX container. Which platform offers more flexibility and choice? What if I need a fast component? What if I want to leverage existing code? Netscape plans to somehow integrate these into the Beans world in the future, but in the meantime the Microsoft component architecture is here today and is a 00-million-plus-a-year industry (per Giga Information Group).
We also provide language-neutral component services like transactions and message queuing. When will Netscape have these? DCOM is shipping today. Netscape is waiting for whatever the rationalization is of IIOP and RMI (I did not understand your characterization of these as โrelatively secureโ โ relative to what? Certainly not relative to DCOM). If you were at OMG, you know how large the abyss is between OMGโs marketing claims and reality. CORBA is the Unix of object models โ no two products will interoperate and there is no market for interoperable components, but everyone says they support it. Netscape, Sun, et. al. are promising tomorrow what Microsoft delivers today.
That may not be politically correct, but it is the reality.
Charles Fitzgerald
Microsoft Java Team
http://www.microsoft.com/java
Superb article (http://www.javaworld.com/javaworld/jw-08-1997/jw-08-blundon.html); your political wit is sharp and British.
There is something that I still donโt understand, however, and the lack of an answer to this question points to a hole in the logic of your article.
Why is it a โbad thingโ to be able to write code that makes efficient use of operating system-specific features/APIs?
The โreal worldโ canโt wait for Sun and Microsoft and Apple and SGI and DEC and everyone else who has an OS to build new JVM-based operating systems โ to say nothing of waiting for all third-party equipment manufacturers to rewrite their device drivers to work with these theoretical JVM-based OS replacements.
The Java language offers real benefit to programmers and I personally prefer Java to C++, however, without the ability to compile my Java code to platform-specific machine code and/or without the ability to use OS-specific features/APIs there are few reasons that I can see to use Java.
Regards,
Jason Coombs
Scientist,
SCIENCE.ORG
William,
I canโt understand why you didnโt mention the signed code provisions that this code, like all other downloaded code, will be subject to. I canโt understand why you didnโt mention that, in fact, Sun and Netscape are making the same capabilities available so that you can download file-accessing code in applet form.
I could draw inferences โ i.e., YAMB (yet another Microsoft bashing). But Iโd rather not. Maybe you just didnโt know.
Gary Lang
Dear sir,
Your most recent column (http://www.javaworld.com/jw-08-1997/jw-08-blundon.html) was really fantastic! Iโm a Java freak myself and I support anything and everything against the big MS.
As the Java slogan says:โIn the world without fences, who needs Gates?โ
Regards,
Samir Bongale
William,
Scanned your article about the new IE4 VM. It sent chills down my spine. Iโm not so convinced that the open door move will hurt Microsoft. At the very least a Java security rip-off or scandal caused by this โpermeable VMโ will cast a shadow over Java as a whole, especially when it ripples through mainstream media.
I hate to sound like a conspiracy nut, but thatโs at least a part of the business objective of this move. Delay and confuse the deployment of Java until a majority of the Java related revenue streams can be re-directed northward.
How long can we take this before someone stands up and launches a class action?
Gerth Hansson
William,
In all the concern for security letโs not forget that Java is really just another computer programming language. Security is a large concern for apps run from a Web site, but not for applications written to run like any other app. The Internet and browsers arenโt the whole world. In the rush to develop Web sites and applications, donโt forget that the Microsoft J/Direct move just makes Java more usable for Microsoft-based development. Maybe Java could be more than just hype.
Keith Douglas Johnston
William Blundon replies: Thanks to the many people who understood my column on the Microsoft VM and saw no reason to respond, or to voice appreciation for the article. To the few who did respond with criticism, let me provide two blanket answers, one brief and one long: 1. Please read the column before you respond. 2. Readers of my columns will have to admit that I call them as I see them. In the midst of what has become religious warfare between Microsoft and almost everyone else, I remain an agnostic. Overall, I have been positive about Microsoft and their adoption of Java. This seems to offend many in the Java community. Indeed, an earlier column that applauded some Microsoft developments generated several heated responses that were indistinguishable from death threats. I am pleased to see that those in the Microsoft camp are equally fanatic. However, the most violent points need to be addressed. The overall argument, as I understand it, is that my article was both blatantly wrong and specious. If that is indeed the argument then I suggest the author go to a dictionary and look up โspecious,โ and having done so, page backward to โoxymoron.โ I was educated by Jesuits, and while this provides no guarantee (or even warranty) about the accuracy of my conclusions, it nonetheless provides some level of assurance that my reasoning is not specious. (For those of you unfamiliar with the Jesuits, let me simply say that they are to teaching what the U.S. Navy Seals are to combat.) That aside, I believe your point actually devolves to a convenient misinterpretation of a single word in one sentence. That is: โIn short, untrusted applets downloaded to and executed by Internet Explorer have free rein to do on the client system whatever they wish:โฆโ. This statement is true. To illustrate why, I refer to the TV sitcom referenced in Microsoft program manager Sanjay Menonโs signature, โYes, Minister.โ In the episode entitled โParty Games,โ Minister Jim Hacker faces a difficult development in his attempt to manage the integration of England into the European Union. One goal of the EU is to standardize things across national boundaries: nomenclature, laws, and nearly everything else. One such standard was the definition of a โEurosausage,โ which had strict quality requirements that British sausages could not meet. This threatened the right of British companies to use the word โsausageโ when selling their products within the Union. Sir Humphreyโs sage and effective compromise was to call them โBritish sausagesโ saving the day and helping to elect Hacker as Prime Minister. What does the Eurosausage have to do with Java applets? Simply this: There are clear and accepted definitions of what โtrusted Java appletโ and โuntrusted Java appletโ mean. These definitions involve a number of things including access to system resources from the Java Virtual Machine. Internet Explorer does not support the Java VM; it supports a Microsoft VM. This virtual machine provides several levels of security, and it may in fact provide a level of security equal to or potentially better than the Java VM. However, trying to use the words trusted and untrusted in connection with the MVM is, well, specious. Applets may be โMicrosoft trustedโ or โtrusted Microsoft applets,โ but they are not โtrustedโ in the Java sense of the word. From a technical standpoint, all applets in the MVM-world should be considered untrusted, including those that Microsoft may choose to define otherwise. This is more than an argument about semantics. Millions of dollars will be spent in the next few years to guarantee that trusted and untrusted applets are treated differently by the Java VM. Millions more will be spent by Microsoft to demonstrate what โtrustedโ and โuntrustedโ mean in connection with the MVM. That is the main point of my article. Security failures in IE are not an indictment of Java security, but bugs in Microsoft software. Where security is concerned, the burden of proof is on Microsoft. Thatโs it. No retraction necessary. Or as the Jesuitsโ say: Quod erat demonstrandum. Sincerely,
William Blundon P.S. To the people who criticized me for the remark about President Clinton, let me just say my column provides no insight into my politics, only a clear example of my sense of humor. Life is too serious to be so serious.
Editorsโ Note:Just after we published these letters, we saw a
CNet
news article reporting another Java-related security bug in Microsoftโs Internet Explorer. It reads in part:
A Colorado Java developer says he has discovered a flaw in Microsoftโs Internet Explorer that lets Java applets make mischief on usersโ systems. CNet reports that Ben Mesander, a Java developer with Creative Concepts in Boulder, Colo., said Internet Explorer 3.x and 4.0 let a Java applet open a network connection to a server other than the one it came from. Such a connection is not allowed under the current Java security model, which leads Mesander to believe the flaw is in Microsoftโs browser and not in Java itself. After looking at the source code for Mesanderโs applet, a Sun Microsystems security expert agreed.
( For the full story, see https://www.news.com/News/Item/0,4,13226,00.html?latest) โCase closed,โ says Blundon. Oh, one more thing: Readers who presume Blundon is just another Microsoft basher should read some of his earlier columns in
JavaWorld
, where he offers such pro-Microsoft statements as โVisual J++ โฆ undoubtedly will be the de facto standard for Java developers on Windows.โ In fact, Blundonโs May 1996 column, โMicrosoft 2, SunScape 1,โ led to contrary claims from readers that Blundon is just another pro-Microsoft bigot.
Some lighter fareโฆ
Overqualified
Hi Michael,
Take a look at this Classified ad from the Orlando Sentinel:
IT PROFESSIONALS ViaTech Services is a premier provider of IT professionals. Our Orlando office is currently seeking:
Java: Experience with Java of any kind needed. Min 5 yrs exp desired.
โฆ
Forward resumes or phone ASAP to: 2170 West SR 434, Suite 240 Longwood, FL 32779 Fax (407) 862-4622 E-Mail: viatech@magicnet.net
[Ad # 9 of 12] Published 07/13/97 โ The Orlando Sentinel]
Would you hire a Java programmer who told you he had five yearsโ experience?
Rogers Cadenhead
Java development on Macintosh โ is it viable or not? By Daniel H. Steinberg /javaworld/jw-07-1997/jw-07-javamac.html
Forget Macintosh, letโs talk about Windows!
Hi there,
Your most recent article โJava development on Macintosh โ is it viable or not?โ (http://www.javaworld.com/jw-07-1997/jw-07-javamac.html) was interesting, but I think you missed an important point: MacOS is not multithreaded. (Macโs cooperative threads are to real preemptive threads what Windows 3.1 is to System 7.) This is a real problem when running Java applications that make extensive use of threads; they run very slowly and sometimes simply freeze.
My understanding is that this situation will not change until Apple ships a real multi-threaded, multitasking OS, which wonโt be until mid 1998 (estimated Rhapsody release date). Until that time, the Mac will be a second-choice Java platform.
Mathias Tschopp
A response from Apple Mathias, Thank you for your question. I contacted Will Iverson at Apple for a reply:
Apple currently emulates a preemptively threaded system inside of MRJ. The MRJ itself is cooperatively threaded with regard to the rest of the Mac OS, but Java developers shouldnโt need to worry about that. It is certainly possible for Java threads to deadlock, be put into race conditions, and to prioritize themselves in such a way that they execute in unexpected ways, but this is common to all Java VMs. It is certainly possible to starve a thread by trying to do too much at once. We strongly recommend that Java developers take the time to try running their code on the Mac OS โ a bit of care with regard to looking at performance and packaging can go a long way toward improving user experience on the Mac OS. You are correct that Rhapsody will undoubtedly have better performance than the Mac OS running Java. In addition, the Unix-ism of Rhapsody will lend itself to performance characteristics more similar to that of Solaris than the Mac OS, simplifying development and testing.
Thanks,
Daniel
Annoying myths and major inaccuracies
Daniel,
While your article on Mac development and Java (http://www.javaworld.com/jw-07-1997/jw-07-javamac.html) raised some good points, it also had a few major inaccuracies.
First of all, there is the annoying myth that propagates through most of the hip young computer-user world that the Mac is not only faster than Windows (which it definitely is not), but it somehow has more and superior programming, text, and Web site tools.
I used to be an ardent Mac user, and even developed some of my first Java and a lot of my Web sites on a Mac. Not only does the machine crash constantly, not only is it horribly slow when Netscape and any other major program are open, but the best tools are either not there or are weaker than on a Windows system. Eventually I got tired of petty Macintosh arrogance and put my time and money into an OS which delivers and provides a powerful interface thatโs easy to use. That platform is Windows NT/95.
This is not an issue of which is really a better OS, this is a matter of pure practicality. JDK releases will always come out for Windows far before Mac because even if Scott McNealy and all the holier-than-thou Java gurus on the Internet hate Microsoft, the Windows platform is where their bread-and-butter (well over 90% of it last time I checked) is coming from.
Logistics are more important than immature platform and company rivalries.
Todd C. Zino
Todd, Thank you for your letter. What you refer to as major inaccuracies are really just differences of opinion. Your letter is responding to a brief passage in the article which referred to programmers who liked CodeWarrior or the text editors available on the Mac. Most of the sources I quoted have tried Java development in both the Mac OS setting and in that of Windows 95/NT and they came to a different conclusion than you. I too used to have problems with crashing on my Mac, so much so that I began writing the article with the expectation of a negative conclusion. Like you, I thought that I would have to give up my Mac and move over to a Windows box at home (I already have one at work). Stability seemed better and compile time was significantly less on the Windows box. Then I realized it was because the Windows box was three years newer than the Mac. You donโt say what machines youโre using, but when I bought a new Mac this Spring with sufficient memory, the performance improvement was fantastic. Thanks,
Daniel
Whatโs up with JDK 1.1?
Daniel,
I read your article on Java on the Mac (http://www.javaworld.com/jw-07-1997/jw-07-javamac.html) and, since I canโt get an answer out of Sun, Iโm wondering if you have any news on JDK 1.1. Iโve waited patiently for JDK 1.1, but the ship date has come and gone with no release. Now I see that Sun has re-designed their JDK download pages, removing any references to JDK 1.1 for the Macintosh. Will there be a JDK 1.1 for the Mac, or do we have to wait a few more months for Apple to add a bunch of bugs to it before releasing it in the MRJ?
(By the way I havenโt successfully gotten anything to run correctly with MRJ, including programs that work fine under Win32 Java.)
Dale King
Dale, I too saw the JavaSoft download page change from a promise of the Mac version of the JDK 1.1 by the end of Q2 to no mention whatsoever of a Mac version at all. Three weeks before the end of the second quarter, a JavaSoft spokesperson said that โthe Beta release of the JDK 1.1 for the Macโฆ will be announced over the next few weeks.โ More than a month later, it still hasnโt been announced. Developers can get an early release from Apple, but Apple would like to improve the product before a general public release. JavaSoft says ask Apple and Appleโs position is the same as that expressed in the article: there is a big difference between what developers and end users expect. Register as a developer on the Mac Java home page and you can get the pre-release. (A good reason to develop for the Mac is that Apple made good on their promise of a Java Runtime as part of the OS released this summer.) Thanks,
Daniel
Java dev on Mac โ in classroom
Hello Dan.
I also teach Java programming, at Tulane University, and in a Macintosh-equipped classroom. I had very few problems with the Mac as a development platform, and we even managed to do in-class electronic testing using Navigator, SimpleText, and the JDK. I recommended that students use the JDK because it was free, but they were allowed to buy and use whatever package they wanted for projects. Two out of three Windows 95 users had trouble initially with the JDK. The Mac users were able to resolve most JDK-related issues on their own. The biggest problem overall was in the VM differences at runtime (JDK and Navigator on multiple platforms).
Cheers!
Andrew S. Downs
Reduce the launch time of your applets: Store them on client machines, by Mark Roulo /javaworld/jw-06-1997/jw-06-plugins.html
Dear Mark,
Iโve just finished reading your article (http://www.javaworld.com/jw-06-1997/jw-06-plugins.html) and I have a simple question:
Our application contain data files, such as Images and audio files. It seems that every time the same applet is being loaded over the net the VM loads the needed images and audio files from the server and not from the browserโs cache, even when itโs already there.
Do you know a similar method to the one described in your article, to install data other than the applet classes in the client machine and make the VM use the local versions ?
Regards, Gabi Malka.
Dear Gabi, You can store images and sound in a JAR file (new with JDK 1.1 and supported by Netscape 4.0 and should be supported by IE 4.0): https://www.javasoft.com/products/jdk/1.1/docs/guide/jar/index.html JAR (Java Archive) is a platform-independent file format that aggregates many files into one. Multiple Java applets and their requisite components (.class files, images and sounds) can be bundled in a JAR file and downloaded to a browser in a single HTTP transaction, greatly improving the download speed. I think that JAR files can be cached, so this might solve your problem. If you are using IE exclusively (not my suggestion, but it may work for you), Microsoftโs CAB files can also be cached (but I donโt know how, youโll have to poke around the Microsoft site). Other than that, you might try installing image/sound files just like the class files and seeing if the local copies get used. Regards,
Mark Roulo
Creating download progress bars for applets, by Mark Roulo /javaworld/jw-12-1996/jw-12-progressbar.html
Mark,
After reading your article (http://www.javaworld.com/jw-12-1996/jw-12-progressbar.html) on building a progress bar I immediately wanted to build one for myself. However, I have .zipped my classes for faster download (111K uncompressed.zip file).
Can I still build a Progress Bar that displays before the .zip file is downloaded?
Ian Macgregor
Ian, Sigh. No. The browser downloads the zip (or cab or jar) file before the appletโs main() gets control. Youโll have to choose between faster download and decent feedback to the user. Regards,
Mark Roulo


