Saturday, February 27, 1999

Macworld, Microsoft Woes, Handbook of Programming Languages

This article appears in slightly different form in the January/February 1999 issue of IEEE Micro © 1999 IEEE.

January in San Francisco means it's Macworld Expo time again, and I made my annual pilgrimage. January also means trying to recover from my annual revamp of my computer systems. Despite that effort and all the distractions of the holidays, I did find time to look at an amazing set of books.

Macworld Expo

Last year I wrote about how encouraging Macworld expo was. Long ago most of my work moved to the PC, but Steve Jobs made me feel glad that I had bought a new Macintosh. It was the same this year, only more so.

Macintosh users are loyal. Their numbers have declined over the years, but the ones who remain are nearly unshakable. All they need is a plausible excuse to hope for better times. This year's excuses are more than adequate.

In his keynote, Steve Jobs focused on Apple's desktop and server business. Reports of exciting new portables remained just reports.

Since releasing its entry-level machine, the iMac, in August, 1998, Apple has sold more than 800,000 of them, giving the Mac its first solid gain in market share in a long time. Jobs announced a faster processor, a larger hard drive, and a lower price, but he saved the most important announcement for last. The iMac now comes in five yummy colors: strawberry, lime, blueberry, tangerine, and grape. "Collect the whole set!" Jobs urged. They really are beautiful -- and apparently the result of much plastics research. I picked up a free full-color poster of them instead.

The Mac has a long uphill battle to regain anywhere near its early success. Much of the computing world has standardized on the PC and Windows, but Apple is using standards to help it come back. The Power Macintosh G3 line has done well, but Jobs rolled out a reinvented version that had his huge audience cheering wildly. The new G3 Macs have FireWire and USB ports, high-speed PCI slots, and ethernet. Apple has also licensed the OpenGL 3D graphics platform from Silicon Graphics. With an inexpensive software adapter, the new Macs can also play game CDs designed for Sony Playstations.

Apple has worked hard to give the G3 Macs superior graphics, and Jobs showed some impressive Photoshop and game benchmarks against 450 MHz Pentium machines. What impressed me the most, however, was the door. The case has the system board on the inside of one of the sides. A simple latch allows you to open the door and fold out the board. Everything you might want to get to is right there, easily accessible (but you can lock it if you need to). It's breathtakingly simple, and such a good idea, that I can't imagine why nobody ever made one like it before.

I have never seen a Steve Jobs show that wasn't exciting -- even when it was about something as ultimately insignificant as launching the Wingz spreadsheet on the Next machine (I still have my "Wingz World Tour" jacket). Jobs' keynote was long, but there were few letdowns. One announcement showed that Apple is committed to the thin client model -- an obvious winner in the education market, for example. Jobs showed a G3 Mac running Mac OS X server, a Unix system based on the Mach kernel. This system supports booting from the network, and he illustrated this by bringing out a rack of 49 diskless iMacs, booting them all from the server, and running different Quicktime movies on them simultaneously. Jobs didn't spell out the thin client story, but it's clear that Apple intends to be in on the big growth areas of the next decade.

Why Microsoft is Hard to Love

The subject of my January/February 1992 column was how I spent my vacation. Back then I had just spent nearly $500 to upgrade my Mac SE-30 from 2 mbytes to 8. This year I spent not too much more than that to upgrade one PC from 32 mbytes to 128 and another from 64 to 288.

Back then I upgraded my Mac SE-30 to System 7. This year I installed an ethernet network to connect my Power Mac 8600 and two of my PCs, and I upgraded my Mac to OS 8.5. I tried to find some single or dual-boot combination of Windows 98, Windows NT 4 Server, and Windows NT 5 beta Server or Workstation that would work with my PCs and their largely, but not entirely, plug and play peripherals.

I installed OS 8.5 with no trouble, but my Windows attempts have yet to pan out. After a great deal of trouble I managed to get my PCs working (on Windows 98) almost as well as they did before I started. But I learned a lot, and I expect to do better on my next attempt.

As I've said many times, I'm far from being a Microsoft hater. Microsoft software is amazingly powerful, and it keeps getting better. But even Microsoft can't keep up with the furious pace of change and competition in the industry. Like everyone else, they rush bug-filled products into the market in an attempt to stay on the cutting edge. While they invest huge sums in attempts to make their products easy to use, even helpful, they just can't seem to make them simple.

I am not a naive user, but I find the task of installing or upgrading Microsoft software to be a mine field. Partially present programs clutter my disks but defy removal. Mystifying error messages leap out at me. Devices and drivers don't quite match. Printing, scanning, fonts, graphics -- all work well most of the time, then fail mysteriously at inopportune moments.

There is a huge opportunity here. If someone can provide simplicity, reliability, and guaranteed usability, they can make a big dent in Microsoft's monopoly.

There! Now that I have that off my chest, I can go back to trying to install Windows NT on one of my PCs. In the end I'll be happy with it.

Handbook of Programming Languages

For one of my recent projects, I had to understand Tcl/Tk quickly. I didn't need detailed knowledge, but I needed good information quickly. I turned to the Handbook of Programming languages. This review isn't about Tcl, but if you have anything to do with developing CAD software, you ought to find out about it. Check out

Handbook of Programming Languages, Peter Salus, ed (Macmillan, Indianapolis IN, 1998, 2432 pp, 4 vol,, ISBN 1-57870-008-6, 1-57870-009-4, 1-57870-010-8, 1-57870-011-6, $49.99/volume)

Peter Salus is a linguist and an author of computer books. He has been executive director of USENIX and the Sun User Group, and vice president of the Free Software Foundation. For ten years he was managing editor of MIT Press's Computing Systems. The 38 authors of articles in this handbook are a Who's Who of programming language design: Adele Goldberg on Smalltalk, James Gosling on Java, Bjarne Stroustrup on C++, Jon Bentley on little languages, Brian Kernighan on eqn, Bertrand Meyer on Eiffel, and many, many more.

The aim of the Handbook of Programming Languages is to provide a single comprehensive source of information for computing professionals about a broad range of programming languages. It achieves that aim. The handbook combines reprints, derivative articles, and original work, yet it keeps a uniform tone -- simple, clear writing about relatively arcane topics.

I haven't read every word of this handbook, of course, but every time I've turned to it, I've found what I wanted. It's comprehensive, well organized, and well written. If you work with programming languages, it belongs on your shelf.