Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!apple!keith From: keith@Apple.COM (Keith Rollin) Newsgroups: comp.sys.mac.programmer Subject: Re: MPW 3 - why bother? Message-ID: <47967@apple.Apple.COM> Date: 11 Jan 91 01:11:32 GMT References: <1991Jan10.222325.2753@fennel.cc.uwa.oz.au> Organization: Apple Computer Inc., Cupertino, CA Lines: 54 In article <1991Jan10.222325.2753@fennel.cc.uwa.oz.au> a_dent@fennel.cc.uwa.oz.au writes: >Some time ago I replaced the terminal emulation in NCSA Telnet (2.2) with >Freedom One. This was using the MPW 2.02 environment. > >I was recently asked to do some fixup work, this time using MPW 3.1 (the client >bought a new MPW - the old one belonged to a different company). To my >utter horror (on a fixed-price contract that's *UTTER HORROR*) the changes to >make MPW C ANSI compliant have far-reaching effects and we've just about >given up on converting to MPW 3. (Waiting on a version that some poor soul >has already converted, to see if worth re-applying my original changes). > >On enquiry, it seems that even the latest version from NCSA is still >compiled with MPW 2.02 and I just tried compiling with MPW 2.02 today under >System 6.07 with no ill effects. > >So, why change????? > >Just WHAT deadly, dark, evil incompatibility is lurking around the corner >if we fail to convert this code to MPW 3? > >MPW 3 - JUST SAY "NO" >(unless someone gives me a very good reason ;-) ) There are many reasons for changing. Whether or not they are good is up to you. Internally, one of the biggest reasons for our coming out with a 3.0 compiler was that we needed control. The previous C compilers were written by Green Hills, and we had no control over them. We didn't even have the source code. Whenever a bug was reported, we had no way of tracking it down or fixing it. This lack of control also extended to enhancments. For instance, we wanted an ANSI compliant compiler. We also wanted C to support the SADE symbol format. Neither of these enhancement could be made without a 3.0 version. From your point of view, the best reason for converting to 3.x would be when you wanted to program for some part of the system which was added after MPW 2.0.2 was released. For instance, you wouldn't be able to do any programming for 7.0 without an up-to-date set of interfaces and libraries. Also, support for SADE symbols is handy if you want to do source level debugging with either SADE or Jasik's debugger. The 3.x compiler is also better than 2.0.2 with regard to code generation and error detection. You get better error message closer to the actual error, warnings on variable usage, and code that is more optimized. -- ------------------------------------------------------------------------------ Keith Rollin --- Apple Computer, Inc. --- Developer Technical Support INTERNET: keith@apple.com UUCP: {decwrl, hoptoad, nsc, sun, amdahl}!apple!keith "Argue for your Apple, and sure enough, it's yours" - Keith Rollin, Contusions