mjw@aluxp.UUCP (Michael Weber) (01/16/88)
This issue has probably been discussed before with religous incantations, but what is the C compiler of choice for the Amiga? Lattice claims that they have the official sanction of Commodore-Amiga while Manx describes a superior programming environment. Does anyone have any recommendations for a two- floppy A-500 with 2.5M of internal memory? No commercial development work would be done (at least not in the near future). It would be used mostly to compile and modify the sources posted to USENET. -- Michael Weber ...!ihnp4!aluxp!mjw AT&T Bell Laboratories Allentown, Pennsylvania (215) 770-2732
lachac@topaz.rutgers.edu (Gerard Lachac) (01/17/88)
In article <945@aluxp.UUCP> mjw@aluxp.UUCP (Michael Weber) writes: > Lattice claims that they have the official sanction of > Commodore-Amiga while Manx describes a superior programming > environment. If I am not mistaken, Commodore no longer endorses ANY 'C' compiler as the official Amiga C compiler. That distinction was dropped a while back (but it was Lattice). -- "Truth is false and logic lost..." - Neil Peart (who at the time didn't realize he was talking about RU) lachac@topaz.rutgers.edu <--------OR--------> {seismo|ames}!rutgers!topaz!lachac
jdg@elmgate.UUCP (Jeff Gortatowsky) (01/18/88)
In article <945@aluxp.UUCP> mjw@aluxp.UUCP (Michael Weber) writes: > > This issue has probably been discussed before with religous > incantations, but what is the C compiler of choice for the Amiga? > [ more observations removed from here ] >-- >Michael Weber ...!ihnp4!aluxp!mjw >AT&T Bell Laboratories >Allentown, Pennsylvania (215) 770-2732 I have both and can say 'either one is a good choice'. Since I've not gotten around to purchasing the Manx SDB, I can't say just how much it's availability should influence your decision. I know dbx/dbxtool on my Sun has been a 'life-saver'. However if I coded better, I'd have not needed it in the first place! 8^) Again Lattice is THE official C compiler for the Amiga. But the best advice is go with your wallet's suggestion. They are both fair development systems. (I say 'fair' because niether(SP?) has a global optimizer yet, but then niether does my Sun.... 8^) ) -- Jeff Gortatowsky {seismo,allegra}!rochester!kodak!elmgate!jdg Eastman Kodak Company These comments are mine alone and not Eastman Kodak's. How's that for a simple and complete disclaimer?
stroyan@hpfcdc.HP.COM (Mike Stroyan) (01/18/88)
>This issue has probably been discussed before with religous >incantations, but what is the C compiler of choice for the Amiga? >Lattice claims that they have the official sanction of >Commodore-Amiga while Manx describes a superior programming >environment. Does anyone have any recommendations for a two- >floppy A-500 with 2.5M of internal memory? I have only used the Manx compiler, and so can't comment on which compiler is best. However, I will heartily recommend that you get VD0 and Facc from ASDG to compliment whichever compiler you choose. With 2.5M of memory, they make the compile/debug cycle much faster than a compiler on its own. Mike Stroyan, [hplabs!]hpfcla!stroyan
daveh@cbmvax.UUCP (Dave Haynie) (01/20/88)
in article <945@aluxp.UUCP>, mjw@aluxp.UUCP (Michael Weber) says: > Keywords: Lattice, Manx, others? > > This issue has probably been discussed before with religous > incantations, but what is the C compiler of choice for the Amiga? > > Lattice claims that they have the official sanction of > Commodore-Amiga while Manx describes a superior programming > environment. Not an official C-A endorsement (since I paid for it myself), but I've had excellent results with Lattice, especially the new version 4.0. > Does anyone have any recommendations for a two- > floppy A-500 with 2.5M of internal memory? No commercial > development work would be done (at least not in the near future). At home I've got the A1000, two floppies, and 1 meg total of RAM. The old Lattice really ached for another floppy or meg of RAM, but the new one's much better in this respect. Lattice 4.0 adds the ability to compress include files, which I understand Manx has done all along. The neat thing is that these compressed files from the programmer's point look exactly the same as the non-compressed files, and the compiler can freely intermix them. They basically tokenize C keywords. This helps not only in "does it fit on the disk", but in "how long does it take to read in all those stupid include files". Other Lattice features I like are the capability to produce in-line library calls, and the ANSI C prototyping capability (helps tremendously on type checking of function calls for those late night hacking sessions). DiskSalv 1.0 and 1.2 (not quite out yet) were developed completely on the above system; 1.2 comes out to be over 48K of source code. Lattice also includes an object library with lots of UNIX, ANSI, and even some MS-DOS compatible function calls. The compiler is smart enough to optimize some of the common calls, like "printf()" and "strlen()", based on what's passed to them, but this is only an option. I understand that Manx includes many of the UNIX-style utilities, like make and vi (Yuck) which Lattice charges extra for. > It would be used mostly to compile and modify the sources posted > to USENET. Amiga sources seem about split between the two, though I've rarely found it difficult to get things running under Lattice. Even much of the UNIX specific code compiles with little change under Lattice. > Michael Weber ...!ihnp4!aluxp!mjw -- Dave Haynie "The B2000 Guy" Commodore-Amiga "The Crew That Never Rests" {ihnp4|uunet|rutgers}!cbmvax!daveh PLINK: D-DAVE H BIX: hazy "I can't relax, 'cause I'm a Boinger!"
john13@garfield.UUCP (John Russell) (01/21/88)
In article <3168@cbmvax.UUCP> daveh@cbmvax.UUCP (Dave Haynie) writes: > >> It would be used mostly to compile and modify the sources posted >> to USENET. > >Amiga sources seem about split between the two, though I've rarely found >it difficult to get things running under Lattice. (My mail message to the original poster bounced, but I won't burden the net with it since it's all been said before anyway.) Just one nit to pick here -- if you are a novice, the Manx error-checking is much friendlier and more helpful than that of Lattice (although it's been a few versions since I looked at Lattice). When I started, virtually none of the sources posted to the net could be compiled without a single change under Lattice. Much of this was due to not eliminating warning messages, lack of compilation info such as special compiler switches and such, and highly customized programming environments, but a lot was also caused by compiler pickiness; I think (famous last words) Lattice used to generate tons of cryptic and unhelpful error messages in common situations like line splitting due to either 80-column wrapping in posting or expressions like ...(struct IntuitionBase *) OpenLibrary(... No doubt the situation has improved, but it's best not to assume so. If you are a novice, as I was at the time, good error-trapping is vital. Especially if the program compiles with many warnings, then doesn't work properly. John PS Manx had it's share of oddities early on, like the Guru that used to occur during compilation of PopCLI when it tried to do structure assignment... -- "Am I dreaming, or was there a show on this weekend called 'Jimmy the Greek: Live at the Apollo'?" -- David Letterman
john13@garfield.UUCP (John Russell) (01/21/88)
In article <4414@garfield.UUCP> john13@garfield.UUCP (John Russell) writes: > >Much of this was due to not eliminating warning messages Oops, I should clarify I meant the _programmers_ didn't take the time to cast things correctly, declare their functions beforehand, etc. This has been much better recently. John -- "Am I dreaming, or was there a show on this weekend called 'Jimmy the Greek: Live at the Apollo'?" -- David Letterman
cmcmanis%pepper@Sun.COM (Chuck McManis) (01/22/88)
In article <4414@garfield.UUCP> john13@garfield.UUCP (John Russell) writes: > Just one nit to pick here -- if you are a novice, the Manx error-checking > is much friendlier and more helpful than that of Lattice (although it's been > a few versions since I looked at Lattice). This struck me as a bit odd, but maybe it is just me. The Lattice compiler complains more often about bad code, things like a return value that doesn't match the type of the function, functions that are used inconsistently, argument types that don't match the function declaration etc. Manx on the other hand was very forgiving of such practices. Now personally, I prefer Lattice complaining that I write bad code. Also in 4.0 Lattice spits out the line where the error occurred and then puts a caret '^' under the point of detection. Fortunately you can turn this feature off. I generally check into all the warnings that Lattice turns out and put in casts where appropriate to prevent such messages. Generally, after I have done this these programs have a much better chance of passing lint. --Chuck McManis uucp: {anywhere}!sun!cmcmanis BIX: cmcmanis ARPAnet: cmcmanis@sun.com These opinions are my own and no one elses, but you knew that didn't you.
rap@dana.UUCP (Rob Peck) (01/23/88)
In article <4414@garfield.UUCP>, john13@garfield.UUCP (John Russell) writes: > > Lattice used to generate tons of cryptic and unhelpful error messages in > posting or expressions like > > ...(struct IntuitionBase *) > OpenLibrary(... I have to agree with the original poster in that I mostly used Lattice 3.03 (and even now occasionally pop it in for the convenience of using EXECUTE makesimple on that original disk, while I go for coffee, a brownie and wash the windows). But unmodified unix-like sources would cause that version of Lattice little difficulty. The quoted construct just above caused no problems at all and in fact I use that ALL the time. Just my $0.02 worth. Rob Peck ...ihnp4!hplabs!dana!rap
john13@garfield.UUCP (John Russell) (01/24/88)
In article <39596@sun.uucp> cmcmanis@sun.UUCP (Chuck McManis) writes: > >The Lattice compiler >complains more often about bad code, [ than Manx ] Like I said, it's been a few versions since I gave up on Lattice. My only memory of their error checking was looking in the manual to see what "ERROR 105" or somesuch was, and then finding that although it was something like "bad argument to function", the cause was a split at the 80th column 100 lines back in the code. The ^^^^ under the offending line that Chuck describes in the latest Lattice is the same as Manx does when flagging errors or warnings, so it sounds as if they are about equal on that score now. John -- "Am I dreaming, or was there a show on this weekend called 'Jimmy the Greek: Live at the Apollo'?" -- David Letterman
malibo@arizona.edu (Rob McConeghy) (01/25/88)
In article <4431@garfield.UUCP>, john13@garfield.UUCP (John Russell) writes: > In article <39596@sun.uucp> cmcmanis@sun.UUCP (Chuck McManis) writes: > > > >The Lattice compiler > >complains more often about bad code, [ than Manx ] > > Like I said, it's been a few versions since I gave up on Lattice. My only > memory of their error checking was looking in the manual to see what > "ERROR 105" or somesuch was, and then finding that although it was something > like "bad argument to function", the cause was a split at the 80th column 100 > lines back in the code. FLAME ON - When people ask advice about which compiler to buy, they want to hear from folks who have experience with the current versions. They DONT want to hear about your opinions about, or experiences with, two year old, twice updated versions. They also don't want to hear any second-hand hearsay thoughts about features you may think are, or are not, in a compiler you haven't used. If somebody asks you what car they should buy, you don't tell them that you heard that Model-T Fords only come in black. If you don't have Lattice 4.0. I, for one, don't want to hear anything you have to say about Lattice. And the same goes for Manx. And if you haven't personally used both current versions, I am not interested in reading your opinions about how they may compare. FLAME OFF. I have Lattice 4.0. I am happy with it. I have used it successfully to port several fairly large Unix and generic programs without any problems. It has a nice manual with lots of Unix/ANSI/etc standard functions. It does lots of error checking but you can turn off lots of the warning types like those cause by missing VOID's etc., if you don't like to see them. I was also happy with Lattice 3.10. I always upgrade my compilers to the current versions and I also keep tabs on the Lattice BBS in case any interim bug-notices or bug-patches become available. I recommend both these practices to anyone who is using any piece of software on a regular basis for serious work. I was rather amused by a recent posting that mentionned that the error checking in Lattice was so good that it helped them get their programs to pass Lint. I was always under the impression that Lint was supposed to be used before you give your program to the compiler. I have never had any problem with Lattice accepting multi-line macros.
john13@garfield.UUCP (John Russell) (01/27/88)
In article <3558@megaron.arizona.edu> malibo@arizona.edu (Rob McConeghy) writes: >FLAME ON - [ flames ] >FLAME OFF. You're right, of course. Sorry for letting my fingers (rather than my brain) do the walking. John -- "Listen fathead, the ONE thing we DON'T need is some trigger-happy lunatic in charge... No I didn't mean you Mr. President... Yes sir, I'm sure you do get a lot of that sort of thing." -- Judge Harold T. Stone
uzun@wolf.UUCP (Roger Uzun) (01/28/88)
Well I have used both Lattice 4.0 and Manx 3.40. I own Lattice 4.0 at home and it is a pretty strong compiler. It has 1) Support for most all Unix Calls 2) Decent error checking for a C compiler. 3) Pretty efficient code generation But it also takes forever to compile even from all ram and the way they handle include files for system equates, while improved over earlier versions, is still poor compared to manx. Also any program I compile links in a bunch of error checking code for ^c and the like and is at least 7K long. This can probably be corrected by a compiler switch but I have never found one other than -v and this did not seem to reduce code size a whole lot. All in all I must recommend that, If they will cost you about the same money, go with Manx 3.6 because it has the following strengths 1) faster compile time 2) direct 020,881 support 3) faster compile time again 4) A souce Level Debugger that is GREAT (I saw it at AmiExpo) 5) Still faster compile time 6) Make Utility I got lattice 4.0 because I could upgrade for $75.00 and I do my commercial work on another machine. If i had my choice I would have chosen Manx -Roger "LALR(n)" Uzun