[Newbies] I don't get it

Erlis Vidal erlis at erlisvidal.com
Tue Jun 21 18:37:55 UTC 2011


Hi Blochl,

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's mainly used as supported language
for the UI.

But many interesting things are happening with it, like
http://www.silversmalltalk.com/ and Dan Ingalls' Lively Kernel.

This is the book I fully recommend to anyone that really wants to understand
the power of javascript: http://oreilly.com/catalog/9780596517748

On the other hands, I haven't look into Self or Lisaac, so, thanks for
mentioning them, I'll look into them.

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't have all the plasticity I was expecting...

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?

Thanks for all your comments,
Erlis


On Tue, Jun 21, 2011 at 12:19 PM, <bblochl at arcor.de> wrote:

>
> ----- Original Nachricht ----
> Von:     Erlis Vidal <erlis at erlisvidal.com>
> An:      smalltalk <beginners at lists.squeakfoundation.org>
> Datum:   21.06.2011 15:46
> Betreff: [Newbies] I don't get it
>
> > Hi guys,
> >
> > I was reading recently Jim Coplien ideas about DCI and I was surprised
> with
> > the following statement:
> >
> > *"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."
> > *
> > you can find it here:
> > http://blog.redtexture.net/2010/06/01/coplien-on-dci-mvc/
> >
> > 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.
> >
> > But that's just me, maybe some of you could help me to understand Jim's
> > point.
> >
> > Thanks
> > Erlis
> >
> >
> > --------------------------------
> >
> > _______________________________________________
> > Beginners mailing list
> > Beginners at lists.squeakfoundation.org
> > http://lists.squeakfoundation.org/mailman/listinfo/beginners
> >
>
> You find the answer on the page the link to you cited above:
>
> "... 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.
> ..."
>
> 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.
>
> "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's
> properties." (from
> http://stackoverflow.com/questions/186244/what-does-it-mean-that-javascript-is-a-prototype-based-language
> )
>
> There are some more prototype based languages, as for instance "io",
> derived from self. A new and interesting prototype one is Lisaac (
> http://en.wikipedia.org/wiki/Lisaac). If you are interested in an overview
> of prototype-based languaged see
> http://en.wikipedia.org/wiki/Prototype-based_programming.
>
> Let me first add, that the "siver bullet" 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 "rigidification" 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.)
>
> 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.
>
> Any flames?
>
> Have fun!
>
> B. Blochl
>
> 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. )
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20110621/c0181f8d/attachment-0001.htm


More information about the Beginners mailing list