#C Compilers: which one?
5 messages in this thread
Nope, your argument just went down in flames. It seems my Manx 32/16/8
statement was nothing more than wishful thinking… as you have no doubt seen,
Keith reminded me that Manx shorts are 16 bits, not 8. So, Manx is just as
strange (to my mind) as every other C compiler, and just as "standard" in that
respect. I'll never understand why C is always 64/64/32 or 64/32/32 or
32/16/16 or 32/32/16 or… instead of a simple, logical, straightforward
32/16/8. Ah well, totally off the point (and it was an aside anyway, not
really germaine to the discussion, in the first place).
As long as I'm here, I trust you will allow me to comment on the other issues
being bandied about.
I tend to agree with you in regards to the use of ILAC. I can't see any reason
offhand why it would HAVE to be there, it certainly could be a maintenance
nightmare, and it would cause extra work in porting Manx->Lattice.
However, I tend to agree with (I think it's) Larry in terms of the existance of
the capability: it doesn't matter, or at least it shouldn't, and it certainly
isn't something I could use to disrecommend a compiler. ("Don't buy Manx, it
allows inline assembler!" Huh?)
So how often do you use GOTOs in C, Ben? Rarely if ever, I would assume,
because you seem to be a competent programmer. I think I've used a C GOTO once
in my entire programming career, and that was for an embedded system
<continued>
I have also been unhappy with C's lack of a nice 32/16/8 hierarchy of types.
Historically, C had 8 bit char's (signed of course – PDP-11), 16 bit ints and
32 bit longs. I had no qualms about being incompatible with C when I put
32/16/8 bit signed and unsigned integral types into Draco – they are simply far
to useful!
I think that small amounts of inline assembly are useful. I must stress the
word small. I've used about 6 instructions worth in one of my projects (a
graphics D&D game system for the Amiga – coming maybe this year). They were
used to interface to system routines for timer interrupts and input.device
handling. My only alternative was to have an assembler file. The input.device
file in particular is quite long, and the routine with the single in-line
instruction is about 100 lines of Draco. I would MUCH prefer not to have to do
that in assembly, and since it's fairly time-critical, I don't want the
overhead of an extra call.
Nice to see you online at last Chris! Welcome to the Amiga forums.
-larry
Thanks! I only hope I don't spend TOO much time here. Then I would fade away
into someone who has no time to write more programs!
Chris,
It's an easy trap to fall into, and can be damaging to the wallet as well as
to time for other activities. On that note, I'll mention that Whap! is a real
time saver, and can be downloaded from LIB 16.
-larry