#"Good" Code
02-May-90 18:22:03
Sb: #101753-#"Good" Code
Fm: Black Belt Systems 76004,1771
To: Thomas Holaday 70407,534
I'd put it this way – an ideal compiler CAN produce it, but may not if the
user wants things like 32 bit stack parameters, stack checking, and so on.
Issues that seem like coding issues manifest themselves in the object quite
often – in incompatabilities with other objects to be linked and so on. It
is a fact that different preferences in the object which have some form of
goodness you can measure or at least sense will affect the code size and
speed. Object that cannot be linked with standard amiga object files may be
small, but is less useful. Object that can't handle data larger than 32k or
64k again may be small, but may not be able to handle the task at issue.
The Lattice compiler was set up to default to handling big tasks, with a
lot of safety built in for the user. The Manx compiler was set up to make
lean mean code, w/o a lot of error checking the Lattice compiler had, and
without things like callable assembly proceedures – the ILAC specifically
encourages the ignorant and lazy programmer to place code inline, which
reduces object size since the call to the software isn't there, but also
reduces the quality of the code as opposed to the object. The issues aren't
seperable across the board.
Manx is obviously a functional compiler. I love to pull Mikes leg, maybe
because it's always dangling within reach; but I am serious about the
issues involved. ILAC is bad, period. Use of it is wrong, period. I support
the Lattice compiler over Manx largely on that issue, since I feel that
Manx is harming the quality of our code by the very inclusion of the
feature.
Don't try and get me to pick on YOU… I know better. :^)
Ben
Amateur Radio Callsign is A A 7 A S