Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!sdd.hp.com!elroy.jpl.nasa.gov!ncar!asuvax!ukma!psuvax1!news From: melling@cs.psu.edu (Michael D Mellinger) Newsgroups: comp.sys.amiga.advocacy Subject: Re: 8-bit death Message-ID: Date: 29 May 91 05:10:55 GMT References: <1991May25.121511.24184@sugar.hackercorp.com> <1991May27.130057.27121@sugar.hackercorp.com> Sender: news@cs.psu.edu (Usenet) Organization: Penn State Computer Science Lines: 58 In-Reply-To: mykes@amiga0.SF-Bay.ORG's message of 28 May 91 07: 50:34 GMT Nntp-Posting-Host: sunws5.sys.cs.psu.edu In article mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes: I have to work with other people's 'C' code far too often, as well. Unfortunately, everyone in the world isn't as "brilliant" as you or I when it comes to trying to write portable code. All the problems that you gripe about with the 'C' compilers being incompatible with eachother and the ANSII standard as well as how the language doesn't do a thing to promote portable programming practices (consider the use of the FAR, NEAR, HUGE, etc. keywords for PC compilers...). I think you are totally wrong to think that I ignored any of your points because you are feeding my "case" quite well. Do you really think assembler is more portable? I won't argue that C is the greatest language but it can be a lot more portable than assembler. Just ftp to prep.ai.mit.edu and grab some GNU software and see how many machines the software runs on(some of it is more portable than others). If GNU Smalltalk or Bison were written in assembler, how easy would it be to port them to a dozen different machines? BTW, I just compile with the large memory model when I program on the PC, and avoid the entire segmented problem of CPU's < 80386 machines. Windows 32, and OS/2 2.0 will hopefully bring an end to this brain-damaged segmented world. Also, many software developers uses a "common core" (probably wrong terminology) in developing their Mac and DOS software. I think it's Aldus that claims that half of their code on the Mac and PC versions of PageMaker is the same. Do you think it's easy to port between 32-bit int compilers and 16-bit int compilers? I *know* that you're not supposed to use "int" declarations, but the stack frames are different as well. If you reply, please consider not only the "beautifully" crafted portable code that you currently write, but the code of someone else who you need to port. It's probably a real pain to port b/w 16 and 32 bit compilers(GNU Emacs is a prime example of how impossible it can be). Fortunately, even the toy computers are going to be true 32 bit soon. Hopefully, the need to write machine dependent code will diminish as computers become faster. Perhaps even a better language will supersede C as the language of choice. I imagine Smalltalk on an HP Snake is faster than assembler on a A500. Your practice of writing "DisplayImage" the way you do is good for portability, but hurts your programs' performance, speed wise. I personally don't criticize you for choosing "portabilty" over speed, nor would I criticize someone for choosing speed over portability. How much does it hurt performance? Is the performance difference perceivable? What happens when all the other computer companies move on to the next generation of microprocessors that are 50+ mips(over the next two years! -- that's over 50 times faster than 8MHz 68K)? It's going to be hard to port CISC assembler programs to the new RISC chips. On some computers, 98% of the software(excluding the OS) won't take more than a weeks worth of work to get ported to a new CPU. Software is the reason that the Mac and PC are popular. If your computer doesn't have as much software, it's certainly not going to help if half of it has to be rewritten. -Mike