I came across a Sun Developer Network article "Envisioning a New
Language: A Conversation with Sun Microsystems' Victoria
Livschitz" (at http://java.sun.com/developer/technicalArticles/
Interviews/livschitz2_qa.html), where she discusses her envisioned
Metaphors programming language. This has some big ideas, relevant to
improving improvement and to tackling significant problems. (01)
In brief, she considers the last fifty years of computing to have
been one gigantic prototype, a prototype which, as Fred Brooks
suggested in his book, we should plan to throw away. Metaphors looks
ahead to supporting 4 aspects: distributed local runtime
environments; contextual programming; autonomous executable entities;
software evolution and reuse. (02)
Some quotes: (03)
[quote]Classic inheritance ... proved to be quite useful for reuse,
both on the interface and implementation side of things. Why not go
further? For example, consider reverse inheritance -- the ability to
define a new entity as a generalization of an existing one. A Class
Vehicle abstracts class Car kind of statement may be extremely useful
in a variety of scenarios.[/quote] (04)
[quote]If programmers naturally think in terms of metaphors and
recursively build higher-level metaphors from lower-level ones, then
that should be the model for the software creation process supported
by the programming language. [/quote] (05)
[quote]Metaphors is a tentative name I chose to define a unit of
software because people seem to reason about the unknown in terms of
analogies with the known.[/quote] (06)
This is the kind of thinking we need in order to come up with better
patterns and tools. For example, through the ever more writable web
we have ever growing annotations on knowledge, accreting to AIRs -
for example through folksonomies. How to gather those into higher
order bindings / social understandings? A topics maps approach to
this might be to question how to arrive at subjects which bind
independently generated topics, for example when integrating others'
maps as feeds into my own. This could be a function enabled by a
collaborative scholarship/action tool. (07)
I find myself constantly groping both at identification of context
and at generation of new context, and at analogy as a springboard
from the one to the other. Context identification and generation seem
central to discourse, and to "growth". We have informal, out-of-
container, means for appreciating and working with these: how to
explicitly integrate them into a language and practice? (08)
At any rate, I found this article refreshing, fertile, and worth
sharing. (09)
- Mark (010)
--
This message is archived at: (011)
http://collab.blueoxen.net/forums/cgi-bin/mesg.cgi?a=yak&i=7583EAD0-A87E-4D5A-983A-AA26B301E08F@well.com (012)
|