CompuServe Messages

#"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