[Grace-core] Minutes of Teleconference 11-12.11.2015

James Noble kjx at ecs.vuw.ac.nz
Thu Nov 12 13:57:41 PST 2015


Hi Andrew 

> Here is what I don’t like about your abstract and the outline of the paper so far.
> 
> What we can all agree on , I think, is that objects that have their own behaviour are the central idea in OO programming, and that this behaviour is “dynamically dispatched”, i.e., chosen by the object itself in response to some request or message from another object.  That’s really all there is to say, from the outside of the object.

sure.

>  We can make another distinction between differential programming methods that depend on objects vs. differential programming methods that depend on classes, that is, between Self-like trait objects and Smalltalk-like trait objects, or between delegation and subclassing.  

right… 


> Where I fundamentally disagree with your abstract is when you say “a language cannot ``have it all'', and that designers need to choose between several incompatible design goals”

that’s true in general: the question is whether it is true specifically here

> What I think is true is that each language makes some choice from these alternative starting points, and ends up at some inevitable finishing point — a finishing point that is different from that of the languages that started somewhere else.   It is perhaps surprising that there don’t seem to be any “crossover points” — places where we can switch from one path to another.  In other words, it is perhaps surprising that we can’t start from, say, objects, and end up with a language semantics that is identical to that of a language that starts from classes.   But that does indeed seem to be the way the “physics” of this world is constructed.


right. 

> When I read your abstract, it sounds to me as if you are claiming a result like FLP impossibility: that there is some universally desired combination of stuff (like FLP’s fault tolerance, availability and consensus in distributed systems) and that we have a “proof” that we can’t have them all.  We don’t have anything like that.  There is no consensus on how differential programming, object initialization, and multiple reuse should work.  Each starting point leads, by a set of internally-consistent design decisions, to a different ending point that remains consistent with its origins, but differs from that of its cousins.
> 
> The mistake that we have been making, and continue to make, in the design of these mechanisms for Grace is to remain obstinately stuck with the idea that we have to arrive at particular destination — the “comfy chair” that we have (each) inhabited throughout our previous 20+ years of teaching.  (They are all in different places, of course.)  What we should be doing instead is listening to the design as it unfolds, and following the road where it takes us.
> 
> If we can write a paper like that, I think that it would be fascinating reading!

well let’s see how we go.

again: I’m not sure we can cover all that in this ECOOP paper,
but I still like the idea of writing an essay for SPLAMSTERDAM that covers that in more detail.

let’s see how I go on this on the next few days 

James


More information about the Grace-core mailing list