[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "static" declaration

> I guess I'm suggesting that there's a maximum bug level that people
> can tolerate, and as tool improvements cut the bug rate per machine
> instruction, the typical program size immediately grows to match.

Makes sense.  (did the maximum
bug level increase once reboots
no longer meant walking to the
machine room?)

>           ... in MMM, Brooks, in his discussion of the second system
> effect, notes the fact that OS/360 used 29 bytes of core to keep track
> of the existence of 366-day leap years, and condemned it as
> unwarranted bloat.

His argument still stands, though.
In his day, each machine came with
several operators; he calculated it
was cheaper for one of them to flip
the date once every four years than
to burn core.

If core memory ran $1/byte in 1965,
and ram runs $.20/megabyte now, an
equivalent bloat might be to tie up
150M for that date routine.


(I was surprised, when reading Stoy
and Strachey's OS6 paper, that store
was sufficiently expensive ca. 1972
that they were concerned even about
*source* bloat:)
> Although these include TAB, because it is useful when writing routines
> for controlling devices which use it, it is too device-dependent to
> be used in the system for any other purpose.  To be forced to use
> only SPACE would be unacceptable, however, as half the characters in
> the average well laid out program would be spaces, and we therefore
> include a device-independent character, 4-SPACES.


> I don't have any objection to static variables.  I just want to be able
> to see the list of all instance variables of a class.  Java, with minimally
> decent programming conventions (put all the variable declarations at
> either the start or the end of the class rather than all over the place) is
> fine with me as far as this goes.

What is the difference between a static
variable, which is declared in the spot
where it is used, not at toplevel with
all the other global variables, and an
instance variable "local" to a method, 
which is declared in the spot where it
is used, not at the start or end of the
class with all the other i.v.'s?