Article View: comp.sys.mac.oop.macapp3
Article #294Re: Defections from BedRock?
From: John Nagle
Date: Thu, 21 Jan 1993 17:37
Date: Thu, 21 Jan 1993 17:37
67 lines
3865 bytes
3865 bytes
Michael D. Rossetti <mikey@wicat.com> writes of increasing software quality
as being impossibly expensive.
This is not correct. Techniques for producing reliable software
are known. Techniques for quality control are well-understood.
The Mac, though, is not a good platform for reliable software,
for a number of reasons:
- When a program fails in an operational environment, all data as
to what went wrong is lost. Properly, failure info should be
saved, collected, and used for collecting information on defects
and for statistical quality control. The Mac discards everything
when an error occurs. (Yes, you can run with a debugger installed.
But this is not particularly useful when a commercial product fails.)
Good data collection for a large user population would make
the product quality problem very visible to a vendor. It could
then be fixed, rather than ignored. With most Macs now
equipped with either a network connection or a modem, such
reporting could be made effortless for the user.
- The system is "brittle", in that incorrect parameters to system
calls can result in system errors. (This is not true of UNIX,
and even DOS is better about this.) This causes errors to be
more ambiguous than they need be. It's not clearly set out
what the entry conditions (the assertions that must be true
for the operation to succeed) for each system call are,
at least not in the original Inside Mac series. So blaming
the application programmer for not obeying them is inappropriate.
- C, and C++, are not "safe" languages. Yes, they are popular.
But you can't make any strong statements about a C or C++
program just because it compiles. Compare Pascal or Modula.
There's an extensive literature on this subject, and that's
enough to say here.
- The Mac is not a protected-mode system. Enough said.
- The use of "trap patching" results in interdependencies
between programs which continually cause problems. The
whole "system extensions" concept is flawed. Interdependency
between INITs remains a serious problem, managed via a
ritual-taboo culture ("don't use X with Y; we don't know why,
but it won't work").
- In theory, an object-oriented environment could encapsulate
many of these issues. But the existing OOPs for the Mac do
not seem to increase the level of safety provided. This is
the real OOP issue here.
Many of these criticisms can also be made of DOS, but it's worth noting
that OS/2 (with "Crash Protection (tm)") and NT address many of these
issues. So does UNIX.
I know I'm going to get hate mail. Some people worship the Mac.
I like the box; the esthetics are great, the GUI is excellent, and the
human factors have been well thought out. But there's a mess inside.
Major compromises were made to cram the original system into 128K,
and it still shows. (Compare the Lisa, which had a multitasking, protected
mode OS, in 1982. The Lisa was a better machine than the Mac; it just cost
too much in 1982, and in fact, the Mac wasn't that useful until Macs
appeared with Lisa-level hardware: 512K and a hard drive).
I'd appreciate comments from people who have programmed for a variety of
platforms.
John Nagle
Technical Details
Message-ID:
<1993Jan21.173741.7225@netcom.com>Path:
arc1-ca.pugleaf.net!sparky!uunet!charon.amdahl.com!netcomsv!netcom.com!nagleReferences:
<9301171603.AA56221@chaos.intercon.com> <1993Jan20.163209.10328@wicat.com>Show Full Headers
Complete Article Headers
Newsgroups: comp.sys.mac.oop.macapp3 Path: arc1-ca.pugleaf.net!sparky!uunet!charon.amdahl.com!netcomsv!netcom.com!nagle From: nagle@netcom.com (John Nagle) Subject: Re: Defections from BedRock? Message-ID: <1993Jan21.173741.7225@netcom.com> Organization: Netcom - Online Communication Services (408 241-9760 guest) References: <9301171603.AA56221@chaos.intercon.com> <1993Jan20.163209.10328@wicat.com> Date: Thu, 21 Jan 1993 17:37:41 GMT Lines: 67