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