Philosophical musings: interpreting models

Yuriy Guskov ygheimth@adm.univd.kharkov.ua
Thu, 16 Sep 1999 12:51:13 +0200


shapj@us.ibm.com wrote:

> This conversation is a bit silly.  There are both low-level and high-level
> problems in operating systems.  There are times when a single body of code must
> address both.  One wants neither a low-level nor a high-level language, but
> rather a language that meets the requirements.  Relative to *current* languages
> this means a language that has low-level primitives but is highly extensible.
> LISP is one candidate.  OCAML is a much better one (type safety), and lately has
> been running very efficiently.

This conversation is not silly. But just abstract and conducted in general. This means
it has no specific sense for developing now but is required to realize how we could
build applications. At least, we should estimate if contemporary approaches are
optimal or not.

> Straightjackets are necessary for people who don't think well.  Operating
> systems are complex and require careful thought.  People who require
> straightjackets therefore do not build operating systems well, regardless of the
> presence or absence of straightjackets.

Why do you talk about operating system? Because you understand too recently they
dictate how a program should appear. And it relates not only Windows or any GUI.
Any operating system or API influence what a program is. So, why do you object to
tryings to outline how an application could develop separately in each aspect.

Well, I dare to utter personal remark... I conceive Uniform Abstract Language (UA)
http://www.geocities.com/ResearchTriangle/Facility/2320/ua/ (here information is
slightly outdated but you could realize what I intend to do, I hope)
My intents are to get rid of redundancy, machinelikeness, and other shortcomings.
Maybe it is only fantasies now but if even there a grain of useful thoughts it is required
to be discussed.
My imaginations are:
1. Possibility to involve in a process of application developing not only programers
but also original customers of a system. We need an abstract language which
could be compliant with programming languages. I think so: mathematics is used as
universal language for abstract representation. But it could not express all things especially
in humanitarian fields. I think it would be not bad if a chemist could oneself to specify a
design of a system which should be implemented by a developer.
2. Integration with and simultaneous disregarding of operating system. Integration means
operating system should manage some abstract entities, disregarding means
there should be not distinct boundaries between operating system and namely a program.
We have to retrieve data but do not care about how we commit it. From a file, from a web
site or either. You could realize it in an incarnation of information bus for data, code, and so on.
Yes, it means we want to think less carefully. But let give a chance to all. Let less careful ones
to make very general and abstract design of an application and after careful ones will make up
all in the most recently gadgets, widgets, or the like. Why not?
3. Cross-language implementations... It could be useful to define common traits of languages...
4. If we integrate high-level and low-level we could combine their benefits or, at least, their
shortcomings... We could gain easy modifiable and developable applications. (I mean without
recompling). Or even, we could have several  models of an application and without changing the very
application we would obtain different behaving of it.

And at last, if we could ignore something in any activity we should ignore it. We don't write in
machine codes, isn't?

>
> Jonathan S. Shapiro, Ph. D.
> IBM T.J. Watson Research Center
> Email: shapj@us.ibm.com
> Phone: +1 914 784 7085  (Tieline: 863)
> Fax: +1 914 784 7595