Yuriy Guskov ygheimth@adm.univd.kharkov.ua
Mon, 20 Sep 1999 17:41:54 +0300

"Thomas M. Farrelly" wrote:

--- skipped good lines about "defaults" :) ---

> > It depends on what you mean under "removing the distinction"...
> > Each level has to keep its benefits... If we erase them possibly we will
> > obtain none of them. Brr... If realize we mixed binary and symbolic code...
> > Maybe I am wrong but... At least, certainly, introducing several levels is
> > directed to diminish distinctions or gradual transition eg from natural language
> > to machine one and vice versa.
> I don't see the need for several levels in order to smoothen the
> transition to machine code. First of all I don't feel like I'm dealing
> with anything close to a natrual language interface when designing a
> computer language. Natrual languages are fuzzy - computer languages are
> not.

Hmm, natural languages are fuzzy. Right. But did you really mean you deal with only
exactly expressed things. Till now programming smoothed all fuzzy things into
exact ones. But it is not correct in certain degree, I think.

> And secondly every expression in a computer language must eventually, to
> be useful, be translated to machinecode. If your system can translate
> highlevel expression to machine code, I don't see any need for
> expressing any part of the system in anything but highlevel code.

A reason is trivial: I think programming or activity that resembles it should be
disseminated... So, I think it would be very fine if we haved correspondence between
highlevel code and more abstract or even natural language.

> > There is two ways for moving from the one term to another.
> > 1. General -> Specific (the way of human thought, because we have often
> > already ready representations for a situation)
> > 2. Specific -> General (the natural way, from the world to the idea)
> >
> > Either way we consider there is four kinds of their combinations. (they
> > could and should be combined because of we have to accent on
> > "observer-observable". That is, general usually means general rules,
> > principles of a thing, their inner world, how it acts, behaves, and the like.
> > But an observer can have also general or specific view of a thing.
> > Thus, we have four pairs (observer-observable):
> >
> > 1. Specific-Specific.
> > 2. Specific-General.
> > 3. General-General.
> > 4. General-Specific.
> >
> > Analysis deals with specific "obserable", but it does with general "observer".
> > Well, analysis already based on general principles of human thought..
> > If design is constructing general expressions it means we have general
> > "observable" here. Of course, implementing is making "observer" specific.
> Thats a good viewpoint.
> > But, oops! We miss a pair "specific-specific". And it is happens because
> > you (or rather Booch) ignore a stage after implementing. I think it is "executing".
> > Of course, this stage is less related to "application developing". But...
> > If don't think about evolving systems which eventually appear, I think...
> I see your point. The way I see it, the execution mechanism is allready
> specific. So the execution or evaluation of an expression in a specific
> context is deterministic. That way, there is no actual difference
> between what is evaluated and the effect/result of what is evaluated.
> This is because the actual existence of the expression in it's context
> implies its effect/result.
> That's why I merge the specific-general and specific-specific. In the
> way that the context is the observer and the expression is the
> observable. So the mapping of the expression from general to special is
> implisit or dictated by the context/oberver.
> The observer/observable model is good - call it
> Subject-Oriented-Programming. ( a sneeky way luring Farč into embracing
> the pros of oop :)

To my regret I tried to bring this idea early here. But maybe I was not convincing
enough... But maybe I would prefer to call it Hyperprogramming. The idea is simple.
We have a lot of disintegrating chunks of data, code, information, and whatsoever.
Why not to unite them in integral world? I mean at least to create informative links
between different elements like data files, applications, images, databases, etc.
Naturally, such idea require more expand exposition. But do I have to do so?

> cheers!
> ===============================================================================
>     Thomas M.  Farrelly     s720@ii.uib.no     www.lstud.ii.uib.no/~s720
> ===============================================================================