<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Jecel Assumpcao Jr wrote:
<blockquote TYPE=CITE>Eis o email que você não recebeu -
<p>----------  Forwarded Message  ----------
<br>Subject: Re: [self-interest] Self versus classes
<br>Date: Wed, 14 Mar 2001 20:37:39 -0500
<br>From: Jecel Assumpcao Jr <jecel@merlintec.com>
<br>To: self-interest@yahoogroups.com
<p>On Tuesday 13 March 2001 13:23, Albertina Lourenci wrote:
<br>> I am preparing to submit a paper to OOPSLA'01 about an
<br>> hermeneutic understanding of Object oriented programming.
<br>> Last  OOPLA, Rayside and Campbell  proposed An Aristotelian
<br>> understanding of object-oriented programming.
<br>> It is based on Aristotelian logic.
<p>I think that the Plato versus Aristoteles debate in programming dates
<br>at least from the mid 1980s.
<p>   <a href="http://citeseer.nj.nec.com/lieberman86using.html">http://citeseer.nj.nec.com/lieberman86using.html</a>
<br>   <a href="http://citeseer.nj.nec.com/48544.html">http://citeseer.nj.nec.com/48544.html</a>
<br> </blockquote>

<p><br>Thanks for this nice site. However you are mistaken. Hermeneutics
<br>has nothing to see with Platonic thinking. To the contrary, hermeneutics
<br>is the way of being of art. Platonic thinking would rather be being
<br>taught by the Hand of God how to paint a picture or it is rather
<br>connected to religious thinking. The eternal revelations  that
<br>God reveals to men. And indeed to pursue my last postdoctorate
<br>scientific report I had simply to show that Platonic reasoning
<br>does not fit human reality anymore. The new modern God
<br>manifestant Baha'u'llah has the truth for the modern times.
<br>Among them the truth that the woman is equal to the man.
<br>This was stated in 1853 in Persia and give rise to the new modern
<br>religion baha'í faith !!!! There were twenty thousand martyrs!
Moslem
<br>martyrs stating that the woman is equal to the man!!! Among
<br>other  truths! The overwhelming majority of Western men
<br>around me are not more than blatant chauvinist pigs!!!
<br>This challenges human comprehension!!!  And of course
<br>women are evolving however they do not care  very much
<br>if they are still rather dependent on men for everything.
<p>To dismantle the Platonic thinking followed by philosophers
<br>such as Heidegger, and poets
<br>such as Rilke and abstract artists such as Mondrian and  Kandinsky
<br>was not that easy. They all wanted to create a new scale of value
<br>for the new world at the beginning of the twentieth century. And
<br>of course their "new scale of values" based on Platonic thinking
<br>necessarily implied the inferiority of women!!!!!!!!!!!
<p>Hence hermeneutics is thoroughly worried in revealing the
<br>thingness of things and  hence opening the gate to a new way
<br>of thinking based on qualities associated with opening, ability
<br>of new discoveries, courage to jump into the unknown and
<br>becoming trailblazers necessarily leading to a creative life.
<br>And the hermeneutic creative implies above all to mimic
<br>the autopoietic nature of life. It essentialy has the nature
<br>of the dialogue, the play, the form of the question and so on.
<blockquote TYPE=CITE> 
<br>> It seems to me that the computer scientists have difficulty
<br>> in truly grasping the thingness of the things that can be
<br>> very well expressed in OO paradigm.
<p>Most computer scientists have a pure mathematical background or
<br>inclination. Alan Kay divided his time between mathematics and
<br>molecular biology. That problably helped..</blockquote>

<p><br>Sure. Being concerned with Biology since I was twelve years old
<br>especially molecular biology and genetics made  it easy for me
<br>to develop my ecodesign model and identify the OO paradigm
<br>is fundamental to implement it.
<blockquote TYPE=CITE> 
<p>> Hence they insist on focussing the class concept as central in
<br>> OO programming.
<p>It was a key concept in Simula and Smalltalk. Most languages that
<br>followed them just took classes for granted, specially since they fit
<br>in so well with abstract data types (ADT) that everyone was worried
<br>about in the late 1970s.
<p>> I will take for granted this to ease the discussion. Of course
<br>> my opinion is that the object is the central concept.
<p>It is called  "object oriented programming", after all, and not
class
<br>oriented programming. Classic programming, perhaps?
<br> </blockquote>
Yes because computer scientists are rather interested  in implementing
<br>scientific projects hence demanding an Aristotelian understanding of
the
<br>phenomena around us. Mostly top-down approach. However OO
<br>programming eases bottom-up approach.
<br>Especially prototype based languages.What I think is terrific here
<br>and confirms the truth of my search towards hermeneutics is the
<br>redirection of Alexander's trends of research tuning with the
<br>hermeneutic thinking. In his lecture delivered at OOPSLA'96, invited
<br>by Jim Coplien since he was the inspirer of the Design Patterns
<br>of the GOF and published at IEEE Software September/October 1999
<br>he emphasizes the need to identify living structure with a reasonable
<br>level of objectivity, and once having identified the primitive elements
<br>of all wholeness, namely a recursive structure based on repeated
<br>appearances of a single type of entity. He calls these entities centers.
<br>He pursues all wholeness is built from centers, and centers are
<br>recursively defined in terms of other centers. Centers have life
<br>or not in different degree, according to the degree that the centers
<br>are built from other centers.
<br>He pursues stretching a bit, he thinks there may even be a little
<br>bit of a connection between the geometric centers which appear
<br>as the building blocks of all life in buildings, and the software
<br>entiities that you call objects. Centers are field-like structures
<br> that appear in some region of space. They don't have sharp
<br>boundaries, buth they are the focal organizing entities that one
<br>perceives at the core of all pattern, all structure and all wholeness.
<br>Everything is made of these kinds of centers.
<br>For me it is evidently a nice description of how is programming in
<br>Self (I would like to hear here the opinion from Randy and Dave
<br>of course!!!).(page 77-78)
<br>He insists this insight goes far beyond the power of the pattern
<br>language. Although the patterns define relations which might
<br>be regarded as specific instances of the recursive interaction of
<br>centers, the overall view of centers gives a more comprehensive
<br>and more powerful results. Hence for me it is the same as
<br>telling that the design patterns are better implemented through
<br>delegation that class inheritance as the prototype based
<br>community agrees.
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<blockquote TYPE=CITE> 
<br>> So I would like Mario to join the discussion. I have reread his
<br>> nice paper about self includes:Smalltalk.
<br>> He implemented in a direct and straightforward way Smalltalk
<br>> in Self in three weeks.
<br>> The point here is that to exploit Self's possibility of let's
<br>> say translating a language into it, in my opinion is not the
<br>> same as stating that we can simulate in Self efficiently and
<br>> safely like in C++, Simula or Eiffel the class concept.
<p>Please note the paper's title: "Self includes: Smalltalk". The whole
<br>point was to prove that Self is a valid dialect of Smalltalk. Self
was
<br>designed by starting out with Smalltalk and eliminating many
<br>distinctions (inheritance versus instanciation, instance variables
<br>versus global variables, object cloning versus method activations and
<br>so on). Some people thought that with all these simplifications Self
<br>might have become less than Smalltalk. Mario showed that just adding
a
<br>few support objects and a parser (since there are slight syntax
<br>differences) full compatibility with Smalltalk-80 was obtained.
<p>A very different effort was Pep, which translated Java bytecodes into
<br>Self bytecodes. This just made use of the virtual machine (much as
<br>several languages have made use of Java's virtual machine) and not
<br>really the Self language itself. Nobody would argue that Self is a
kind
<br>of Java :-)
<p>Of course, you can implement nearly any language in nearly any other
<br>language. That just proves that computers, and languages, are universal
<br>machines. But writing a Lisp interpreter or compiler in C says very
<br>little about the relationships between those two languages.
<p>But Mario didn't implement a Smalltalk interpreter or compiler in Self.
<br>He didn't even just use the Self virtual machine to run translated
<br>Smalltalk code (though it did that). He made use of Self's boolean
and
<br>integer objects among others. The new Smalltalk objects *looked* like
<br>Self objects and could be used as such.
<p>This effort did prove that the full semantics of classes, as
<br>implemented in Smalltalk, are available in Self. C++ or Eiffel classes
<br>are another story.
<br> </blockquote>

<p><br>After citing Alexander as above, I believe the doubt in understanding
<br>the gist of Self is over. And if Mario grasps the power of Alexander's
<br>saying he would not be concerned anymore with this kind of concern.
<br>What matters, SELF IS HERMENEUTIC AND Smalltalk is not.
<br>A dialect that has a different nature from Smalltalk!!! This is divine!
<blockquote TYPE=CITE> 
<br>> Suppose the user wants to implement in Self the classification
<br>> of the families, genera and species. Is Self fit to do this?
<p>Sure: make genera objects the parents of species objects, and the
<br>family objects the parents of genera objects.
<p>   flipper = ( | species* = tursiops.
<br>                     
age <- 3.
<p>                 
| )
<p>   tursiops = ( | genera* = truncatus.
<br>                        
popularName = 'bottle-nosed dolphin'.
<br>                        
color = paint named: 'gray'.
<p>                    
| )
<p>   truncatus = ( | family* = delphinidae.
<p>                      
| )
<p>   delphinidea = ( | suborder* = odontoceti.
<p>                         
| )
<p>   odontoceti = ( | order* = cetacea.
<br>                            
spiracles = 1.
<br>                            
hasTeeth = true.
<p>                        
| )
<p>   cetacea = ( | infraclass* = euthenia.
<br>                       
forwardLimbs = paddles.
<br>                       
rearLimbs = false.
<p>                   
| )
<p>   euthenia = ( | subclass* = thenia.
<br>                        
placental = true.
<p>                    
| )
<p>   thenia = ( | class* = mammalia.
<br>                    
eggLaying = false.
<p>                
| )
<p>I don't think this could be done any better in another language, and
<br>would actually be worse in many of them.
<br> </blockquote>
I do thank you for the sweet example with the dolphin. But by now
<br>it is clear to me that Self has more strongly the same nature of
<br> my ecodesign model I mean the classes construction in Self has
<br>the flavour of reasoning as an autopoietic entity. I mean it is
<br>very easy to handle though  different, arbitrary objects 
united
<br>in a class concept. For example a neighborhood consists of
<br>many different buildings. LIkewise due to the prototyping
<br>allowing differential programming, this magic effect can
<br>result in Self. Hope you grasp what I mean. Class programming
<br>only allows for similar objects hence calling the urgent need
<br>for design patterns to reach more expressiveness.
<br> 
<blockquote TYPE=CITE> 
<br>> If so why then computer scientists even enjoying and loving Self
<br>> have difficulties to understand it and program in it?
<p>Not many people have ever seen a running Self system. I don't think
<br>that those who have had problems understanding it or tried to program
<br>in Self and failed. If that is the case for anyone on this list, please
<br>speak up so we can find out what is wrong.
<br> </blockquote>

<p><br>Well, here at the LSI where I work, there are people interested
in
<br>Self and build nice things for electrical engineering purposes. When
<br>I asked them simply about how to use the collections, they simply
<br>stated I do not need this!!!!! However as you know collection are
<br>fundamental to implement my ecodesign model. Moreover all
<br>the graphical reasoning implied.  Indeed I enjoy programming
in Self
<br>however it sounds to me like biochemistry. And I hated this very much.
<br>I almost gave up scientific high school to classic high school
because
<br>I could not stand this fragmentary viewpoint in chemistry and organic
<br>chemistry.
<blockquote TYPE=CITE> 
<br>I have seen many people who have read a few of the papers and didn't
<br>get what it is all about, but that is an entirely different matter.
<br> </blockquote>

<p><br>The papers are gorgeous, however the view conveyed is always
<br>fragmentary. So I do not really understand how Self programming
<br>environment really is. I do not have a whole view of it.
<p>Please Jecel I am not receiving my own messages through
<br>Self list. How can we mend this?
<p>Thanks for your kind attention once more.
<p>Have a fun-filled weekend,
<br>Albertina
<blockquote TYPE=CITE> 
<br>-- Jecel
<p>Your use of Yahoo! Groups is subject to
<br> <a href="http://docs.yahoo.com/info/terms/">http://docs.yahoo.com/info/terms/</a>
<p>-------------------------------------------------------</blockquote>

<pre>-- 
.----------------------------------------------------------.
| Albertina Lourenci                                       |
| PhD  in Architecture and Urbanism                        |
| post-doctorate researcher                                |
| Laboratory of Integrated Systems University of Sao Paulo |
| Avenida Professor Luciano Gualberto, 158 Travessa 3      |
| CEP: 05508-900                                           |
| Sao Paulo Sao Paulo State Brazil                         |
| Voice: +55 011 818 5254                                  |
| Fax: +55 11 211 4574                                     |
.----------------------------------------------------------.</pre>
 </html>