The other day I read a short article at Microsoft’s Mac Mojo blog that revealed that the Mac version of Office contained some 30 million lines of code. And that’s now, while they are still creating the next version of the productivity suite. You can expect that awesome number to grow by leaps and bounds before all the work is done.
At the same time, they’re promising that they’ll deliver good performance in both the PowerPC and Intel versions. For the sake of argument, I’ll accept the fact that the crew at the Mac Business Unit are really trying to build good software. In fact, my impression is that they are quite dedicated to their jobs, and are really enthusiastic about Macs. They aren’t just there for window dressing, because Microsoft makes a nice profit from Mac software. Too bad there isn’t more of it.
But the sheer bulk of their code base only demonstrates a microcosm of the problem in the industry. Some years ago, I read an article in the late, lamented Byte magazine talking about how faster processors and speedier hard drives with greater and greater capacity combined to make programmers careless. In the old days, they had to make the code tight and fast, because storage devices and processors were slow. As things sped up, they didn’t have to optimize their software quite as much. That, and the need to add features to entice you to buy regular upgrades, created these sprawling programs that are monumental resource hogs.
So you shouldn’t be surprised that almost every new version of an application seems to perform slower than its predecessor on the same hardware, particularly if you have an older computer. So you are forced to consider buying a competitive product — if one is available of course — which may suffer from the same shortcomings, or rush out and upgrade your Mac to the latest and greatest.
Yes, it’s a vicious circle, and I suppose you might even attribute it all to a conspiracy on the part of hardware and software makers to force you to upgrade.
Of course, I suppose you might expect this of a computationally intensive rendering application, which must process audio and video. As more and more capabilities are added and enhanced, you can perhaps understand why an application’s resource requirements will also increase. But a word processor, a spreadsheet? A desktop publishing application?
Should it really require a supercomputer to move and display text on your screen? You could do that in the 1980s with reasonable speed on hardware that had only a fraction of the power of today’s dual- and quad-processor behemoths.
So are programmers just becoming lazier and lazier, letting the hardware substitute for good development practices?
Well, as most of you know, I am not a programmer and I don’t play one on TV. I don’t pretend to know all the intricacies of building a sprawling application with hundreds of powerful features and state-of-the-art sophistication. I am sure some will weigh in that I just don’t understand why things are the way they are, and perhaps building portable code that runs on many processors and operating systems has its tradeoffs. No doubt.
I’m also sure that lots and lots of those developers will tell us about the incredible tools they’ve created that do run well on older Macs, and about all the optimization work they’re doing to make them use as little memory as possible. True, there are lots of smart applications out there that do seem surprisingly adept without being resource hogs.
At the same time, whenever I launch certain applications on a computer with two or four processors, scads of memory, and the fastest hard drive available, I wonder why long seconds pass by before the lumbering beast gets up and running. I wonder why even the most basic tasks produce spinning beachballs and deliver dialogs that seem to be drowned in quicksand.
What have we lost over the years, and how many care about reclaiming it? In fact, does it really matter. All you have to do is buy a new Mac, and everything will be right with the world again, or will it?
| Print This Article