Comments inline.<br><br><div class="gmail_quote">On Wed, Jun 22, 2011 at 3:05 AM, David Corking <span dir="ltr">&lt;<a href="mailto:lists@dcorking.com">lists@dcorking.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">Erlis  wrote:<br>
<br>
&gt; Now I think I start understanding Jim statement, basically the statement is:<br>
&gt; Smalltalk (the language) adopted the classical way of OO instead the<br>
&gt; prototype way, so I don&#39;t have all the plasticity I was expecting...<br>
&gt;<br>
&gt; Do the smalltalkers feel this way?<br></div></blockquote><div><br></div><div>My 2 cents: one can accomplish a prototypal style using an underlying class based system and vice versa, with just a bit of complexity overhead to get it working, as long as the system is malleable and late bound. </div>
<div><br></div><div>If Smalltalk-80 had any disadvantage for going with classes, it&#39;s that one regularly has to teach new people what the instance/class toggle in the browser is all about, and a lot of folks, especially when coming from early bound systems where classes are simple blueprints and not actually themselves objects, do seem to struggle with this at first. Fortunately, it becomes natural quite quickly if there is someone around to explain it, and that&#39;s why we have these lists!</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">
</div>Perhaps. But Squeakers have access to other languages: notably Etoys.<br>
It isn&#39;t often mentioned that Etoys is an implementation of the Self<br>
computation model as a visual programming language for children.<br>
Interestingly, almost any Morphic class can easily become an Etoys<br>
object. (This won&#39;t be surprising to those who know that Morphic was<br>
first built for Self.)</blockquote><div><br></div><div>Self went with prototypes because the authors believed that it would reduce cognitive load on programmers. Prototypes also provide cleaner solutions in some case for a couple of other problems, e.g. the fragile base class problem.</div>
<div><br></div><div>Self is a really cool system. There is much less available software for it, and the community seems to be smaller than what we have in the Smalltalk world, but many of the concepts transfer. Self was intended to be &quot;more Smalltalk than Smalltalk&quot; though I wish they&#39;d have said &quot;less&quot; instead:)</div>
<div><br></div><div>I&#39;ve only dabbled with Self, but Self is alive and well here:</div><div><br></div><div><a href="http://selflanguage.org/">http://selflanguage.org/</a></div><div><br></div><div>I think this is relevant, if only because a brief study of Self gave me new insight into Smalltalk. In the case of Squeak, they&#39;ve influenced each other; Etoys supports a prototypal style built above Smalltalk, and all Squeak variants now use a GUI derived from Self.</div>
<div><br></div><div>Also of potential interest: here&#39;s an approach to adding prototypes to Smalltalk that struck me as nice and conceptually clear:</div><div><br></div><div><a href="http://scg.unibe.ch/staff/adriankuhn/protalk">http://scg.unibe.ch/staff/adriankuhn/protalk</a></div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">
B. Blochl wrote:<br>
<br>
&gt; But I think all that is a bit off topic on a Smalltalk mail list. But to remember: You had a special<br>
</div>&gt; Croqueford -question I tried to clarify. I think the future mails [s]hould focus on SmallTalk topics.<br>
<br>
Not really, in my opinion: this is a Squeak mailing list - not a<br>
Smalltalk one. Squeak has been a fertile platform for language<br>
experimentation. I would love to hear about other classless languages<br>
that have been implemented on Squeak: I think Scratch might be one.<br></blockquote><div><br></div><div>An enthusiastic +1!</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

David<br>
<br>
p.s. Off-topic: CLOS* is an interesting language inspired by<br>
Smalltalk-80, which is so flexible you might want to think of it as<br>
classless. I have never programmed in it, but its proponents sound<br>
enthusiastic about its malleability.<br>
* &#39;either one syllable rhyming with &quot;dross&quot;, or two syllables as in<br>
&quot;see-loss&quot; ... [W]ith the exception of slot accessors - all of your<br>
application&#39;s functionality lives in function and method definitions,<br>
not in classes. It&#39;s sometimes appropriate to place methods applicable<br>
to some class into the same file as that class. It&#39;s sometimes<br>
appropriate to place all the methods of a generic function into a<br>
single file. There are no language constraints on this. &#39;: Nick Levine<br>
<a href="http://cl-cookbook.sourceforge.net/clos-tutorial/index.html" target="_blank">http://cl-cookbook.sourceforge.net/clos-tutorial/index.html</a></blockquote><div><br></div><div>There&#39;s a great book about CLOS and meta object protocols called &quot;The Art of the Metaobject Protocol&quot; which can be purchased here:</div>
<div><br></div><div><a href="http://www.amazon.com/gp/product/0262610744/">http://www.amazon.com/gp/product/0262610744/</a></div><div><br></div><div>I went ahead and requested this be made available to Kindle users for those who enjoy instant reading gratification. It may be a challenging read for folks unfamiliar with Lisp, but Lisp was a strong influence on Smalltalk and is IMHO relevant to this discussion, and worth learning at some point. </div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<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>This is a fun thread:)<br clear="all"><br>-- <br>Casey Ransberger<br>