Archive for January, 2012


Object Orientation as supplicative programming.

January 16, 2012

How does OO relate to the other fundamental paradigms, imperative (eg procedural) programming, and declarative
eg. logic) programming?
Once you have encapsulateddata, you cannot run imperative commands on it, because the command

would just override the encapsulation. Instead, the object or server

the data is encapsulated receives a message, and acts on it, or not,

or reinterprets it: encapsulation means the encapsulaters of data

have the final say. This is true even in typical RDBMS applications,

where the structure of the data is exposed, but the encapsulater, the

database, can block or modify requests with the trigger mechanism.

Supplication is also the Achilles heel of “OO”: you can’t tell what

a call, or use of code, is doing by inspecting it: the receiver of

the request could do something inappropriate with it. No wonder

the idea of “contract” is important in OO. The client needs guarantees

that its requests will do something like what is expected.


A thought on Android: Why did the user ever have to manage memory?

January 16, 2012

Why was the responsibility of backing up data ever left to the user? Come to that, why was

it left to the application? The OS assigns and releases memory to the application anyway.

It might as well take snapshots of the apps state as it goes along. Each app then restarts

in its previoius state..indeed, the user hardly has to worry about whether an app is running.

That distinction was only ever a reflection of a hardware distinction, between “core” memrory

and mass storage, and the whole point of an OS is to abstract away such details.