[net.micro.mac] Survey: Transition from Lisa to Mac...

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