Ray Arachelian wrote:
Keep in mind that there are things such as deadlines to consider, so
quick and dirty tricks like those, look nasty in hindsight, and
certainly take a lot of time to clean up afterwards, but they do get the
job done for the moment. How many programming teams consider the
long run versus "just get it out the door"? Or I should say, how many
programmer's managers consider the long run? :-)
Individuals almost always care about their work and want to do a job
that will last, despite deadlines or pressure to cut corners. But
managerial pressure to do the wrong thing usually prevails.
Yes, Ray, that's vitally important. Good call.
A company I was with, Systems Research, Inc., made a Burroughs TD-830
Emulator terminal. When they were done with that, they had about 1 K
(Yes, 1 K) of ROM space, and wanted to know if the machine could ALSO be
programmed to be a regular ANSI terminal as well.
As it turns out, yes, it could.-- sort of. The first job was to take
the 31-K TD-830 code, and make it more efficient. That got about
another 4 K, and was politically very difficult, as the TD-830 people
were in a different group, and got huffy at us improving their code.
Then the TTY code was written with an INCREDIBLE number of "dirty
tricks." Of course, we called routines already written for the TD-830
whenever possible, and, truth be told, sometimes when it was NOT
possible. at one point, we hopped into a text message which terminated
(as did they all) with a byte of 00H, which is a NOP for the Z80, and
then fell into another routine. ASCII characters tend to be
register-to-register moves, we just loaded different registers with
input values, and used some of the effects to save a dozen or so bytes
of code. When all was said and done, it worked, an we had 5 extra
bytes, so we wrote a "LIFE" program. (Just kidding.) Anyway, the
project manager later said that we had used everything but the top half
of the blue bytes.
Also, by comparison, note that AT&T was prohibited from selling or
licensing Unix as a commercial product until about 1984, though thy DID
place it in universities. The point is that they did NOT have "market
pressures" for new releases, and because of that, produced a huge,
complex, quite possibly bug-free product that is a joy to use. And I'm
not sorry to sound like an evangelist -- Unix is the best software ever
written by humans. It was also originally conceived in the 1960s, and
made it into reasonable use in the early 1970s, so its OLD software, for
purposes of OT discussion. The Mac world has recently made a massive
improvement by going to an O/S based upon a flavor of Unix. Now, we
need to do that for the PC world, and normal progress can resume.
There's no need to be chipping new wheel designs out of stone when we
have an independent suspension chassis available, and can bolt on any
body we want. Let the programmers develop gee-gaws and new user
interfaces for it, but the core, the user and process handling and the
file system of Unix are WAY better than any other attempt so far. Linux
is a variant, and free. So.... "Not Invented Here" is the only reason
to use another base O/S, at least until something better comes along.