yak
[Top] [All Lists]

[yak@collab] Metaphors Programming Language

To: yak@xxxxxxxxxxxxxxxxxxx
From: Mark Szpakowski <szpak@xxxxxxxx>
Date: Tue, 20 Dec 2005 00:14:15 -0400
Message-id: <7583EAD0-A87E-4D5A-983A-AA26B301E08F@well.com>
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)
<Prev in Thread] Current Thread [Next in Thread>