<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div bgcolor="#ffffff" text="#000000">
Bert,<br>
Thank you for bringing this message to my attention. I am on the
<a class="moz-txt-link-abbreviated" href="mailto:squeak-dev@lists.squeakfoundation.org">squeak-dev@lists.squeakfoundation.org</a>, but only read a few of its
messages since so few are about object orientation as Alan defined the
term.<br>
<br>
May be people have difficulties with class based languages because they
are not object oriented&nbsp; -- they are class oriented. <br>
Class based code does not reveal everything about how a system will
work (GOF p 23)<br>
Object orientation is about interacting objects. A class describes
everything about what an object will do when it receives a message. It
says nothing about where the message came from or the context in which
it was sent. Class oriented programming cannot say anything about how
objects interact to achieve a common goal.The most important things
about an object system is what happens in the space between the objects.<br>
<br>
Alan Kay coined the term "object orientation":<br>
<blockquote>“In computer terms, Smalltalk is a recursion on the notion
of computer itself. Instead of dividing “computer stuff” into things
each less strong than the whole--like data structures, procedures, and
functions which are the usual paraphernalia of programming
languages--each Smalltalk object is a recursion on the entire
possibilities of the computer. Thus its semantics are a bit like having
thousands and thousands of computers all hooked together by a very fast
network. Questions of concrete representation can thus be postponed
almost indefinitely because we are mainly concerned that the computers
behave appropriately, and are interested in particular strategies only
if the results are off or come back too slowly.”<br>
</blockquote>
I suggest you study this definition slowly and very carefully. If you
find that you think in terms of classes, polymorphism, typing, or other
paraphernalia of programming languages, you have missed the point and
you need to start again. Because here is the key to understanding the <span lang="EN-US">difference between true object orientation and procedural
programming. (I have come up with DCI as one way of realizing </span><span lang="EN-US">true object orientation </span><span lang="EN-US">in
code). </span><br>
<br>
Classes are hard to understand; true object orientation is simple.<br>
<br>
Cheers<br>
--Trygve<br>
<br>
<br>
<br>
On 2011.06.21 17:13, Bert Freudenberg wrote:
<blockquote cite="mid:E4CB13D5-B18B-47CF-86EA-757196E27F77@freudenbergs.de" type="cite">
  
  
  <div>Maybe Trygve will explain? Not sure if he's reading the newbies
list though. CC'ing.</div>
  <div><br>
  </div>
  <div>- Bert -</div>
  <br>
  <div>
  <div>On 21.06.2011, at 16:27, Ron Teitelbaum wrote:</div>
  <br>
  <blockquote type="cite"><span>
    <div lang="EN-US">
    <div>
    <div><span>Hi Erlis, </span></div>
    <div><span> &nbsp; </span></div>
    <div><span>Class based language is very difficult for some people
to grasp.&nbsp; I’ve trained a number of programmers.&nbsp; There is this AH
moment when people get it.&nbsp; Before that the idea is just so foreign to
them that they have a difficult time grasping what is going on.&nbsp; I
would often get the question, “but where do I put the code”.&nbsp; The
answer is everywhere.&nbsp; Thinking in terms of objects and programming
their behavior makes sense.&nbsp; People get that.&nbsp; Make a Robot and teach
it how to walk.&nbsp; If I tell the robot to walk she does.&nbsp; Ok great.&nbsp; Now
I have all these objects that do stuff where do I put the code?&nbsp; This
is where people stumble.&nbsp; In my opinion the leap to understanding is
very short.&nbsp; The answer is simple.&nbsp; (Answer: It depends on how you want
to interact with the user).&nbsp; </span></div>
    <div><span> &nbsp; </span></div>
    <div><span>I do not believe that anything is screwed up.&nbsp; It is
just a conceptual model that requires AH! </span></div>
    <div><span> &nbsp; </span></div>
    <div><span>All the best, </span></div>
    <div><span> &nbsp; </span></div>
    <div><b><i><span>Ron Teitelbaum </span></i></b></div>
    <div><span>Immersive Collaboration Expert </span></div>
    <div><b><span>3d Immersive Collaboration Consulting</span></b><b><span>
    </span></b></div>
    <div><span><a moz-do-not-send="true" href="mailto:Ron@3dicc.com">Ron@3dicc.com</a>
    </span></div>
    <div><span>Follow me on Twitter </span></div>
    <div><span><a moz-do-not-send="true" href="http://twitter.com/RonTeitelbaum"><span>twitter.com/RonTeitelbaum</span></a>
    </span></div>
    <div><i><span><a moz-do-not-send="true" href="http://www.3dicc.com/"><span>www.3dicc.com</span></a></span></i><span>
    </span></div>
    <div><span> &nbsp; </span></div>
    <div><span> &nbsp; </span></div>
    <div><span> &nbsp; </span></div>
    <div>
    <div>
    <div>
    <div><b><span>From:</span></b><span><span>&nbsp;</span><a moz-do-not-send="true" href="mailto:beginners-bounces@lists.squeakfoundation.org">beginners-bounces@lists.squeakfoundation.org</a><span>&nbsp;</span>[<a class="moz-txt-link-freetext" href="mailto:beginners-bounces@lists.squeakfoundation.org">mailto:beginners-bounces@lists.squeakfoundation.org</a>]<span>&nbsp;</span><b>On
Behalf Of<span>&nbsp;</span></b>Erlis Vidal<br>
    <b>Sent:</b><span>&nbsp;</span>Tuesday, June 21, 2011 9:47 AM<br>
    <b>To:</b><span>&nbsp;</span>smalltalk<br>
    <b>Subject:</b><span>&nbsp;</span>[Newbies] I don't get it </span></div>
    </div>
    </div>
    <div> &nbsp; </div>
    <div>Hi guys,<span>&nbsp;</span><br>
    <br>
I was reading recently Jim Coplien ideas about DCI and I was surprised
with the following statement:<span>&nbsp;</span><br>
    <br>
    <i>"The Smalltalk people, when they put together Smalltalk
originally the computational model was exactly right, in terms of
thinking in terms of objects. And then they screwed it up with the
language. The language is so class focused! Most languages that we’re
saddled with today had made this error."<br>
    </i><br>
you can find it here:<span>&nbsp;</span><a moz-do-not-send="true" href="http://blog.redtexture.net/2010/06/01/coplien-on-dci-mvc/">http://blog.redtexture.net/2010/06/01/coplien-on-dci-mvc/</a><br>
    <br>
Does someone knows what Jim is criticizing? In which sense the
computational model was screwed by the language? I see smalltalk as a
language that express very well the intended computational model behind.<span>&nbsp;</span><br>
    <br>
But that's just me, maybe some of you could help me to understand Jim's
point.<span>&nbsp;</span><br>
    <br>
Thanks<br>
Erlis </div>
    </div>
    </div>
_______________________________________________<br>
Beginners mailing list<br>
    <a moz-do-not-send="true" href="mailto:Beginners@lists.squeakfoundation.org">Beginners@lists.squeakfoundation.org</a><br>
    <a moz-do-not-send="true" href="http://lists.squeakfoundation.org/mailman/listinfo/beginners">http://lists.squeakfoundation.org/mailman/listinfo/beginners</a><br>
    </div>
    </span></blockquote>
  </div>
  <div><span><span><br>
  </span></span></div>
  <br>
</blockquote>
<br>
<div class="moz-signature">-- <br>




<link rel="File-List" href="x-msg://8/TrygveSignature-filer/filelist.xml">

<!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:HyphenationZone>21</w:HyphenationZone>
  <w:PunctuationKerning/>
  <w:DrawingGridHorizontalSpacing>6 pt</w:DrawingGridHorizontalSpacing>
  <w:DrawingGridVerticalSpacing>6 pt</w:DrawingGridVerticalSpacing>
  <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
  <w:DisplayVerticalDrawingGridEvery>3</w:DisplayVerticalDrawingGridEvery>
  <w:UseMarginsForDrawingGridOrigin/>
  <w:DoNotShadeFormData/>
  <w:Compatibility>
   <w:FootnoteLayoutLikeWW8/>
   <w:ShapeLayoutLikeWW8/>
   <w:AlignTablesRowByRow/>
   <w:ForgetLastTabAlignment/>
   <w:LayoutRawTableWidth/>
   <w:LayoutTableRowsApart/>
   <w:UseWord97LineBreakingRules/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]-->
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0cm;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:"Times New Roman";}
span.SpellE
        {mso-style-name:"";
        mso-spl-e:yes;}
span.GramE
        {mso-style-name:"";
        mso-gram-e:yes;}
 /* Page Definitions */
 @page
        {mso-page-border-surround-header:no;
        mso-page-border-surround-footer:no;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;
        mso-header-margin:35.4pt;
        mso-footer-margin:35.4pt;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
-->
</style><!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
        {mso-style-name:"Vanlig tabell";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-parent:"";
        mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
        mso-para-margin:0cm;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman";}
</style>
<![endif]--><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="2050"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1"/>
 </o:shapelayout></xml><![endif]-->
<div class="Section1"><p class="MsoNormal" style=""><span class="SpellE"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">Trygve</span></span><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">
Reenskaug<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>mailto: <span class="SpellE"><a class="moz-txt-link-abbreviated" href="mailto:trygver@ifi.uio.no">trygver@ifi.uio.no</a></span></span><span style="font-size: 10pt; font-family: Arial;"><o:p></o:p></span></p><p class="MsoNormal" style=""><span class="SpellE"><span class="GramE"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">Morgedalsvn</span></span></span><span class="GramE"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">.</span></span><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> 5A <span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span> <a class="moz-txt-link-freetext" href="http://folk.uio.no/trygver/">http://folk.uio.no/trygver/</a><o:p></o:p></span></p><p class="MsoNormal" style=""><span style="font-size: 10pt; font-family: Arial;">N-0378
Oslo<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Tel: (+47) 22 49 57 27<o:p></o:p></span></p><p class="MsoNormal" style=""><span class="SpellE"><span style="font-size: 10pt; font-family: Arial;">Norway</span></span><span style="font-size: 10pt; font-family: Arial;"><o:p></o:p></span></p>
</div>
</div>
</div>

</body></html>