Channels ▼
RSS

Programming Paradigms


Dr. Dobb's Journal February 1997: Programming Paradigms

Michael is editor-at-large for DDJ. He can be contacted at [email protected]


Over the years I have tried, in print here and elsewhere, to follow the evolution of the Macintosh operating system. I haven't written much on the subject recently, because there just hasn't been much to write. This month, though, I face the formidable challenge of writing about the future of the MacOS after it has more or less been pronounced officially dead.

After that exercise in exhumation, I'll be in just the right mood to dig up some more bones from computing's history next month. This month, though, I'm playing devil's advocate by: 1. assuming Apple has a future, and 2. criticizing Java.

Beaten: The System

In the only slightly distant past, just this side of where the mists of forgetfulness drift as thick as my beard and as gray as my hair, I wrote, for a magazine that shall remain nameless, a column that shall be here named "Beating the System."

The system in question was the MacOS, the magazine in question was one dedicated to the Mac user, and in those now-hazy days (though I'm not so sure they weren't just as hazy when we were going through them) the MacOS was a mere rosy-cheeked six-dot-ecks versions old. I share these reminiscences with you not only out of the magnanimity of my spirit but also in furtherance of a point, which I expect we'll stumble over in one of the forthcoming paragraphs.

Earlier, I had done a HyperTalk scripting column for the magazine in question, and later, toward the end of my tenure as a system beater for the mag in Q, the OS in Q turned seven-dot-oh. Time, as is its wont, passed, and so did I, from back-of-book system-beating columnist to front-of-book eponymous columnist and later from FOB eponymist to BOB Internet traveler, making in all four columns for the same magazine. The more things change, long-time readers must have thought, the more they remain this Swaine. I checked in with Time the other day to see if it was done. It wasn't, but it did have some interesting news. The MacOS was still holding at seven-dot-ecks, Time said, and was expecting to hold there for a while yet. Version eight was, well, in question. In fact, dead. Trashed. Thrown into the binhex of destiny, Time said, by which I understood it meant the dustbin of history. Time's a little dyslexic. Meanwhile, no system nine-dot-oh is revving toward betatude, no bright young understudy from R&D awaits its chance at stardom, no MacOS95 or MacOSNT trembles in the wings, anxious to leap onstage like Booth from the box to cry "Sic semper tyrannis, Bill G_!"

If I have limned this sketch clearly, you should see that as of the precise moment in question (the moment previously identified as "the other day"), Apple had no Macintosh operating-system future. None. This is, I think you'll agree, an interesting position for a computer company to be in. I make a point of clarifying the position because of the remarkable electric shock that went through the entire Mac-observing community when the news came out last fall that Apple was going to replace the current aging operating system with a new one -- here comes the good part -- written entirely from scratch.

Truthfully, I can't speak for the entire Mac-observing community. An electric shock went through one Mac observer, namely me, on hearing the news.

And it shouldn't have. As an old system beater from way back, I should have been better insulated. This news flash shouldn't have shocked anyone. After all, what options did Apple have? To declare operating systems obsolete? I suppose that thought has crossed the minds of the members of the OpenDoc team. If Steve Jobs were still CEO, that might look like a real option.

However, immediately on the heels of this from-scratch story came the denials. Yes, Doctor Amelio had said something like that, but no, Apple wasn't really going to design and write its next operating system utterly from scratch. Doctor Amelio was just making some general observations about how operating systems are developed. Generally.

We Could Have a Contest

Apple's flurry of announcements and clarifications left certain details regarding this future MacOS unspecified, such as its features, nature, source, and release year. No doubt Apple will flesh out its plans somewhat someday.

Meanwhile (a technical term from the jargon of publishing, meaning "between the writing of this column in my temporal reality and the reading of it in yours"), it would be silly to try to critique this operating-system-to-be. But it would be fun to offer Apple our suggestions. This is something that we Apple observers do. We Windows watchers (momentarily changing hats here) do it too, but we don't expect Microsoft to listen to us. We Apple observers not only expect Apple to listen to us, we expect Apple to do what we say. When the company doesn't follow our advice, we get mad. We are actually Apple Kibitzers.

Anyone can be an Apple Kibitzer. It doesn't cost anything and it's fun.

Care to join in?

Let's tell Apple what we think it should do about its unannounced future operating system. It could even be a contest: Design a new operating system for Apple. (I don't know who'd give out the prizes, though.) I'll start, since I have the talking stick. Apple probably will have left a few details unspecified even in your temporal reality, so you should be able to join in. If not, in the unlikely event that Apple has already shipped the first developer release of a new OS by the time you read this, you can compare my suggestions to the reality.

Be All That You Can Be

As I write this, January's MacWorld Expo is shaping up to be a real Be-in. BeOS, the operating system, is getting more pre-show attention than Apple or any of its third-party partners.

At first glance, this may seem odd. BeOS is the software that runs on the BeBox, the computer announced in 1995 by Be Inc., the company started by former Apple products division president Jean-Louis Gasseé in 1990. The BeBox and BeOS were created to do an end run around existing operating systems and were designed from the ground up to support object-oriented rapid-delivery development in a truly modern operating system. Commendable goals, to be sure.

But the BeBox has hardly taken the world by storm, and most articles about the company and its hardware have tended to use the word "quixotic" to describe Be Inc.'s attempt to stake out its own platform niche in a market that gives at least some indications of having room for only one platform. But BeOS is very interesting to Apple watchers because it is a state-of-the-art operating system, and it runs on PowerPC hardware. In fact, it runs on the Macintosh.

In fact, Apple's hottest licensee, Mac-clone maker Power Computing, has licensed BeOS to offer on its hardware.

In fact, Apple has been negotiating to license BeOS, and rumors have been rampant that:

1. BeOS will be the next MacOS, or

2. Apple will use a licensed version of BeOS to develop its own new (from scratch?) OS the way Microsoft developed the original version of Windows from a Mac system-software license, or

3. something else.

Grafting BeOS onto the elements of system software that Apple would have to keep (if for no other reason than that BeOS doesn't have them) would use up several rolls of masking tape, but it would be a massive PR band-aid for Apple's scarred, battered, and bleeding system-software image. And what BeOS does supply is pretty nifty.

MacOS has what Apple calls "cooperative multitasking." It has a crude, slow virtual-memory system that requires the user to set the size of the VM partition and reboot on changing it. It has no memory protection, and no hardware abstraction layer, so Mac users get to install various system enablers to customize the OS to their hardware. BeOS, on the other hand, has true preemptive multitasking, a modern virtual-memory system, solid memory protection, and a hardware abstraction layer that made it relatively easy for Be to port the OS to Mac hardware. BeOS supports symmetric multiprocessing (on two processors), has a snappy multithreaded user interface, and is fully object oriented, none of which can be said for the current MacOS. Nor, and here's the real point, can it be said for any operating system Apple had ever even planned to ship in the next couple of years. BeOS is only in beta release now, but it is a better operating system than Apple has any hope of shipping in this century without going outside the company.

So I'd say that Apple could do worse than to embrace BeOS.

Exactly how that would work, both technically and financially, is a question that I will gladly leave to Apple and Be. But if Apple does embrace BeOS, it will be quite a coup for Gasseé and company. Among other things, it will mean that Be Inc. will go from having practically no applications that run on its hardware to inheriting the entire Mac application universe.

Talk about a killer Be app.

The Quick and the Dead

That's my recommendation, Apple. But if you don't like it, there are other options.

As long as you're considering going outside the company to companies started by former Apple employees, how about General Magic? Their new Rosemary operating system is designed to run on RISC hardware. But then, if you're going to consider a PDA OS, you don't have to leave home: You could just scale up the Newton operating system (or am I supposed to call it "Newton Intelligence?"). Version 2 of the Newton OS is pretty nice. Alone among broadly used operating systems, it eschews the file metaphor, a virtue that could make Newton-based machines accessible to a broader audience than PCs enjoy.

Crazy idea, right? But currently Sun and Microsoft are putting significant efforts into producing, respectively, Java-based operating-system implementations and versions of Windows for smaller and smaller devices. As Microsoft struggles manfully to scale down to PDAs and telephones and watches, maybe you steal a trick by starting with an OS designed for a funky little device to begin with.

Crazy idea, right? But the latest Newton models are testing the boundary between PDA and computer. The Newton 2000 might be everything some people want in a portable computer, for under $1000.00. 162-MHz processor, 1.4 pounds, runs 24 hours on a charge, 480×240 screen with 16 gray levels, and more bundled software than an Osborne 1. Okay, the keyboard is an option, but at least you can get one. And the eMate, designed for school kids, about half the price of a 2000 if purchased in volume (keyboard included), could be all a schoolkid needs in a portable computer. If these machines catch on, maybe Apple should scale the Newton OS up to the Mac line. Or just scrap the Mac line and sell Newtons.

Neither seems likely. Some other scenarios seem neither likely nor appealing. One option would be to graft the Mac GUI on top of NT. That hardly qualifies as a crazy idea, but to those of us who see Apple's only role in the computing universe as being the grit in the bearings of the Microsoft juggernaut, the idea seems unthinkable. I choose not to think about it, anyway.

Of course, inertia always favors continuing with the current plan, or, in the case of Apple today, the current lack of a plan. In this scenario, Apple trickles out minor revs to the OS for the rest of its independent corporate life, charging for them whatever the traffic will bear. If the OS in the Mac is dead, the media level is quick -- Quicktime, Quickdraw, and their quick spawn manage to evolve with the times, span platforms, and stay near or at the cutting edge of hot technologies. Too bad you can't turn such system technologies into an operating system. I'd hate to see Apple give us a replay of IBM in 1982: You get to choose your operating system. Fortunately, since they don't have one, they aren't really in a good position to offer choices.

At last spring's World Wide Developer's Conference, new Apple boss Gilbert Amelio, referring to Apple's financial and other crises, predicted that we would wonder a year from now what all the fuss was about. Do you suppose he meant we'd forget all about past disasters in the face of present calamities?

Java Will Rot Your Teeth

The developer of a HyperCard-like environment for UNIX (I'd better pause for a moment to let you get your mind around that fairly bizarre concept) has brought together what looks like every argument he could think of for why Java is bad, bad, bad. You can read his cogent caveats on the Java hype machine at http://www.csn.net/MetaCard/java .html. Or you can read my summarization, annotation, and augmentation of them here. Some of the following ideas are his, and the rest came to me in a dream. Here are ten reasons why Java is bad for you:

1. We don't need another C++. One is bad enough.

2. It's too stripped down for many programming purposes, the legacy of being designed originally to run on smart toasters or something. Needed or desired features may be added on later, but having the right features designed in from the start is the way to go.

3. Multithreading is a pretty obscure feature to include considering the things left out.

4. Multithreading will rot your teeth.

5. Java is slow.

6. It'll never be fast. Without explicit memory management and the use of pointers, Java can never match C for fast executable code. And it's interpreted, so the user has to wait for the interpretation phase to see the application or applet execute. Just-in-time compilation doesn't help.

7. Most of Java's alleged virtues (portability, ability to deliver functionality over the Internet, ability to screen code for security purposes) come from its being interpreted. Other interpreted languages have or could easily have these same virtues and are at the same time easier to program in than Java. Some interpreted languages also have large libraries to draw upon to speed development. We don't need another Basic.

8. The development environments currently available leave something to be desired.

9. How open a standard is it when a run-time environment license costs $125,000? And when Sun controls the development of the language? And licensees are required to turn any improvements they make over to Sun?

10.In the late 1990s, what we need are more and higher high-level languages that can speed development of more powerful, media-rich applications and that can call upon compiled routines written in an efficient low-level language when they need to. We don't need another C.

That's the list. Presented for your perusal in the spirit of devil's advocacy, and not necessarily reflecting the views of the management. Personally, I like Java. But I do believe it might be just a tiny bit overhyped.

DDJ


Copyright © 1997, Dr. Dobb's Journal


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.