[Newbies] I don't get it

2011-06-21 Thread Erlis Vidal
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@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


RE: [Newbies] I don't get it

2011-06-21 Thread Ron Teitelbaum
Hi Erlis,

 

Class based language is very difficult for some people to grasp.  I've
trained a number of programmers.  There is this AH moment when people get
it.  Before that the idea is just so foreign to them that they have a
difficult time grasping what is going on.  I would often get the question,
but where do I put the code.  The answer is everywhere.  Thinking in terms
of objects and programming their behavior makes sense.  People get that.
Make a Robot and teach it how to walk.  If I tell the robot to walk she
does.  Ok great.  Now I have all these objects that do stuff where do I put
the code?  This is where people stumble.  In my opinion the leap to
understanding is very short.  The answer is simple.  (Answer: It depends on
how you want to interact with the user).  

 

I do not believe that anything is screwed up.  It is just a conceptual model
that requires AH!

 

All the best,

 

Ron Teitelbaum

Immersive Collaboration Expert

3d Immersive Collaboration Consulting

r...@3dicc.com

Follow me on Twitter

 http://twitter.com/RonTeitelbaum twitter.com/RonTeitelbaum 

 http://www.3dicc.com/ www.3dicc.com 

 

 

 

From: beginners-boun...@lists.squeakfoundation.org
[mailto:beginners-boun...@lists.squeakfoundation.org] On Behalf Of Erlis
Vidal
Sent: Tuesday, June 21, 2011 9:47 AM
To: smalltalk
Subject: [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@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] I don't get it

2011-06-21 Thread Bert Freudenberg
Maybe Trygve will explain? Not sure if he's reading the newbies list though. 
CC'ing.

- Bert -

On 21.06.2011, at 16:27, Ron Teitelbaum wrote:

 Hi Erlis,
  
 Class based language is very difficult for some people to grasp.  I’ve 
 trained a number of programmers.  There is this AH moment when people get it. 
  Before that the idea is just so foreign to them that they have a difficult 
 time grasping what is going on.  I would often get the question, “but where 
 do I put the code”.  The answer is everywhere.  Thinking in terms of objects 
 and programming their behavior makes sense.  People get that.  Make a Robot 
 and teach it how to walk.  If I tell the robot to walk she does.  Ok great.  
 Now I have all these objects that do stuff where do I put the code?  This is 
 where people stumble.  In my opinion the leap to understanding is very short. 
  The answer is simple.  (Answer: It depends on how you want to interact with 
 the user). 
  
 I do not believe that anything is screwed up.  It is just a conceptual model 
 that requires AH!
  
 All the best,
  
 Ron Teitelbaum
 Immersive Collaboration Expert
 3d Immersive Collaboration Consulting
 r...@3dicc.com
 Follow me on Twitter
 twitter.com/RonTeitelbaum
 www.3dicc.com
  
  
  
 From: beginners-boun...@lists.squeakfoundation.org 
 [mailto:beginners-boun...@lists.squeakfoundation.org] On Behalf Of Erlis Vidal
 Sent: Tuesday, June 21, 2011 9:47 AM
 To: smalltalk
 Subject: [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@lists.squeakfoundation.org
 http://lists.squeakfoundation.org/mailman/listinfo/beginners



___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] I don't get it

2011-06-21 Thread Erlis Vidal
Hi guys,

thanks for all responses, I hope to find more insight about this.

here is the interview in which Jim make the statement

http://www.infoq.com/interviews/coplien-dci-architecture

Minute 8:08

Erlis

On Tue, Jun 21, 2011 at 11:13 AM, Bert Freudenberg b...@freudenbergs.dewrote:

 Maybe Trygve will explain? Not sure if he's reading the newbies list
 though. CC'ing.

 - Bert -

 On 21.06.2011, at 16:27, Ron Teitelbaum wrote:

 Hi Erlis,
 ** **
 Class based language is very difficult for some people to grasp.  I’ve
 trained a number of programmers.  There is this AH moment when people get
 it.  Before that the idea is just so foreign to them that they have a
 difficult time grasping what is going on.  I would often get the question,
 “but where do I put the code”.  The answer is everywhere.  Thinking in terms
 of objects and programming their behavior makes sense.  People get that.
 Make a Robot and teach it how to walk.  If I tell the robot to walk she
 does.  Ok great.  Now I have all these objects that do stuff where do I put
 the code?  This is where people stumble.  In my opinion the leap to
 understanding is very short.  The answer is simple.  (Answer: It depends on
 how you want to interact with the user). 
 ** **
 I do not believe that anything is screwed up.  It is just a conceptual
 model that requires AH!
 ** **
 All the best,
 ** **
 *Ron Teitelbaum*
 Immersive Collaboration Expert
 *3d Immersive Collaboration Consulting***
 r...@3dicc.com
 Follow me on Twitter
 twitter.com/RonTeitelbaum
 *www.3dicc.com*
 ** **
 ** **
 ** **
  *From:* beginners-boun...@lists.squeakfoundation.org [mailto:
 beginners-boun...@lists.squeakfoundation.org] *On Behalf Of *Erlis Vidal
 *Sent:* Tuesday, June 21, 2011 9:47 AM
 *To:* smalltalk
 *Subject:* [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@lists.squeakfoundation.org
 http://lists.squeakfoundation.org/mailman/listinfo/beginners




 ___
 Beginners mailing list
 Beginners@lists.squeakfoundation.org
 http://lists.squeakfoundation.org/mailman/listinfo/beginners


___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Aw: [Newbies] I don't get it

2011-06-21 Thread bblochl
 
- Original Nachricht 
Von: Erlis Vidal er...@erlisvidal.com
An:  smalltalk beginners@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@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@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] I don't get it

2011-06-21 Thread Redtexture - Mark Jones
bblochl at arcor.de wrote:


 you can find it here:
 http://blog.redtexture.net/2010/06/01/coplien-on-dci-mvc/


 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.
...


I have taken the liberty of improving my humble blog's commentary
about Coplien's interview, by linking to Crockford's exploration of
JavaScript's prototypical inheritance system, so the next person that
comes along that is unaware of the paradigm has a link to learn more.

Prototypal Inheritance in JavaScript - Douglas Crockford
http://javascript.crockford.com/prototypal.html

Regards,
Mark Jones
redtexture
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] I don't get it

2011-06-21 Thread Erlis Vidal
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, bblo...@arcor.de wrote:


 - Original Nachricht 
 Von: Erlis Vidal er...@erlisvidal.com
 An:  smalltalk beginners@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@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 

Aw: Re: [Newbies] I don't get it

2011-06-21 Thread bblochl
 


- Original Nachricht 
Von: Erlis Vidal er...@erlisvidal.com
An:  A friendly place to get answers to even the most basic questions about
Squeak. beginners@lists.squeakfoundation.org
Datum:   21.06.2011 20:37
Betreff: Re: [Newbies] I don't get it

 Hi Blochl,
 ...
 
 But many interesting things are happening with it, like
 http://www.silversmalltalk.com/ and Dan Ingalls' Lively Kernel.
 
I know the Lively Kernel and did some tests. I have some problems with the old 
fashioned handling, that reminds me to the bloated squeak GUI. Pharo has a 
refreshing new UI aproach, closer to the nowaday commons. Another problem is, 
that there are no aplications for the Lively Kernel - maybe I am wrong? Maybe a 
blend with the cloud has some future? Would be nice to integrate Ingalls huge 
experiene into the Pharo-project?

 This is the book I fully recommend to anyone that really wants to
 understand
 the power of javascript: http://oreilly.com/catalog/9780596517748
 
I know that book and the Croqueford page 
http://javascript.crockford.com/prototypal.htmland some more  as well. There 
are many other interesting sources! Just to add one: Innocent Code: A Security 
Wake-Up Call for Web Programmers
Publisher: Wiley; 1 edition (March 15, 2004)
Language: English
ISBN-10: 0470857447
ISBN-13: 978-04708574

But I think all that is a bit off topic on a Smalltalk mail list. But to 
remember: You had a special Croqueford -question I tried to clarify. I think 
the future mails hould focus on SmallTalk topics. 

 On the other hands, I haven't look into Self or Lisaac, so, thanks for
 mentioning them, I'll look into them.
 
I do not know if hat could you inspire .- I just used that as an example to 
emphasize that there is a large spectrum of more or less prototyped 
languages.But ma be you do any thesis - then things might be different and it 
is your open horizons. 

Regards 

B. Blöchl
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: [Newbies] I don't get it

2011-06-21 Thread Bert Freudenberg
On 21.06.2011, at 21:51, bblo...@arcor.de wrote:

 I know the Lively Kernel and did some tests. I have some problems with the 
 old fashioned handling, that reminds me to the bloated squeak GUI. Pharo has 
 a refreshing new UI aproach, closer to the nowaday commons.

Could you give an example what you mean by that? Is it the look, or the 
implementation? What in particular do you like about it?

- Bert -

___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners