peter@ficc.ferranti.com (Peter da Silva) (07/26/90)
At the speed computers run, the user-interface part of the code for WP could probably be written mostly in Dartmouth Basic (that parsed expressions by repeatedly scanning forwards and backwards for parentheses) and *still* be fast enough that nobody would notice it. Sure, screen updates and buffer handling should probably have a large assembly content on a machine like an 8088, but I suspect that much of the delay would turn out to be in block moves (and BitBlt on a bitmapped display)... which are likely to be in assembly in any case. -- Peter da Silva. `-_-' +1 713 274 5180. 'U` <peter@ficc.ferranti.com>
jesup@cbmvax.commodore.com (Randell Jesup) (07/31/90)
In article <VKX4UHA@xds13.ferranti.com> peter@ficc.ferranti.com (Peter da Silva) writes: >At the speed computers run, the user-interface part of the code for WP >could probably be written mostly in Dartmouth Basic (that parsed expressions >by repeatedly scanning forwards and backwards for parentheses) and *still* >be fast enough that nobody would notice it. Sure, screen updates and >buffer handling should probably have a large assembly content on a machine >like an 8088, but I suspect that much of the delay would turn out to be >in block moves (and BitBlt on a bitmapped display)... which are likely to be >in assembly in any case. Don't forget the other reason to write in assembler, something that many Unix programmers seem to have forgotten (amusing, since it was once one of the advantages of Unix): space efficiency. Memory is _not_ unlimited, nor is it free (not even with VM). Witness that a Unix Workstation using the most recent Unix (SVR4), with X and OpenLook _requires_ 8 meg to use. Without OpenLook you can _almost_ use it in 4 meg, but it can be a bitch. (I'm referring to a specific implementation, others may take more or less.) And then of course any sizable application may want more... In the WP case, they wanted a BIG package to be usable in 512K or a 1 meg machine with floppies (i.e. loading code off disk is slow). (This is the AmigaDos version I'm referring to.) -- Randell Jesup, Keeper of AmigaDos, Commodore Engineering. {uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.cbm.commodore.com BIX: rjesup Common phrase heard at Amiga Devcon '89: "It's in there!"
peter@ficc.ferranti.com (Peter da Silva) (08/01/90)
In article <13533@cbmvax.commodore.com> jesup@cbmvax (Randell Jesup) writes: > Don't forget the other reason to write in assembler, something that > many Unix programmers seem to have forgotten (amusing, since it was once > one of the advantages of Unix): space efficiency. If you *really* want space efficiency the obvious thing to do is write in Forth, or some other threaded language. Writing in assembler to save memory is like writing in COBOL to improve readability. That way you retain quite a high level of portability, you can still implement the critical code in machine dependent fashion, and you save a *lot* more space than an assembly implementation. Alternatively: write the critical code in assembly, include a small Scheme or other tiny interpreted language, and put most of the code in that. It'd still be fast enough for humans and you'd save simply gobs of RAM. Assembly should be the last resort, not the first. (slams on the size of SVR4 deleted... funny, I was just complaining about that in comp.sys.amiga.tech) -- Peter da Silva. `-_-' +1 713 274 5180. 'U` <peter@ficc.ferranti.com>