Vladimir Z. Nuri wrote: [...]
you don't get it, as others have pointed out repeatedly. you conveniently ignore Frantz' points about the well-known difficulties of porting C. there is a big difference in what is conneted by the word "portable". if it take a zillion different makefile rules to create the "same" program on different machines, is that "portable"? isn't that defeating the purpose somewhat? c is "sort of" portable. it is "in theory" portable. Java is portable "in theory and practice".
This point is simply not true, at least for Java as it exists in Spring 1996. Almost every Java applet I've seen has little UI glitches that prevent it from displaying and operating correctly on all platforms. Further, there are little glitches in the language implementation and library design that often cause portability problems. For example, the first cut of Hal's PGP applet had the standard UI problems, plus the fact that a "spinner" thread caused the entire browser to lock up -- on Unix, but not on Windows. And this was a 5000 line of code applet. Hal was able to fix the problems, but it's easy to see how the effort involved in this "portability engineering" could become comparable to your thousand-line makefile as applications scale up. The promise is there, but Java has not yet delivered. Another concern with Java is that it acheives portability at the cost of enforcing a lowest common denominator. For example, all real Windows applications support OLE, and all real Mac applications support Apple Events. Java applets, and even applications, can't do either. To me, that makes the accomplishment of portability a bit less impressive, even if it were so. Raph