Jun 95 Dialog Box
|Column Tag:||Dialog Box
By Neil Ticktin, Editor-in-Chief
It Wasnt Supposed To Be Like This
A relative newcomer to the Wonderful World of the Mac (after >20 years in the industry!), I have just read your excellent magazine for the first time. My enjoyment came to an abrupt halt [in the January issue] on page 66, where Chris Espinosa aired a point of view as mistaken as it was bizarre.
Espinosa argues that there is a computer priesthood, which loves complexity, and which, because it controls corporate computing, forces computers destined for home use to be more difficult to use than an elevator. Let me reassure him on the first point: the priesthood has not been an effective force in corporate computing for at least ten years; as soon as large numbers of people were talking to computers via a terminal, albeit a dumb one, then the days of the priest, interceding between the computer and the user, were numbered. What exists nowadays is an under-funded regular army trying to defend a major part of the corporations assets - its data - from corruption by employees, and theft by intruders. The job is difficult and thankless, but essential to the corporations existence. Oh, and by the way, the complexity existed before the computer - most of us corporate computer types are constantly trying to simplify things, not make them more complicated!
The second part of Espinosas argument is, if anything, even more specious than the first; the computer is not difficult to use because it has been designed for the priesthood, it is difficult to use because it does so many different things. A telephone is easy to use: you pick up the handset and you tap the number of the person you want to contact. Sure, but wait a moment: the last place I worked, there was a twenty-odd page booklet telling me how to transfer calls, set up hunting groups, record a voice-mail message, etc. etc. In fact, that damn phone was difficult to use, because of all the functionality, but only twelve buttons and no screen. Espinosa thinks that photo copiers are easy to use! Try making twenty copies of a 100 page single-sided document, when you want the output double-sided, and stapled together. Last time I tried that, I had every secretary in the building clustered around, giving me friendly, conflicting, and incorrect advice. My Mac is my typewriter, fax machine, remote terminal, filing system, billing system, pinball machine and slide projector. The amazing thing is that in every instance, the machine works in very much the same way, and, ... but then, surely, Espinosa cant have forgotten the reason why the Mac was and is such a wonderful beast?
Finally, as a European, I failed to understand how the Colt .45 could be said to have had a beneficial effect on American society - how wild was the Wild West before every loony could blaze away at all and sundry with a hand gun? Is the gun lobby strong at Apple HQ? Is it safer in Redmond, WA?
...but apart from that, I enjoyed the magazine! Best regards
- Martin Jacobson
Sitting On My Bookshelf
Sitting on my bookshelf is a book published in 1976. It put forth the remarkable idea that a good paradigm for an operating system (and the programs written for it) is that the programs should be small efficient tools that can be easily linked together through the operating system. The book, of course, is Software Tools, and the operating system is Unix. However, modern day Unix applications tend to be just the opposite - they are big, all encompassing, and actually quite inefficient if you take into account the changes in processor speed etc.
A number of years ago, a gadfly named Hal Hardenburg (I may have misspelled his name) put out a newsletter named Dtack Grounded. Hal kept making the point that all else being equal, the customer will usually buy the product that is small, fast and efficient, and that the fact that the hardware will eventually get faster isnt an excuse for large, slow software.
It is not just nostalgia of an old fogey that makes me remember the above, but the series of articles in MacTech (on OLE and OpenDoc, on the proper language for people to be programming in, the article by Chris Espinosa It Wasnt Suppose to Be Like This, and some recent software purchases I have made), OLE and OpenDoc seem to be harking back to the original goals of the Unix operating system. However, the descriptions of either technology is extremely complex, and based on the CDs provided recently, are quite large also. Moreover, some software I recently purchased used one of these technologies. These programs are enormous, are total dogs when it comes to speed, and take up tremendous amounts of disk space - a lot of this appears to be associated with the new technology. Not surprisingly, as Mr. Hardenburg surmised years ago, the customer outcry has been deafening. Is this Unix redux - where the final product is opposite the stated goal?
Many of the new products are being programmed in C++ or related programming languages, which we all know is good for us. Better code, fewer errors, faster development time. Just ask Borland, which a number of years ago switched exclusively to object technology. Since then there have been enormous delays in releasing any new product, and the company is in bad financial condition. On the Mac end, just look at the size of the programs that are being released now. Clearly better?!?!
Even more instructive is an article that appeared in the ACM Transactions on Mathematical Software, Vol. 20, number 3, 1994, by A.G. Buckley entitled Conversion to FORTRAN 90: A Case Study. The article describes the effort to reprogram one of his existing FORTRAN 77 algorithms to FORTRAN 90. Mr. Buckley gives a brief overview of the new features of FORTRAN 90. Not surprisingly, most of the new features are similar to features in C++ and other object oriented languages. Mr. Buckley is very enthusiastic about the conversion. However, there are several interesting tidbits hidden away in the article. The first is that while FORTRAN 90 has operators that work on arrays and FORTRAN 77 does not, and as his application has much to do with arrays and matrices this should reduce the code size, the FORTRAN 77 code is just over 6000 lines while the FORTRAN 90 code is over 9000 lines.
The second tidbit is the timings. FORTRAN 90 code is a dog compared to the FORTRAN 77! Mr. Buckley attributes the timings to the immaturity of the FORTRAN 90 compilers, but the FORTRAN 90 code is much slower than a good FORTRAN 77 compiler. The hope is that better compilers will bring FORTRAN 90 so that it is within 25% or so of FORTRAN 77. And of course, better hardware will make up for this loss of speed! All the nice abstraction properties of the new language make for a great routine in theory, but the fact remains that there are two algorithms, both of which accomplish the same purpose, and one is smaller and much faster than the other.
Chris Espinosa made some good points about modern PCs and their operating systems - but he didnt go far enough. The received theology is affecting applications as well.
- Roy Mendelssohn, Santa Cruz, CA
Getting It Off My Chest
So Symantec have finally decided to launch a PowerPC compiler - wow! - and only 18 months too late
Weve been using Symantec C (nee Think C) since 1986. At its inception it was a brilliant move up from the likes of Consulair. However, since Symantec took over, new versions have dried to a trickle and what has come out has been buggy and trivial. It took them over a year to get the C++ in version 6 even half-decent.
Compare this with CodeWarrior. Great compilers, the greatest symbolic debugger ever and enthusiastic staff ready to council customers and implement their suggestions - and, most of all supplied on time.
For those senile enough to remember entire systems written in machine code the reliance on others in the chain to the machine must cause worry - we are now far from our own masters. The introduction of any compiler moves us away from the machine (lets say a foot) and dependent on the compiler for the correctness of the output. The introduction of object programming (say C++) introduces code, inserted by the compiler and interspersed with our code, to determine the relevant object hierarchy - thats another couple of feet (three if your keeping count).
Now objects come into their own when the modern programmer is faced with the ever-increasingly complex GUI, Scriptable applications, diverse communications between other tasks and/or machines, etc. Here, we now rely on the Class Library, again supplied by the manufacturer, to remove a great deal of the pain that all this causes. Thats another twenty feet. (and Im not even considering any aspect of the operating system here - which represents about half a mile). Some, like us, for their sins (or more likely perversion!) extend this so they work inside others environments like Quark or Photoshop - were not considering that either.
That fact is the a working program has to do just that - work, and that, as we have seen, is increasingly dependent on the reliance on the compiler manufacturer to supply timely, solid software. Even without the traumatic change (for some of us) to PowerMac, life in so volatile a period in computings history is difficult enough without a petulant compiler manufacturer that every Mac developer around the world has relied on for ten years.
Well Symantec - its too bloody late. Your tardy notice that we were all screaming for an update for PowerMacs is just not good enough - the PowerMac has been out for 13 months! Every English and U.S. developer that I have spoken with has now moved to CodeWarrior - and they are not coming back. Theyve had enough of updates every two years, buggy compilers and no help at all. And after the C++ fiasco, how long will it be before the PowerMac compiler shows a hint of working
We had a 1.4mb Quark XTension that was part XTension, part application and related drivers that could only be compiled in one piece - so no way with any so called machine code converters. Since it relied on TCL 1.13 we had to upgrade to TCL 2.0 (1.14 if you look at the changes) and then convert across to CodeWarrior. This has cost in excess of £80,000 and halted product development for several months, financially reducing a small company to its kneecaps. We now have no Symantec products on any disks.
If anybody wants to keep their business running get CodeWarrior and dont look back. And MacTech, could we have a CodeWarrior Top Ten instead, specializing in the complex but powerful PowerPlant Class Library? Cos I reckon that otherwise you will shortly be publishing Thinks Only 10
- R. Warren Davies, The Whizz Computing Company