mugc@utecfa.UUCP (ModemUserGroupChairman) (08/21/86)
I was not planning on posting the results of my survey because I didn't think too many people would be interested. Well, I was wrong :-) So here it is: ------------------------CUT------------------------------------------------ The original question that I posted: ------------------------------------------------------------------- Hello all. We (where I work) do some software development for the Macintosh. As such, we are registered Apple developers and we develop software using 2 lisa's and the Lisa Workshop development environment. As many of you know, Apple is offering a chance to trade-in a Lisa for a Macintosh-Plus with 20M hard disk (after paying $2400 Cdn). We are reasonably satisfied with the dev. system on the Lisa, but nevertheless are considering the trade-in offer. I know that many people out there develop software on the Macintosh using 3rd party compilers. In order to decide whether or not we should make the transition, and in order to make the transition as painless as possible, should we so decide, I would appreciate it if those out there would answer some of my questions. 1. The Lisa Workshop, as I understand, runs the 68000 in user mode. This makes error recovery in case of crashes safer than on the Mac. This is important for a dev. system because crashes waste a lot of time in rebooting. And also, after an hour of editing, you don't want an Id 28 bomb (stack and heap collision)! Do any dev. systems on the Mac do this, or in some (other) way make recovery possible. 2. How good are the C compilers out there? I am interested in: a. full toolbox support. b. full Kernighan and Ritchie C c. Reasonably fast compiles d. Good code (tight and fast). e. Compatiblity with Workshop Linker and RMaker if possible. 3. How good are the dev. systems. Ie., are the following present: a. Nice command line or menu-driven environment. b. Lots of good dev. tools, such as diff, grep, make etc. c. Provision for running the resulting program from within the system in such a way so that program crash does not crash the dev. system 4. How good are the Pascal compilers on the Mac? I'm looking for: a. Pascal compilers which will compiler ANY (within reason) program which compiles on the Workshop b. Pascal compilers which link with toolbox linker (if I need to). c. ,, ,, ,, output fairly tight code. 5. Finally, if anyone has made the transition from Lisa to Mac/+, would you like to share your experience? Thanks for going through this rather long posting. I imagine there are others interested in this as well, if I get enough replies, I'll condense them and repost to the net. Also, if we do make the transition, I'll post our experiences. Appreciatively, Anees Munshi. Advanced Systems Technologies, Honeywell Information Systems Ltd, 515 Consumers Road, North York, Ontario M2J 4Z2. (416) 492-0770 The only net address I know: @ University of Toronto Engineering Comp. Facility :A {allegra,ihnp4,linus,decvax}!utzoo!utcsri!utecfa!mugc {ihnp4|decvax|utzoo|utcsri}!utecfa!utecfb!munshi ----------------------------------------------------------------- Answer #1: MAC-C from Consulair Corporation. 1: MAC-C (version 4.52) runs in the supervisor mode. > 2. How good are the C compilers out there? > I am interested in: > a. full toolbox support. > b. full Kernighan and Ritchie C > c. Reasonably fast compiles > d. Good code (tight and fast). > e. Compatiblity with Workshop Linker and RMaker if possible. (willc@tekchips (William Clinger) and kff@kesmai (Kelton Flinn) write:) 2: a. Mac C has full toolbox support, all the ROM calls WITHOUT glue routines. It understands HFS. b. I don't think Mac C is full Kernighan and Ritchie, but I don't know K&R well enough to point out any differences. The biggest problem for Semantic has been the substitution of a nonstandard CatchSignal/Signal for setjmp/longjmp. I don't think setjmp/longjmp is in K&R, however. c. Mac C has three passes, including assembly. It's no speed-burner but it's bearable unless you're using floppies. d. I can't say that the generated code is particularly tight or fast, but ... the code isn't much worse than code generated by the Berkeley Unix compiler and is probably better in some ways. [some stuff deleted at request] ... The compiler does generate absurdly large stack frames. I think this is related to the 80-bit floating point, and may be fixed in more recent versions. e. I believe Consulair wrote the Workshop Linker, but the new Mac C linker is better. I'm pretty sure they maintained backward compatibility. We use Mac C with RMaker. >3. How good are the dev. systems. Ie., are the following present: > > a. Nice command line or menu-driven environment. > b. Lots of good dev. tools, such as diff, grep, make etc. > c. Provision for running the resulting program from within > the system in such a way so that program crash does not > crash the dev. system (willc@tekchips and kff@kesmai reply:) a. Mac C is menu-driven. b. Mac C has none of the three except for an exec facility, which will compile and link your entire application but I don't think it will do it selectively like make. (I haven't used exec.). However, for an additional $100, you can buy diff, grep, a profiler, and "SuperMake". I [kff@kesmai]have done a fair amount of hand-optimization of critical routines in assembler. The profiler utility came in very handy there, it by itself was worth the extra $100. c. Macsbug will trap most errors. Perfect protection is impossible on the Macintosh unless all pointer and array references are checked at run time, et cetera. ------------------------------------------------------------------- I myself have acquired and used the Beta version of MPW (Macintosh Programmers' Workshop) on a Lisa running MacWorks. We have used the Pascal compiler and the tools provided with it a fair amount, so I am in a position to make comments on it. I have NOT seen the MAC-C system (previous review), so can't say how MPW compares with the MAC-C development environment. I have also not been able to get the C compiler on our copy of MPW to work, but then I have not had a real use for using it yet (our application is all pascal code) and so have not looked into getting a fix. 1: MPW is also a supervisor mode system. Crashes are fatal unless your program uses a restart procedure (ours doesn't). I have not tried running the debugger, so I can't really say anything about that either. 2: I have not really used the C compiler (since it doesn't work :-), but I have read the documentation and it looks good :-> 3: Here the MPW really wins. a. There is a nice command line interface. The command interpreter has a syntax very much like the Unix shells, however deliberate and studied care was taken to make it look as different as Unix as possible, at least on the cosmetic level: For instance, instead of the back-slash escape character, the greek lower-case delta is used; instead of the "*" wildcard character, the <approximately-equals> symbol was used! b. All the standard tools such as cat, ls, cmp, diff, grep, make etc have been provided. Here again though, all the names have been deliberately changed so if you are used to using Unix you might like to set up aliases in the start-up file to map all the MPW names to the more familiar Unix names. I haven't used their make, but I believe the syntax might be a little different. c. There is a provision for running programs from within MPW. Running programs like Macwrite and Macpaint is fairly safe, but debugging from within MPW may not be the healthiest thing on earth. Having 2 Macs is definitely useful. General remarks: The MPW shell is really quite powerful. The system also comes along with a number of utilities and these utilities work. For many of the shell-commands, there are menu equivalents, often with function-key equivalents so there are often a number of ways of doing a single thing. The shell is merged with an editor so cutting and pasting is also possible within the worksheet (commands window). This allows you to easily edit commands to correct typos etc. The editor is somewhat like the Lisa development system systems editor except that it does not have markers -- real let down. Otherwise it is fairly complete and more polished than most of the editors I have seen on the Mac. 4: The MPW pascal compiler is very compatible with the Lisa Pascal workshop. a. The compiler will compile ANY program written on the Lisa as long as the program on the LISA does not push the limits of the Mac such as in global data size, procedure size and segment size. b. The MPW linker is quite different from the Lisa Pascal linker. However, object files can be converted to the Mac format from the Lisa format. c. The code produced does not seem to be as tight as the Lisa's code, but the difference was not more than about 15% or so. 5: Finally, if there are any further questions on the MPW environment that you would like to ask me, just go ahead and mail! Regards, Anees Munshi. Advanced Systems Technologies, Honeywell Information Systems Ltd, 515 Consumers Road, North York, Ontario M2J 4Z2. (416) 492-0770 The only net address I know: @ University of Toronto Engineering Comp. Facility :A {allegra,ihnp4,linus,decvax}!utzoo!utcsri!utecfa!mugc {allegra,ihnp4,linus,decvax}!utzoo!utcsri!utecfb!munshi