SI
SI
discoversearch

We've detected that you're using an ad content blocking browser plug-in or feature. Ads provide a critical source of revenue to the continued operation of Silicon Investor.  We ask that you disable ad blocking while on Silicon Investor in the best interests of our community.  If you are not using an ad blocker but are still receiving this message, make sure your browser's tracking protection is set to the 'standard' level.
Technology Stocks : Apple Inc.
AAPL 271.86-1.0%3:59 PM EST

 Public ReplyPrvt ReplyMark as Last ReadFilePrevious 10Next 10PreviousNext  
To: Hugues who wrote (10699)4/2/1998 12:23:00 AM
From: George von Dassow  Read Replies (3) of 213176
 
<<Naive questions about Java and Rhapsody and Apple perspectives>>

I know this wasn't directed at me, but I think I might be qualified to comment of some of this.

<<I understand Java is pretty attractive to a lot of people, working on it, or studying it.

I guess the two reasons are
- portability between platforms
- object-oriented

and maybe a third one:
- agreement on it by all as the next best language for developing programs>>

You can add to that:

1) Java is like C++ for kids. I mean that in the best possible way. I moved all my work to Java after avoiding it for a while ("you mean no pointers?!? how do you DO ANYTHING?" I thought). I spend a tiny fraction of my time debugging. Honestly, it's like 5 or 10 percent now, and it used to be 70 or 80, I'd guess, when I was using C/C++. That is simply because I am a self-taught programmer, whose primary education is in zoology and cell biology, not computer science. BTW, this doesn't necessarily apply to user interfaces in Java; I still need to do a lot of trial and error to make windows look and behave right.

2) Java has great, easy-to-use if simple libraries for a seemingly ever-expanding universe of applications. I hear they just announced a 3D library. I tried to learn Unix socket programming so I could distribute my simulation across a network. I gave up. I tried to do the same thing with Java's network library, and it seemed like a cakewalk in comparison. But I never even used that version, because they soon came out with the remote method invocation stuff that attempts to make distributed computing nearly as straightforward as single-machine work. That's what I'm learning to use now.

<<However, Java is not the only object-oriented language, and a lot of other languages are portable between platform: I suppose c++ is too.>>

Not exactly. C++ can be very difficult to port. Several years ago I had to make some fancy random number generator implementations run on a variety of different platforms, including SunOS, AIX, and NextStep, so that we could use the same library for versions of the same program running on as many computers in our network as possible. Now, these are all unix, right? But no two platforms agreed on the number of bytes in a standard integer, no two had the same time libraries, and on and on and on... it was a headache. For this kind of numerical stuff at least, write once / run anywhere is a reality with Java. And I am familiar with only one other language (TCL) that has even remotely the same kind of cross-platform approach (python may be another but I don't know much about it).

<<For the time being, there seems to be few applications available in Java. The main reason always stated being performance.>>

This is less and less true. My suspicion is that this claim is based on the first generation of Java VMs; according to numerous anecdotes, a lot of companies set up to develop Java applications and found too many bugs, too slow, too much trouble and gave it up, understandably concluding that Java wasn't quite ready yet. The advent of Java1.1 and just-in-time compilation makes up for a lot. And Java-to-native compilers are emerging. I can attest that there are a LOT of slow things in Java, many of them _inexplicably_ slow. The vector class is my favorite. Early on my code used a bunch of vectors ("hey, neato, an array that expands! I think I'll use some!"), and I thought Java was awfully sluggish. Then I did some tests, and found that vector look-up was more than 30 times slower than array look-up. Back to arrays! Another time I re-wrote a single line (it happened to be in the most-called method) in the core code of my simulator to compare integer indices instead of strings, and my whole program literally doubled in speed. No way would you get such a speed hit for a string compare in C++. So in other words, you learn to avoid the slow bits, or cheat (like using look-up tables instead of the Math class' sine method). And one thing is definitely true: different VMs give different results; implementers have a lot of latitude there.

<<And more annoying: Why would people need rhapsody or yellow box if they have java ? And why would developers choose to develop on rhapsody (with Java or open step, yet to be discovered) when they can develop for the java machines of the different OS. Does the yellow box provide more services than a classic virtual machine ? Are they really essential ?>>

I have not seen the Rhapsody developer release, so I do not know exactly what it is. But I am quite familiar with NextStep as a user, though not as a programmer (my University has quite a few Nexts scattered around). Java takes the lowest common denominator approach. I know this is a cliche, but it's absolutely true. It has to in order to be truly universal. As far as I can tell, Sun and JavaSoft really intend for it to be possible to implement a Java VM on literally any modern computing platform, embedded platform, smart phone/microwave/sex toy/whatever. Thus every feature has to be something that any arbitrary device could, in principle, accomplish. The flip side to that is that Java cannot exploit the various features of any specific underlying platform. None of this is true of Rhapsody (or the yellow box, rather), which is specifically targeted to each of an identified group of platforms. Rhapsody thus can take the highest common denominator approach, as I assume it will, if Rhapsody is more or less version 5.0 of OpenStep. In case you have never used a Next, they are nothing like using Java apps. NextStep provides a smooth, complete, rich user environment superior to the mac, to irix, to windows, solaris, anything, in my opinion, whereas working with user interfaces in java feels to me more like the early releases of X11 or windows 3.0. The bottom line is, I suspect, that it will never be possible to write a 100% pure Java program that is as slick and polished as the best Windows or Mac programs. The best it'll be is probably something like the many flavors of XWindows. But that's fine, as long as you don't seriously expect everyone to be running JavaOS boxes that only run 100% pure Java, which I doubt will ever come to pass. There are an awful lot of applications in which portability is more important than slick interfaces, and vice versa.

<<So, from what I have so far understood, Java evolution could really impact Apple future:
- If it does come out, it will reduce Microsoft power and pave the way for a rhapsody alternative
- But it could also make it obsolete (or less needful) by providing the cross-platform development called for by the computer community>>

Cross-platform development can mean a lot of things. In the case of Java, it means literally loading and using the same compiled objects on anything with a Java VM, at least as long as all your devices have the same flavor of Java logo. The Rhapsody Yellow Box, on the other hand, takes cross-platform development to mean that someone can write a unified code base and then compile separately for a lot of different targets, much as I believe the Microsoft Foundation Classes accomplish for Windows 95 and NT.

<<If it is not, it can also be incorporated gradually (and seamlessly) into the macOs, and bring a powerful OS to mac Users. This would stop the erosion of market share and could slowly bring back growth. However, the stock would not go above 30$ before 2 years.>>

I myself look forward to buying my copies of Rhapsody. But I doubt very much that a great OS by itself will turn Apple around. If Rhapsody had been released in November, and we were still waiting for G3 macs, I doubt Apple would have posted a profit last quarter, or be anticipated to do so this quarter, or have the good press it is enjoying lately, etc. The Mac OS has been good enough for the average computer user (business, home, education, you name it) for years, as has been Windows 95. I don't see how there can be any argument about that, since it is undeniable that millions upon millions of people use one or the other or both every day, and are quite productive at it. If you think a great OS alone will make a company, then where's Next? I'll tell you where: people like me who liked it a lot could never afford a Next. Rhapsody can't possibly be more than a piece of the Apple strategy (in fact, I'd be willing to bet that Quicktime is a more important piece in many ways). Instead, Apple's got to make its sales over the next year by making a better box and by advertising it better than they have in the past, and I think they are doing that. I'm happy to see them ditch a lot of stuff to focus on that.

Regards,

- George
Report TOU ViolationShare This Post
 Public ReplyPrvt ReplyMark as Last ReadFilePrevious 10Next 10PreviousNext