🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.atari.st
Article #6957

Re: TOS 1.6...

#6957
From: Allan Pratt
Date: Fri, 12 Jan 1990 19:28
46 lines
2946 bytes
saj@chinet.chi.il.us (Stephen Jacobs) writes:
>In article <1252@electro.UUCP> ignac@electro.UUCP (Ignac Kolenko) writes:
>>actually, darek mihocka and myself have ... disassembled ...

>This is what serious developers do ... to
>check EXACTLY what TOS would do in a given situation (and any commented 
>source, no matter how 'ugly', beats a disassembly).

The fallacy here is that you think we want you to know EXACTLY what TOS
would do.  Publishing the source would make it impossible to change it,
because people would start relying on accidental side-effects of
operations.  When that happens, we can't change the code without
breaking those programs or maintaining those previously-accidental side
effects.  This is a maintenance nightmare.

Take this example: if you had source for the original Fsfirst call,
you'd have seen that the only error it can return is EFILNF, file not
found.  You might have used that knowledge in your code somehow.  In
TOS 1.4 and beyond, Fsfirst can return EPTHNF, *path* not found.  I
consider this an improvement. If your code was expecting either success
or EFILNF, and gets neither, how will it behave?

In an extreme case, you might have seen that there was a bug in Cconout
when stdout is redirected to a file; the HIGH byte of the argument is
written to the file, not the low byte, or something like that. This is
a bug, not a feature, but if you take advantage of it we can't ever fix
it without breaking your program.

Finally, take Malloc: you would know that Malloc uses OS POOL to keep
track of memory, and that two successive Malloc calls are likely to
result in two contiguous blocks of memory.  People have in fact taken
advantage of this, and the result is that we can't ever fix this
brain-damaged approach to memory management.  We're straitjacketed by
the tricks people pull; imagine how much worse it would be if the whole
OS were open to that kind of scrutiny!

You needn't tell me that UNIX source is available (if you pay for it).
UNIX is different, because (A) it was designed better, so people don't
have to resort to these tricks just to do ordinary things, and (B)
people on UNIX systems don't come from a tradition of 8-bit
game-machine programming, where the first question they ask is, "Where
can I POKE to change rez?"

============================================
Opinions expressed above do not necessarily	-- Allan Pratt, Atari Corp.
reflect those of Atari Corp. or anyone else.	  ...ames!atari!apratt
Technical Details
Message-ID: <1956@atari.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!cs.utexas.edu!sun-barr!newstop!sun!imagen!atari!apratt
References: <9001100808.AA18195@ucbvax.Berkeley.EDU> <1252@electro.UUCP> <1990Jan11.182305.24007@chinet.chi.il.us>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!cs.utexas.edu!sun-barr!newstop!sun!imagen!atari!apratt
From: apratt@atari.UUCP (Allan Pratt)
Newsgroups: comp.sys.atari.st
Subject: Re: TOS 1.6...
Keywords: TOS source
Message-ID: <1956@atari.UUCP>
Date: 12 Jan 90 19:28:47 GMT
References: <9001100808.AA18195@ucbvax.Berkeley.EDU> <1252@electro.UUCP> <1990Jan11.182305.24007@chinet.chi.il.us>
Organization: Atari Corp., Sunnyvale CA
Lines: 46