[comp.sys.mac] Macintosh Programmer's Workbench

ehrlich@psuvax1.UUCP (Dan Ehrlich) (12/02/86)

In the latest issue of MACWORLD is an article about the "Macintosh Programmer's
Workbench".  I am assuming it is from Apple.  Does anyone have any insights or
comments on this product?  Thanks in advance.


--Daniel Ehrlich
UUCP:	  {burdvax,cbosgd,cmcl2,pitt,ihnp4}!psuvax1!ehrlich
CSNET:	  ehrlich@penn-state.csnet	USPS: The Pennsylvania State University
INTERNET: ehrlich@psuvax1.psu.edu	      Department of Computer Science
BITNET:	  ehrlich@psuvax1.bitnet 		  333 Whitmore Laboratory
BELL:	  +1 814 863 1142				  University Park, PA   16802
Quote: "The sky is blue so we know where to stop mowing."  Judge Harold T. Stone
Disclaimer:	The opinions expressed herein are my own and do not reflect the
			opinions, or policies, of The Pennsylvania State University or the
			Department of Computer Science.

tim@hoptoad.uucp (Tim Maroney) (12/05/86)

I have been using the Mac Programmer's Workshop since this summer and am
very pleased with it.  I have previously done extensive development work on
the Mac in Lisa Pascal, Megamax C, and Consulair C.  MPW C produces by far
the best code quality, and has a development environment nearly equal to
UNIX in power.  (Some of the features were taken straight from UNIX, like
makefiles, so this isn't too surprising.)

I wrote a B-tree database system and a name mapping package for our
distributed file system, TOPS, in Consulair C.  Last week, I finally got
around to converting them to MPW C.  I cut no code, but the code produced by
MPW C was two thirds the size of the Consulair code.  This is a pretty
significant improvement!  I don't have benchmarks set up, but the code seems
to run at about the same speed - I believe this is because the database
system is disk-bound rather than software-bound, naturally.  In a more
compute-bound application, MPW C's use of registers rather than stack
locations for automatic variables would be a big win.

There are also some defects.  Standard I/O is totally screwed up.  I know,
you're not supposed to use it on the Mac, but one of the criteria for my
database system was portability, so I wrote the test program using standard
I/O rather than as a Mac application.  It runs as a tool under MPW, but not
correctly, whereas it ran almost correctly under Consulair.  (Not quite,
though; Consulair forgets to echo the newline in gets to the tty.)  IN MPW C
stdio, stdout is file buffered; if you change it to the correct unbuffered
form, it is amazingly slow.  This is because the MPW shell is based on the
rather slow MDS Editor (from Consulair....) which is not oriented toward
terminal emulation.  Input is also wrong; you have to select a response and
strike enter to input it.  This means that if you say "Want to destroy the
planet? [yn] " and ask for a 'y' or an 'n' on the same line, the usual
response sequence of typing the answer and hitting return/enter also
involves a counter-intuitive and inconvenient mouse operation.

But this is a minor quibble, since you should be using MPW to generate Mac
software in most cases.  Overall, MPW C is a big win over any of the other
three development systems I've used, and I highly recommend it.
-- 
Tim Maroney, Electronic Village Idiot
{ihnp4,sun,well,ptsfa,lll-crg,frog}!hoptoad!tim (uucp)
hoptoad!tim@lll-crg (arpa)