[squeak-dev] A smooth interface to the old world so we don't end up sharing a grave with smalltalk

Trygve Reenskaug trygver at ifi.uio.no
Thu May 22 08:27:04 UTC 2014


On 20.05.2014 23:16, tim Rowledge wrote:
> On 20-05-2014, at 12:30 PM, Chris Cunnington <brasspen at gmail.com> wrote:
>
>> On May 20, 2014, at 3:24 PM, karl ramberg <karlramberg at gmail.com> wrote:
>>
>>> And the author  seems to agree and finishes his to do list with:
>>>
>>> "The key parts of our plan for Aurora are:
>>> ...
>>> 	• a smooth interface to the old world so we don't end up sharing a grave with smalltalk
>> I love statements like this one.
> Me too; the only thing that a 'smooth interface to the old world’ will do is make sure people use your new stuff as if it is the old stuff. That’s what happened with all those stupid languages that use C syntax ‘to help people get used to’ OOP (or functional, or whatever) and end up being JADCC in practice.
>
>
> tim
> --
> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> Strange OpCodes: XER: Exclusive ERror

I agree that we need to open new opportunities while we retain what we 
have learned to like and appreciate with Smalltalk over the past 30 
years.  Object orientation as it is realized in the Squeak/Pharo 
runtimes have a lot more to offer than we currently utilize. The 
Squeak/Pharo runtimes support objects and /object interaction/. Objects 
are specified by classes, object interaction is often specified by an 
ensamble of methods that are distributed among several classes.

The essence of object orientation is that objects interact to achieve a 
goal. This interaction can be observed by making a trace of the runtime 
flow of messages through the system.  It is sometimes hard to get a 
picture of this interaction by reading the class codes. Jim Coplien 
(Cope) and I are working on a new, two-dimensional programming paradigm 
where the interaction is explicitly specified in a new dimension.  The 
paradigm is called DCI - Data, Context, and Interaction. In the Data 
projection, /what-the-system-is/, objects are observed from their 
insides and system state is specified by classes. In the new Context 
projection, /what-the-system-does/, objects are observed from their 
outsides. System behavior in the form of object interaction is here 
visible and tangible. Participating objects are named according to the 
/role /they play in the interaction. The behavior that an object needs 
to sustain its role is added to the object while it is needed.

DCI is non-intrusive in that it does not put any constraints on regular 
Squeak programming. We expect, however, that DCI will be found useful 
and that new projects will have simpler classes and explicit code for 
system behavior. I hope to get an opportunity to present DCI at ESUG in 
August.
--Trygve



-- 
Trygve Reenskaug      mailto: trygver at ifi.uio.no
Morgedalsvn. 5A       http://folk.uio.no/trygver/
N-0378 Oslo             http://fullOO.info
Norway                     Tel: (+47) 22 49 57 27
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20140522/f7cd6315/attachment.htm


More information about the Squeak-dev mailing list