Hi Blochl, <br><br>Thanks for your answer. I did know about Javascript computational model, but you are right, Javascript is a beautiful language and not everyone reach to fully understand it. Maybe because it&#39;s mainly used as supported language for the UI. <br>

<br>But many interesting things are happening with it, like <a href="http://www.silversmalltalk.com/">http://www.silversmalltalk.com/</a> and Dan Ingalls&#39; Lively Kernel. <br><br>This is the book I fully recommend to anyone that really wants to understand the power of javascript: <a href="http://oreilly.com/catalog/9780596517748">http://oreilly.com/catalog/9780596517748</a> <br>

<br>On the other hands, I haven&#39;t look into Self or Lisaac, so, thanks for mentioning them, I&#39;ll look into them. <br><br>Now I think I start understanding Jim statement, basically the statement is: Smalltalk (the language) adopted the classical way of OO instead the prototype way, so I don&#39;t have all the plasticity I was expecting... <br>

<br>Do the smalltalkers feel this way? Have you experienced rigidification? I can totally understand this in other languges (C#, Java, etc) but Smalltalk provides a high malleability compares to them. Are traits a way to soften the rigidification previously mentioned?  <br>

<br>Thanks for all your comments, <br>Erlis <br><br><br><div class="gmail_quote">On Tue, Jun 21, 2011 at 12:19 PM,  <span dir="ltr">&lt;<a href="mailto:bblochl@arcor.de">bblochl@arcor.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<br>
----- Original Nachricht ----<br>
Von:     Erlis Vidal &lt;<a href="mailto:erlis@erlisvidal.com">erlis@erlisvidal.com</a>&gt;<br>
An:      smalltalk &lt;<a href="mailto:beginners@lists.squeakfoundation.org">beginners@lists.squeakfoundation.org</a>&gt;<br>
Datum:   <a href="tel:21.06.2011%2015" value="+12106201115">21.06.2011 15</a>:46<br>
Betreff: [Newbies] I don&#39;t get it<br>
<div><div></div><div class="h5"><br>
&gt; Hi guys,<br>
&gt;<br>
&gt; I was reading recently Jim Coplien ideas about DCI and I was surprised with<br>
&gt; the following statement:<br>
&gt;<br>
&gt; *&quot;The Smalltalk people, when they put together Smalltalk originally the<br>
&gt; computational model was exactly right, in terms of thinking in terms of<br>
&gt; objects. And then they screwed it up with the language. The language is so<br>
&gt; class focused! Most languages that we?re saddled with today had made this<br>
&gt; error.&quot;<br>
&gt; *<br>
&gt; you can find it here:<br>
&gt; <a href="http://blog.redtexture.net/2010/06/01/coplien-on-dci-mvc/" target="_blank">http://blog.redtexture.net/2010/06/01/coplien-on-dci-mvc/</a><br>
&gt;<br>
&gt; Does someone knows what Jim is criticizing? In which sense the<br>
&gt; computational<br>
&gt; model was screwed by the language? I see smalltalk as a language that<br>
&gt; express very well the intended computational model behind.<br>
&gt;<br>
&gt; But that&#39;s just me, maybe some of you could help me to understand Jim&#39;s<br>
&gt; point.<br>
&gt;<br>
&gt; Thanks<br>
&gt; Erlis<br>
&gt;<br>
&gt;<br>
</div></div>&gt; --------------------------------<br>
<div class="im">&gt;<br>
&gt; _______________________________________________<br>
&gt; Beginners mailing list<br>
&gt; <a href="mailto:Beginners@lists.squeakfoundation.org">Beginners@lists.squeakfoundation.org</a><br>
&gt; <a href="http://lists.squeakfoundation.org/mailman/listinfo/beginners" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/beginners</a><br>
&gt;<br>
<br>
</div>You find the answer on the page the link to you cited above:<br>
<br>
&quot;... It is interesting that (as a consequence of web browsers) the most used language on the planet, JavaScript, satisfies his desire for a non-class-based object-oriented programming language.<br>
...&quot;<br>
<br>
To explain it in short: There are two paradigms of Object orientation, a class-based one and a prototype based one. The cleanest class-based one is smalltalk. There are some protype-based languages, with javascript as the most popular one - but most people do not even know that JavaScript is Prototype-based. A prototype-based language, does not make the distinction of classes vs objects: it simply has objects.<br>


<br>
&quot;A prototype-based language has the notion of a prototypical object, an object used as a template from which to get the initial properties for a new object. Any object can specify its own properties, either when you create it or at run time. In addition, any object can be associated as the prototype for another object, allowing the second object to share the first object&#39;s properties.&quot; (from  <a href="http://stackoverflow.com/questions/186244/what-does-it-mean-that-javascript-is-a-prototype-based-language" target="_blank">http://stackoverflow.com/questions/186244/what-does-it-mean-that-javascript-is-a-prototype-based-language</a>)<br>


<br>
There are some more prototype based languages, as for instance &quot;io&quot;, derived from self. A new and interesting prototype one is Lisaac (<a href="http://en.wikipedia.org/wiki/Lisaac" target="_blank">http://en.wikipedia.org/wiki/Lisaac</a>). If you are interested in an overview of prototype-based languaged see <a href="http://en.wikipedia.org/wiki/Prototype-based_programming" target="_blank">http://en.wikipedia.org/wiki/Prototype-based_programming</a>.<br>


<br>
Let me first add, that the &quot;siver bullet&quot; of programming has not yet been found. From a system design point of view it has been recognized, that class based design leads to some &quot;rigidification&quot; in growing systems. If you study the pototyping way of OOP you will find a much higher plasticiy of the system. Obviously that is what James Coplien is missing in class-based programming. (I am quite sure that many Smalltalk users will disagree. But do Smalltalk programmers really know the prototype part of JavaScript (not just the DOM) in depths? Or other prototype based languages?  As a rule  that is not the rule.)<br>


<br>
To my regret I have to add, that most of the CS-professors do not know the difference. I had a lot of trouble with this topic in the past. May be things are different in OO-research active countries.<br>
<br>
Any flames?<br>
<br>
Have fun!<br>
<br>
B. Blochl<br>
<br>
PS: A personal unsolicited advice of an old man: Do not lose any time with procedural languages! (Possible exception: You have to program close to the processors hadware.  because , to my regret, register are still now not objects. )<br>


<div><div></div><div class="h5">_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@lists.squeakfoundation.org">Beginners@lists.squeakfoundation.org</a><br>
<a href="http://lists.squeakfoundation.org/mailman/listinfo/beginners" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/beginners</a><br>
</div></div></blockquote></div><br>