Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!husc6!seismo!mcvax!ukc!dcl-cs!bath63!pes From: pes@bath63.UUCP Newsgroups: comp.sys.atari.st Subject: Re: Compiler Question Message-ID: <788@bath63.ux63.bath.ac.uk> Date: Mon, 23-Feb-87 05:22:22 EST Article-I.D.: bath63.788 Posted: Mon Feb 23 05:22:22 1987 Date-Received: Fri, 27-Feb-87 02:21:15 EST References: <1264@husc6.UUCP> Reply-To: pes@ux63.bath.ac.uk (Paul Smee) Organization: AUCC c/o University of Bath Lines: 28 I find Lattice C totally acceptable. It has a number of useful compile time options, including the ability to make either of the two major flavours of object module. Produces nice code, and quite fast *if* you remember to explicitly declare things that can be held in short's to be short. (My own opinion is that they got that one right, and that the rest of the world is out of step. Sloppily written programs are far less likely to blow up obscurely when you use a long for something that could have been short, than if you use a short for something that needs a long. I see it as a safety feature -- and I think (heavy opinion here) that anyone who considers himself or herself a 'top-class' programmer should be using full explicit declarations (i.e. short int or long int) and not relying on the defaults.) It comes with a very nice library including all the GEM/TOS/etc mappings, and additionally most if not all of the K&R Unix-like functions. And, it's got a floating point package which appears (haven't tested exhaustively) to be accurate -- which I understand is not true of some C's available. On the minus side, the library functions are not well documented, so you'll need something external for that. The editor is adequate but not great -- on the other hand, who buys compilers for the attached editor? And at present there's no nice debugger. Since they're right around the corner from me (MetaComCo UK, that is) I occasionally bug them about that one -- it's reached the status of a Real Soon Now project. Another potential weakness is that (at least at my rev) they don't supply the init file you'd have to link in if you're writing Desk Accessories -- I keep meaning to try to hack one up -- but they do (of course?) have the one you need for standard applications.