🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.mac
Article #16082

Broken compilers

#16082
From: stew
Date: Tue, 12 May 1987 01:25
61 lines
3721 bytes
In article <746@apple.UUCP> dgold@apple.UUCP (David Goldsmith) writes:
>Well, er, ah, hmmm, it seems that there was this low memory global called
>BasicGlob, which was reserved for use by the system, and System 4.1 is now
>using it (it's been renamed ExpandMem), but, er, uh, ahem, it seems that
>MacTerminal (against our own rules), was USING BasicGlob.  So it is
>incompatible with System 4.1.
>-- 
>David Goldsmith
>Apple Computer, Inc.

Although I don't know if MegaMax was the culprit in this case, this is
representative of a serious problem with some development systems,
particularly MegaMax C and LightSpeed C.

MacTerminal's not the only application broken by the reuse of
BasicGlob.  It seems that MegaMax used BasicGlob to store a pointer to
the Application's globals.  Thus, any application compiled with
MegaMax C is broken under System 4.1.  I don't use MegaMax C anymore,
but the current release version of my program, ChemDraw 1.0, was
compiled with MegaMax and consequently fails under System 4.1.

WARNING: There is another similar disaster waiting to happen.

All programs compiled with LightSpeed C WILL BREAK, GUARANTEED 100%,
when Apple comes out with a 32 bit operating system for the Mac II or
future hardware.  This is true of LightSpeed C versions 1.02 and 2.01.
The problem is that they use a BSET instruction to manipulate Handle
state flags.  Apple has repeatedly warned Developers (e.g., in Tech
Note #2, dated January 21, 1986) that this is a no-no.

DEVELOPERS: Do not distribute programs compiled with LightSpeed C
unless you are prepared to deal with your users complaining that your
program doesn't work when Apple improves its operating system.

TO ALL CURRENT AND POTENTIAL DEVELOPMENT SYSTEM DEVELOPERS: If it is
important for developers to follow the guidelines, then it is
important squared for development system runtimes to follow the rules.
Otherwise, you will make many, many programs break.  Someone somewhere
is going to test your standard disclaimer of liability, and you will
be in for a legal nightmare.

In a way, although I was seriously damaged by it, I am glad that Apple
broke programs which used BasicGlob.  I am somewhat afraid that the
large number of programs which will break will deter Apple from
providing a 32 bit operating system.

Needless to say, I no longer plan to sell programs built with MegaMax
or Lightspeed C.  I hope that the MPW runtimes follow the rules...
It would be nice if the developers of MPW and of new Macintosh
hardware and operating system software could cooperate to head off problems
like these in the future.

I apologize to everyone for all this verbiage, but I AM PISSED at both
MegaMax and LightSpeed for screwing me over like this.  I can only
thank my lucky stars that I discovered the problems with LightSpeed in
time to avoid a costly mistake.

Stew Rubenstein - Harvard University Chemistry Department
                - Cambridge Scientific Computing, Inc.
                - rubenstein@harvard.harvard.edu
                - seismo!harvard!rubenstein
Technical Details
Message-ID: <1953@husc6.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!rutgers!husc6!endor!stew
References: <949@batcomputer.tn.cornell.edu> <746@apple.UUCP>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!rutgers!husc6!endor!stew
From: stew@endor.UUCP
Newsgroups: comp.sys.mac
Subject: Broken compilers
Message-ID: <1953@husc6.UUCP>
Date: Mon, 11-May-87 21:25:44 EDT
Article-I.D.: husc6.1953
Posted: Mon May 11 21:25:44 1987
Date-Received: Thu, 14-May-87 01:44:15 EDT
References: <949@batcomputer.tn.cornell.edu> <746@apple.UUCP>
Sender: news@husc6.UUCP
Reply-To: stew@endor.UUCP (Stew Rubenstein)
Organization: Aiken Computation Lab Harvard, Cambridge, MA
Lines: 61
Keywords: IMPORTANT WARNING LIGHTSPEED C