Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!philabs!cmcl2!harvard!seismo!columbia!garfield.columbia.edu!kearns From: kearns@garfield.columbia.edu (Steve Kearns) Newsgroups: net.micro.mac Subject: Lightspeed C Message-ID: <2466@columbia.UUCP> Date: Wed, 21-May-86 10:55:44 EDT Article-I.D.: columbia.2466 Posted: Wed May 21 10:55:44 1986 Date-Received: Sat, 24-May-86 02:37:11 EDT References: <8605200713.AA00314@kim.Berkeley.EDU> Sender: nobody@columbia.UUCP Reply-To: kearns@garfield.UUCP (Steve Kearns) Organization: Columbia University CS Department Lines: 53 Summary: Yet another review If you are not using Lightspeed C yet, then you will be soon. I am a former user of Aztec C; but after trying out Lightspeed I would dread going back. The speed is so much faster that, as they say in the manual, there is a qualitative difference in the way you program. I would like to point out a few of the subtle features of the package that help to make programming throughput FAST. The editor is built in - you can recompile a file without even saving the file. If there is an error it puts the cursor right on the error. (In Aztec one had to leave the compiler, enter the editor, find the line, correct it, save it, leave, restart the compiler. This adds up to TIME, especially considering the speed the Mac stops and starts programs) There is a built in grep/find/replace that opens up the files for you to edit. This feature is invaluable on large programs. The editor scrolls VERY fast. (it is hard to believe this is important, but it is.) No linking! On my moderate sized program, (40k code) Aztec linking was 1.5-2 minutes. Built in knowledge of macintosh traps! When you use C, you have to be paranoid about declaring functions that return a non-integer or that are "pascal" functions. With Lightspeed all of the Macintosh functions are predefined. One benefit of this is that you have to include fewer files, also speeding up compilation. (now if they would just predefine all of the data structures...) THE DOWN SIDE: * you must have a hard disk to do serious development with it. My lightspeed C volume, with only one program being worked on, takes up 2 meg. * the editor is your basic mouse editor, i.e. you can't move the cursor with keyboard commands. * converting a program to lightspeedC is non-trivial. Especially watch out for characters, which are "signed" by default, and the stdio library. If you do not choose "binary" file type, the output routines do things like convert \n to \r, which would wreak havoc with non textual data. * programs are larger in lightspeedC. (probably because less optimization is done). * no inline assembly. Can't look at the assembly code that is produced without the MDS system. SUMMARY: If you haven't tried it, you owe it to yourself to give it a shot. I think that the program I wrote would have taken half the time, and half the aggravation, if I had done it originally in LightspeedC.