CompuServe Messages

#ObjectOriented

    21-Sep-95 11:54:35
Sb: #48233-#ObjectOriented
Fm: Greg Comeau@Comeau Cmptg 72331,3421
To: Bart Van Bockstaele 100574,2352
>Not programming in assembler has cost me a few years of my life in >solving >compiler bugs. >…when writing “portable'' code. There were different bugs in the >different compilers and the code had to be written so that all bugs were >circumvented. In the end it was a non-useable program. I still contest that you've have some VERY extenuating circumstances. One of this things I am extremely well known for is the vast number of machines and operating systems that Comeau C++ is available for. Ditto for some other products and other code I've ported "everywhere". Such a dilemma need not be. >Mainly two: IF there is a bug in the HLL it can be nearly impossible to solve, Nearly impossible is quite an overstatement. I've solved many and I know other people who have too, including optimizer bugs, which can be most elusive. >and HLL's work slower than assembler. You mean compile-time-wise? Although common sense seems to implicitly imply this would be the case (I mean, "what's so complicated about assembler since it's compilating is a simplier mapping from the instruction to object code"), I'm _positive_ that I could demonstrate cases where this would not be the case. > Since people are prepared to pay much for >a faster computer to work more efficiently it definitely makes sense writing >everything in assembler even if you have the fastest computer. Sometimes. I'm more interested in a reasonable tradeoff wrt power of expression, maintenance, readibility, manipulation, etc. In fact, I'd be more apt to get a faster computer with a slower app than write it in assembler. Most definitely. Also, as you mention portability above, I'm definitely not going to rewrite my XX/YYYKLOC apps everytime I go to a machine with a different CPU. Even on a CPU family, what made sense with one machine, may not be optimal on the upgraded CPU (it should still work though). And with assembler, since it is so low level, even if I have to rip out parts of my app do to say user input, I have to rip and throw out more in general, which seems to defeat part of the point of it all. I can see if we're talking about jamming something into a talking Coke Machine, or need something kick butt in say a device driver, but you can count me out of doing say my business apps in assembler (and yes, I know what it is like doing so).