[comp.sys.mac.programmer] Replys to: Developer Quality C Compiler w/inline Assembly

pez@vax1.acs.udel.EDU (Daniel J Pezely) (05/02/88)

A few days ago I posted a request for information about developer quality
C compilers.  I also mentioned a few errors which I was having, but they
were mostly silly mistakes of typing or translation from Aztek C code to
LSC.

Here are some of the responces which I received:



From: wetter@tybalt.caltech.edu (Pierce T. Wetter)

. . . In general I've noticed this: People who've programmed a lot on other
computers tend to love MPW (instant batch files). People who program the mac
mostly like LSC because: its quick, you don't need to worry about make files,
and it segments your code nicely. (In that order.) However, I've converted a
few people from LSC to MPW and I've noticed that once they get up and running,
they don't mind it all that much (Warning: LSC int=16 bits  MPW int=32, use
short when you want a pascal int).
. . . If you have a Mac II, the speed issue is much less (disk speed
begins to dominate) and MPW is not as much of a burden.

Personally, I use both. When I'm writing something quick and dirty (print the
number 1 to ten on the screen) I use LSC for its superior compiling and better
interface. For projects where I need speed, the project is huge, I use MPW....


			*	*	*


From: woody@tybalt.caltech.edu (William Edward Woody)

I personally use MPW C, and the MPW environment for the Macintosh,
available from APDA. . . .

The advantages include:
    *  Support of the 68020/68881 processor already available
    *  The Greenhills C compiler used is one of the fastest in the
       industry (Apple paid a pretty penny for it...)
    *  UNIX-like development environment (you can create tools which
       can be used from the shell or stand-alone applications--useful
       for testing algorithms and bits of code before inserting it
       into your finished application)
Disadvantages include:
    *  No in-line assembler (seperate assembler is included which
       works with the same linker--creating C like functions in
       assembly for placing your 'in-line' code there is fully
       explained.
    *  Huge and complete manual which is damned hard to wade through
       when you are first learning the application.  (I suggest
       buying 'Programming with Macintosh Programmer's Workshop,
       a seperate book which should be available at all your better
       computer bookstores everywhere; it's good to first learn your
       way around the system.)

The cost:  $200 for the MPW shell environment (including ASM and LINK,
	   make utilities, and more tools than you can ever learn for
	   managing large projects),
	   $150 for the MPW C compiler (requires environment, above).
Available: Available only through APDA, the Apple Programmer's and
           Deleloper's Association.  Membership is $25.00, and
	   includes a monthly newsletter and substantial discounts
	   on a large range of software.
		 APDA
		 290 SW 43rd Street
		 Renton, WA 98055
		 (206) 251-6548
		 CompuServe #73527,27
           I would highly recommend joining them, even if you don't
	   buy MPW.  They ship in 3-5 days after phoning in your
	   order, shipped Federal Express, as their standard (!!)
	   shipping courier.  From them you can buy damned near
	   everything you will need as a Macintosh Developer.


			*	*	*


From: oster%SOE.Berkeley.EDU@jade.berkeley.edu (David Phillip Oster)

LightSpeed C already has a fine assembler built in to it.
In particular, it knows about C objects and C comments.


This is all documented in your LSC manual!

For example:

#include <asm.h>

Handle NewClearHandle(size)long size;{
 asm{
     move.l  size,d0	    /* move the size to where the Op sys trap wants */
     _NewHandle      CLEAR  /* call the trap with the modifier */
     move.l  a0,d0          /* move to C's function return register */
    }
}

**** Just a note to append to this reply:
**** On page 10-5 of the main manual, it says that inline assembly language
**** is not available.	When I saw this a while back, I checked the v2.01
**** supplement and did not find it listed as a command.  It is in there,
**** but since there is no index, it is hard to find.  See page 17 of the
**** manual supplement.
****					     - Pez

			*	*	*


From: Richard Siegel <rs4u+@andrew.cmu.edu>


. . . Programs written with LightspeedC:

	XPress (Quark)
	Aldus PageMaker (Aldus)
	Adobe Illustrator (Adobe Systems)
	LightspeedC (THINK Technologies)
	Capps Prime Editor Construction Kit (THINK Technologies)
	LaserSpeed (THINK Technologies)
	Canvas (Deneba Software)
	StuffIt (Shareware, Raymond Lau)

There are others, but I don't know them all, and I don't have an exhaustive
list. Oh yes--

	LaserTalk (Emerald City Software)

The point is, several very large (and commercially successful, I might add)
products have been written with LightspeedC, which is good testimony to
its overall usefulness.

		--Rich

			*	*	*

	I hope that this will help anyone else who was in the same position
that I was in: trying to apply knowledge of MS-DOS and UNIX computers to the
Macintosh.

	Also, while I was waiting for responces (a whole 48 hours), I saw in
a book store the whole line of Apple books.  There is one which particularly
caught my attention: _A Programmer's Introduction to the Macintosh Family_.
In there, they talk about MPW and its add-ons, APDA, and other useful info.

        As far as which C compiler I will be using, I will stick with Think's
Lightspeed C.  Once I start making some money from my developments, I might
purchase MPW and then compare that to the next version of LSC.

	Thanks to all who replied to my posting.

						Daniel Pezely
						pez@vax1.acs.udel.edu
						University of Delaware