Re: [Pharo-project] Are Objects really hard?
Hi Stef, S, stephane ducasse piše:
Frankly I do not care about what other people are thinking. OOP is a success look at Java, C#.
Now let us keep our energy to build better Smalltalks.
Well, after hard work it is good from time to time to make a retrospection and let our thoughts to think a bit broader, to look from a distance to our work. To see the forest and not just trees. So such debate from time to time is certainly refreshing and needed, specially if it is started from a outsider's perspective. Every wise man listen to the opinion of others. Well, of course wisely :) In this case I see a wise thinking about weaknesses of OO and Smalltalk and how to overcome it by better "best practices". For instance, the newcommers are asking where to find a guidelines for modeling OO domain models in pure OO way. In this guidelines we can emphasise above mentioned best practices, then author's claim that "no one really understands to this day how to do them right" won't be valid much anymore. Best regards Janko
Stef On Feb 11, 2012, at 1:21 PM, Janko Mivšek wrote:
Hi guys,
Again one interesting topic for this weekend to discuss. David Nolen, a Lisp and JavaScript guy posted in his blog an article titled Illiterate Programming [1] where he said:
"...Yet I think Smalltalk still fundamentally failed (remember this is a programming language originally designed to scale from children to adults) because *Objects are really hard* and no-one really understands to this day how to do them right...."
He links to Alan Kay post [2] back in 1998 where he talks about problems with inheritance:
"Here are a few problems in the naive inheritance systems we use today: confusions of Taxonomy and Parentage, of Specialization and Refinement, of Parts and Wholes, of Semantics and Pragmatics..."
Let we concentrate on broader "Objects are really hard and no-one really understands to this day how to do them right" claim and not merely inheritance, please.
Best regards Janko
[1] http://dosync.posterous.com/illiterate-programming [2] http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-April/009261.htm...
-- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si
_______________________________________________ help-smalltalk mailing list help-smalltalk@gnu.org https://lists.gnu.org/mailman/listinfo/help-smalltalk
-- Janko Mivšek Svetovalec za informatiko Eranova d.o.o. Ljubljana, Slovenija www.eranova.si tel: 01 514 22 55 faks: 01 514 22 56 gsm: 031 674 565
Someone else, who I would bet money the average mainstream programmer would not know, Kent Beck, wrote a fairly nice book. The Gang of Four, and Alpert, Brown and Woolf's "Smalltalk Companion" book are valuable reading. Simon Lewis' Art and Science of Smalltalk is excellent. The point is that people who refuse to read anything more than "Teach Yourself (insert latest fad) in 24 Hour" are perhaps not the best source of wisdom. Bill ________________________________________ From: pharo-project-bounces@lists.gforge.inria.fr [pharo-project-bounces@lists.gforge.inria.fr] on behalf of Janko Mivšek [janko.mivsek@eranova.si] Sent: Saturday, February 11, 2012 1:58 PM Cc: 'VWNC'; va-smalltalk@googlegroups.com; GNU Smalltalk; Pharo-project@lists.gforge.inria.fr; The general-purpose Squeak developers list Subject: Re: [Pharo-project] Are Objects really hard? Hi Stef, S, stephane ducasse piše:
Frankly I do not care about what other people are thinking. OOP is a success look at Java, C#.
Now let us keep our energy to build better Smalltalks.
Well, after hard work it is good from time to time to make a retrospection and let our thoughts to think a bit broader, to look from a distance to our work. To see the forest and not just trees. So such debate from time to time is certainly refreshing and needed, specially if it is started from a outsider's perspective. Every wise man listen to the opinion of others. Well, of course wisely :) In this case I see a wise thinking about weaknesses of OO and Smalltalk and how to overcome it by better "best practices". For instance, the newcommers are asking where to find a guidelines for modeling OO domain models in pure OO way. In this guidelines we can emphasise above mentioned best practices, then author's claim that "no one really understands to this day how to do them right" won't be valid much anymore. Best regards Janko
Stef On Feb 11, 2012, at 1:21 PM, Janko Mivšek wrote:
Hi guys,
Again one interesting topic for this weekend to discuss. David Nolen, a Lisp and JavaScript guy posted in his blog an article titled Illiterate Programming [1] where he said:
"...Yet I think Smalltalk still fundamentally failed (remember this is a programming language originally designed to scale from children to adults) because *Objects are really hard* and no-one really understands to this day how to do them right...."
He links to Alan Kay post [2] back in 1998 where he talks about problems with inheritance:
"Here are a few problems in the naive inheritance systems we use today: confusions of Taxonomy and Parentage, of Specialization and Refinement, of Parts and Wholes, of Semantics and Pragmatics..."
Let we concentrate on broader "Objects are really hard and no-one really understands to this day how to do them right" claim and not merely inheritance, please.
Best regards Janko
[1] http://dosync.posterous.com/illiterate-programming [2] http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-April/009261.htm...
-- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si
_______________________________________________ help-smalltalk mailing list help-smalltalk@gnu.org https://lists.gnu.org/mailman/listinfo/help-smalltalk
-- Janko Mivšek Svetovalec za informatiko Eranova d.o.o. Ljubljana, Slovenija www.eranova.si tel: 01 514 22 55 faks: 01 514 22 56 gsm: 031 674 565
2012/2/11 Janko Mivšek <janko.mivsek@eranova.si>
In this case I see a wise thinking about weaknesses of OO and Smalltalk and how to overcome it by better "best practices". For instance, the newcommers are asking where to find a guidelines for modeling OO domain models in pure OO way. In this guidelines we can emphasise above mentioned best practices, then author's claim that "no one really understands to this day how to do them right" won't be valid much anymore.
There are many books written on OO domain modeling and there is so much knowledge floating around. The claim that no one understands OO it just so stupid that it's not worth citing it. I for one do know how do it right, in any language. You don't even need an OO laguage. It has nothing do to with Smalltalk. It's about how you model real-life problems in code. I find it easy, straightforward and natural. -- Milan Mimica http://sparklet.sf.net
Milan zdravo! S, Milan Mimica piše:
Janko Mivšek
In this case I see a wise thinking about weaknesses of OO and Smalltalk and how to overcome it by better "best practices". For instance, the newcommers are asking where to find a guidelines for modeling OO domain models in pure OO way. In this guidelines we can emphasise above mentioned best practices, then author's claim that "no one really understands to this day how to do them right" won't be valid much anymore.
There are many books written on OO domain modeling and there is so much knowledge floating around.
Can you and others list some of those books and other useful resources? Which are currently most popular, which are regarded as classical? Maybe we can list them as recommended literature on our websites. Best regards Janko
The claim that no one understands OO it just so stupid that it's not worth citing it. I for one do know how do it right, in any language. You don't even need an OO laguage. It has nothing do to with Smalltalk. It's about how you model real-life problems in code. I find it easy, straightforward and natural.
-- Milan Mimica http://sparklet.sf.net
-- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si
Here is a link from a source well known to us :) If it is not linked on the Pharo site, it should be: http://stephane.ducasse.free.fr/FreeBooks.html Bill ________________________________________ From: pharo-project-bounces@lists.gforge.inria.fr [pharo-project-bounces@lists.gforge.inria.fr] on behalf of Janko Mivšek [janko.mivsek@eranova.si] Sent: Sunday, February 12, 2012 7:02 AM To: Pharo-project@lists.gforge.inria.fr; Squeak; 'VWNC'; GNU Smalltalk Subject: Re: [Pharo-project] Are Objects really hard? Milan zdravo! S, Milan Mimica piše:
Janko Mivšek
In this case I see a wise thinking about weaknesses of OO and Smalltalk and how to overcome it by better "best practices". For instance, the newcommers are asking where to find a guidelines for modeling OO domain models in pure OO way. In this guidelines we can emphasise above mentioned best practices, then author's claim that "no one really understands to this day how to do them right" won't be valid much anymore.
There are many books written on OO domain modeling and there is so much knowledge floating around.
Can you and others list some of those books and other useful resources? Which are currently most popular, which are regarded as classical? Maybe we can list them as recommended literature on our websites. Best regards Janko
The claim that no one understands OO it just so stupid that it's not worth citing it. I for one do know how do it right, in any language. You don't even need an OO laguage. It has nothing do to with Smalltalk. It's about how you model real-life problems in code. I find it easy, straightforward and natural.
-- Milan Mimica http://sparklet.sf.net
-- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si
2012/2/12 Janko Mivšek <janko.mivsek@eranova.si>
Can you and others list some of those books and other useful resources? Which are currently most popular, which are regarded as classical?
Maybe we can list them as recommended literature on our websites.
Martin Fowler is my favorite. But there is a whole history of it, starting from GOF, or Christopher Alexander if you want. Again, it has nothing to do with Smalltalk in particular. You can do crappy architecture in Smalltalk just like you can in Java or C++. -- Milan Mimica http://sparklet.sf.net
S, Milan Mimica piše:
Can you and others list some of those books and other useful resources? Which are currently most popular, which are regarded as classical?
Maybe we can list them as recommended literature on our websites.
Martin Fowler is my favorite. But there is a whole history of it, starting from GOF, or Christopher Alexander if you want. Again, it has nothing to do with Smalltalk in particular. You can do crappy architecture in Smalltalk just like you can in Java or C++.
I see many UML books around, so what is a state of UML modeling for domain models in Smalltalk? Is anyone using it? I have a feeling that Smalltalkers tend to avoid UML because of complexity (it is complex, true), but it can be used pragmatically and tailored to our use. Visualworks for instance have an nice UML class editor called ADvance (see an example [1]), but it seems hardly anyone use it. At least class diagrams are very useful for documenting the domain model. Just code is not enough. We are very weak here and maybe this is a reason why people find Smalltalk hard. Because they are lost in all that code, without any higher level picture. Janko [1] http://www.aidaweb.si/party-framework -- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si
Hi Janko! Michael Perscheid at HPI showed us his nice UML addon for squeak. Its extracting the mental model out of Smalltalk Source, drawing editable UML diagrams, that even are able to change the source. Reminds me to IBM Rational Rose, but much more advanced. IMHO, this tool should be tightly intergrated into Pharo, porting should be easy. best, Guido Stepken
I have a feeling that Smalltalkers tend to avoid UML because of complexity (it is complex, true), but it can be used pragmatically and tailored to our use. Visualworks for instance have an nice UML class editor called ADvance (see an example [1]), but it seems hardly anyone use it.
At least class diagrams are very useful for documenting the domain model. Just code is not enough. We are very weak here and maybe this is a reason why people find Smalltalk hard. Because they are lost in all that code, without any higher level picture.
Janko
[1] http://www.aidaweb.si/party-framework -- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si
True, some of the worst code I have seen lives in older Smalltalk images - real procedural mess making, but it worked. Overall, one can write junk in Smalltalk, but the point is that Smalltalk makes it easier to change bad code into good code. One thing Pharo lacks is a really nice class hierarchy browser. Some times, there is no substitute for seeing inheritance relationships undisturbed by the whims of a package browser. Bill ________________________________ From: pharo-project-bounces@lists.gforge.inria.fr [pharo-project-bounces@lists.gforge.inria.fr] on behalf of Milan Mimica [milan.mimica@gmail.com] Sent: Sunday, February 12, 2012 8:27 AM To: Pharo-project@lists.gforge.inria.fr Subject: Re: [Pharo-project] Are Objects really hard? 2012/2/12 Janko Mivšek <janko.mivsek@eranova.si<mailto:janko.mivsek@eranova.si>> Can you and others list some of those books and other useful resources? Which are currently most popular, which are regarded as classical? Maybe we can list them as recommended literature on our websites. Martin Fowler is my favorite. But there is a whole history of it, starting from GOF, or Christopher Alexander if you want. Again, it has nothing to do with Smalltalk in particular. You can do crappy architecture in Smalltalk just like you can in Java or C++. -- Milan Mimica http://sparklet.sf.net
participants (4)
-
Guido Stepken -
Janko Mivšek -
Milan Mimica -
Schwab,Wilhelm K