first draft of a pharo zen
Since some of you are newcomers to smalltalk or may be did not know the value of pharo core people here is a first draft I wrote this morning thinking about pharo http://code.google.com/p/pharo/wiki/PharoZen * Beauty in the code, beauty in the comments * Simplicity is beautiful * Communication is key * Classes structure our vocabulary * Messages are our vocabulary * Polymorphism is our esperanto * Better small polymorphic classes than a large ugly one * Tests are important but can be replaced * Abstraction and composition are our friends * Explicit is better than implicit * Magic only at the right place * Simple processes to support progress * One step at a time * There is no unimportant fix * Quality is a emerging property * A system with robust abstractions that a single person can understand Stef Please comment also on the wiki.
On 24 August 2010 12:51, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Since some of you are newcomers to smalltalk or may be did not know the value of pharo core people here is a first draft I wrote this morning thinking about pharo
http://code.google.com/p/pharo/wiki/PharoZen
 * Beauty in the code, beauty in the comments  * Simplicity is beautiful  * Communication is key  * Classes structure our vocabulary  * Messages are our vocabulary  * Polymorphism is our esperanto  * Better small polymorphic classes than a large ugly one
This sounds wrong.. IDK, but i think a more correct form is following: Better a number of small polymorphic classes than a large ugly one
 * Tests are important but can be replaced  * Abstraction and composition are our friends  * Explicit is better than implicit  * Magic only at the right place  * Simple processes to support progress  * One step at a time  * There is no unimportant fix  * Quality is a emerging property  * A system with robust abstractions that a single person can understand
Amen :)
Stef Please comment  also on the wiki. _______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
-- Best regards, Igor Stasenko AKA sig.
Fixed :) again a violent proof of my english illiteracy. ;D
On 24 August 2010 12:51, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Since some of you are newcomers to smalltalk or may be did not know the value of pharo core people here is a first draft I wrote this morning thinking about pharo
http://code.google.com/p/pharo/wiki/PharoZen
* Beauty in the code, beauty in the comments * Simplicity is beautiful * Communication is key * Classes structure our vocabulary * Messages are our vocabulary * Polymorphism is our esperanto * Better small polymorphic classes than a large ugly one
This sounds wrong.. IDK, but i think a more correct form is following:
Better a number of small polymorphic classes than a large ugly one
* Tests are important but can be replaced * Abstraction and composition are our friends * Explicit is better than implicit * Magic only at the right place * Simple processes to support progress * One step at a time * There is no unimportant fix * Quality is a emerging property * A system with robust abstractions that a single person can understand
Amen :)
Stef Please comment also on the wiki. _______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
-- Best regards, Igor Stasenko AKA sig.
_______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
* A system with robust abstractions that a single person can understand
Not a system that more than one person understands? ;-) -- Marcus Denker -- http://www.marcusdenker.de INRIA Lille -- Nord Europe. Team RMoD.
On Tue, Aug 24, 2010 at 8:05 PM, Marcus Denker <marcus.denker@inria.fr>wrote:
* A system with robust abstractions that a single person can
understand
What about: * Easy to understand, easy to learn from, easy to fix Indeed I woud like to spread the idea that little is needed to contribute, don't need to be an expert guru. Community counts. Laurent.
Not a system that more than one person understands?
;-)
-- Marcus Denker -- http://www.marcusdenker.de INRIA Lille -- Nord Europe. Team RMoD.
_______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
On Aug 24, 2010, at 8:14 PM, laurent laffont wrote:
On Tue, Aug 24, 2010 at 8:05 PM, Marcus Denker <marcus.denker@inria.fr> wrote:
* A system with robust abstractions that a single person can understand
What about: * Easy to understand, easy to learn from, easy to fix
Yes learning is key for me.
Indeed I woud like to spread the idea that little is needed to contribute, don't need to be an expert guru. Community counts.
Stef
Laurent.
Not a system that more than one person understands?
;-)
-- Marcus Denker -- http://www.marcusdenker.de INRIA Lille -- Nord Europe. Team RMoD.
_______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
_______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
I like the manifesto as well. I think what Stéphane means is that you as a developer can understand the whole system. For me that is one of the main strong points of Smalltalk: an average programmer can go and look everywhere in the system, without leaving Smalltalk, and understand what is going on (provided the code is OK). This is something that is very hard almost everywhere else (even in Common Lisp for example), let alone in C. Most scripting languages cover to little ground (using too many external libraries for example). Sven On 24 Aug 2010, at 20:14, laurent laffont wrote:
On Tue, Aug 24, 2010 at 8:05 PM, Marcus Denker <marcus.denker@inria.fr> wrote:
* A system with robust abstractions that a single person can understand
What about: * Easy to understand, easy to learn from, easy to fix
Indeed I woud like to spread the idea that little is needed to contribute, don't need to be an expert guru. Community counts.
Laurent.
Not a system that more than one person understands?
;-)
-- Marcus Denker -- http://www.marcusdenker.de INRIA Lille -- Nord Europe. Team RMoD.
_______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
_______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
New version ⢠Easy to understand, easy to learn from, easy to fix ⢠Examples to learn from ⢠Fully dynamic and malleable ⢠Beauty in the code, beauty in the comments ⢠Simplicity is beautiful ⢠Communication is key ⢠Classes structure our vocabulary ⢠Messages are our vocabulary ⢠Polymorphism is our esperanto ⢠Better a number of small polymorphic classes than a large ugly one ⢠Tests are important but can be changed ⢠Abstraction and composition are our friends ⢠Explicit is better than implicit ⢠Magic only at the right place ⢠Simple processes to support progress ⢠One step at a time ⢠There is no unimportant fix ⢠Quality is a emerging property ⢠Lovely objects are everything and everything is an object. ⢠A system with robust abstractions that a single person can understand
Those are duplicates of the first one (easy to understand....), no ? * There is no unimportant fix * Examples to learn from * A system with robust abstractions that a single person can understand I like ⢠Explicit is better than implicit ⢠Magic only at the right place because I feel that's part of the essence of Pharo / Smalltalk, and a real difference compared to C, Perl, Ruby, PHP .... I'm not sure about Classes, Messages, Tests, Polymorphism, Abstraction items... IMHO these complexify the manifesto. (I like to put this one in mails: "Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away." Antoine de Saint-Exupery) I was thinking that a slogan for Pharo can be: Pharo: Beautiful. Easy. Open. Indeed it's how I resume the manifersto (but I'm doing software development, not marketing, so may be crap :) Laurent On Tue, Aug 24, 2010 at 9:10 PM, Stéphane Ducasse <stephane.ducasse@inria.fr
wrote:
New version
⢠Easy to understand, easy to learn from, easy to fix ⢠Examples to learn from ⢠Fully dynamic and malleable ⢠Beauty in the code, beauty in the comments ⢠Simplicity is beautiful ⢠Communication is key ⢠Classes structure our vocabulary ⢠Messages are our vocabulary ⢠Polymorphism is our esperanto ⢠Better a number of small polymorphic classes than a large ugly one ⢠Tests are important but can be changed ⢠Abstraction and composition are our friends ⢠Explicit is better than implicit ⢠Magic only at the right place ⢠Simple processes to support progress ⢠One step at a time ⢠There is no unimportant fix ⢠Quality is a emerging property ⢠Lovely objects are everything and everything is an object. ⢠A system with robust abstractions that a single person can understand _______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
On Tue, Aug 24, 2010 at 11:07 PM, laurent laffont <laurent.laffont@gmail.com
wrote:
Those are duplicates of the first one (easy to understand....), no ? * There is no unimportant fix * Examples to learn from * A system with robust abstractions that a single person can understand
I like ⢠Explicit is better than implicit ⢠Magic only at the right place because I feel that's part of the essence of Pharo / Smalltalk, and a real difference compared to C, Perl, Ruby, PHP ....
I'm not sure about Classes, Messages, Tests, Polymorphism, Abstraction items... IMHO these complexify the manifesto.
(I like to put this one in mails: "Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away." Antoine de Saint-Exupery)
I was thinking that a slogan for Pharo can be:
Pharo: Beautiful. Easy. Open.
Replying to myself Beautiful - in code - in abstractions - in simplicity Easy - to understand - to learn from - to fix Open - to participation - to improvement - to future Laurent
Indeed it's how I resume the manifersto (but I'm doing software development, not marketing, so may be crap :)
Laurent
On Tue, Aug 24, 2010 at 9:10 PM, Stéphane Ducasse < stephane.ducasse@inria.fr> wrote:
New version
⢠Easy to understand, easy to learn from, easy to fix ⢠Examples to learn from ⢠Fully dynamic and malleable ⢠Beauty in the code, beauty in the comments ⢠Simplicity is beautiful ⢠Communication is key ⢠Classes structure our vocabulary ⢠Messages are our vocabulary ⢠Polymorphism is our esperanto ⢠Better a number of small polymorphic classes than a large ugly one ⢠Tests are important but can be changed ⢠Abstraction and composition are our friends ⢠Explicit is better than implicit ⢠Magic only at the right place ⢠Simple processes to support progress ⢠One step at a time ⢠There is no unimportant fix ⢠Quality is a emerging property ⢠Lovely objects are everything and everything is an object. ⢠A system with robust abstractions that a single person can understand _______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
I will let it sleeps for now... Stef On Aug 25, 2010, at 10:25 AM, laurent laffont wrote:
On Tue, Aug 24, 2010 at 11:07 PM, laurent laffont <laurent.laffont@gmail.com> wrote: Those are duplicates of the first one (easy to understand....), no ? * There is no unimportant fix * Examples to learn from * A system with robust abstractions that a single person can understand
I like ⢠Explicit is better than implicit ⢠Magic only at the right place because I feel that's part of the essence of Pharo / Smalltalk, and a real difference compared to C, Perl, Ruby, PHP ....
I'm not sure about Classes, Messages, Tests, Polymorphism, Abstraction items... IMHO these complexify the manifesto.
(I like to put this one in mails: "Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away." Antoine de Saint-Exupery)
I was thinking that a slogan for Pharo can be:
Pharo: Beautiful. Easy. Open.
Replying to myself
Beautiful - in code - in abstractions - in simplicity
Easy - to understand - to learn from - to fix
Open - to participation - to improvement - to future
Laurent
Indeed it's how I resume the manifersto (but I'm doing software development, not marketing, so may be crap :)
Laurent
On Tue, Aug 24, 2010 at 9:10 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote: New version
⢠Easy to understand, easy to learn from, easy to fix ⢠Examples to learn from ⢠Fully dynamic and malleable ⢠Beauty in the code, beauty in the comments ⢠Simplicity is beautiful ⢠Communication is key ⢠Classes structure our vocabulary ⢠Messages are our vocabulary ⢠Polymorphism is our esperanto ⢠Better a number of small polymorphic classes than a large ugly one ⢠Tests are important but can be changed ⢠Abstraction and composition are our friends ⢠Explicit is better than implicit ⢠Magic only at the right place ⢠Simple processes to support progress ⢠One step at a time ⢠There is no unimportant fix ⢠Quality is a emerging property ⢠Lovely objects are everything and everything is an object. ⢠A system with robust abstractions that a single person can understand _______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
_______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
I think all the phrases should have the same "form"... or they should flow easily... for example: Simplicity is beautiful Communication is key They both have the same "form"... but they don't with: Examples to learn from Fully dynamic and malleable etc. I think we are mixing (or traiting :-) ) different goals... For example, I would change "Fully dynamic..." with something like "Fully dynamic to learn fast"... so maybe we could have: Simplicity to achieve beauty Communication to avoid repetition Fully dynamic to learn fast so all share the same "form"... and if we want to change the "form" we should do it slowly, connecting them...anyway, an style comment that I think we should have in mind. Bye, Hernan. PS: I sent the picture :-) On Tue, Aug 24, 2010 at 4:10 PM, Stéphane Ducasse <stephane.ducasse@inria.fr
wrote:
New version
⢠Easy to understand, easy to learn from, easy to fix ⢠Examples to learn from ⢠Fully dynamic and malleable ⢠Beauty in the code, beauty in the comments ⢠Simplicity is beautiful ⢠Communication is key ⢠Classes structure our vocabulary ⢠Messages are our vocabulary ⢠Polymorphism is our esperanto ⢠Better a number of small polymorphic classes than a large ugly one ⢠Tests are important but can be changed ⢠Abstraction and composition are our friends ⢠Explicit is better than implicit ⢠Magic only at the right place ⢠Simple processes to support progress ⢠One step at a time ⢠There is no unimportant fix ⢠Quality is a emerging property ⢠Lovely objects are everything and everything is an object. ⢠A system with robust abstractions that a single person can understand _______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
-- *Hernán Wilkinson Agile Software Development, Teaching & Coaching Mobile: +54 - 11 - 4470 - 7207 email: hernan.wilkinson@10Pines.com site: http://www.10Pines.com <http://www.10pines.com/>*
good! you liked the idea :-) I have a semantic problem with "Better small polymorphic classes than a large ugly one". I understand that objects are polimorphic, not clases. I think we should say something about smalltalk meta-circular property and something about that everythings is an object... For example: * We don't fear metaprogramming because it brings dinamism to live * We love objects because objects are everything and everything is an object or something like that :-) On Tue, Aug 24, 2010 at 6:51 AM, Stéphane Ducasse <stephane.ducasse@inria.fr
wrote:
Since some of you are newcomers to smalltalk or may be did not know the value of pharo core people here is a first draft I wrote this morning thinking about pharo
http://code.google.com/p/pharo/wiki/PharoZen
* Beauty in the code, beauty in the comments * Simplicity is beautiful * Communication is key * Classes structure our vocabulary * Messages are our vocabulary * Polymorphism is our esperanto * Better small polymorphic classes than a large ugly one * Tests are important but can be replaced * Abstraction and composition are our friends * Explicit is better than implicit * Magic only at the right place * Simple processes to support progress * One step at a time * There is no unimportant fix * Quality is a emerging property * A system with robust abstractions that a single person can understand
Stef Please comment also on the wiki. _______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
-- *Hernán Wilkinson Agile Software Development, Teaching & Coaching Mobile: +54 - 11 - 4470 - 7207 email: hernan.wilkinson@10Pines.com site: http://www.10Pines.com <http://www.10pines.com/>*
Technically, functions/methods are polymorphic ;) On Tue, Aug 24, 2010 at 2:30 PM, Hernan Wilkinson < hernan.wilkinson@10pines.com> wrote:
good! you liked the idea :-)
I have a semantic problem with "Better small polymorphic classes than a large ugly one". I understand that objects are polimorphic, not clases. I think we should say something about smalltalk meta-circular property and something about that everythings is an object... For example:
* We don't fear metaprogramming because it brings dinamism to live * We love objects because objects are everything and everything is an object
or something like that :-)
On Tue, Aug 24, 2010 at 6:51 AM, Stéphane Ducasse < stephane.ducasse@inria.fr> wrote:
Since some of you are newcomers to smalltalk or may be did not know the value of pharo core people here is a first draft I wrote this morning thinking about pharo
http://code.google.com/p/pharo/wiki/PharoZen
* Beauty in the code, beauty in the comments * Simplicity is beautiful * Communication is key * Classes structure our vocabulary * Messages are our vocabulary * Polymorphism is our esperanto * Better small polymorphic classes than a large ugly one * Tests are important but can be replaced * Abstraction and composition are our friends * Explicit is better than implicit * Magic only at the right place * Simple processes to support progress * One step at a time * There is no unimportant fix * Quality is a emerging property * A system with robust abstractions that a single person can understand
Stef Please comment also on the wiki. _______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
-- *Hernán Wilkinson Agile Software Development, Teaching & Coaching Mobile: +54 - 11 - 4470 - 7207 email: hernan.wilkinson@10Pines.com site: http://www.10Pines.com <http://www.10pines.com/>*
_______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
-- Marcin Tustin Mobile: 07773787105 Office: 020 3400 3259
On Aug 24, 2010, at 3:30 PM, Hernan Wilkinson wrote:
good! you liked the idea :-)
Of course! BTW you did not send your photo :)
I have a semantic problem with "Better small polymorphic classes than a large ugly one". I understand that objects are polimorphic, not clases. I think we should say something about smalltalk meta-circular property and something about that everythings is an object... For example:
* We don't fear metaprogramming because it brings dinamism to live * We love objects because objects are everything and everything is an object
or something like that :-)
I like the second.
On Tue, Aug 24, 2010 at 6:51 AM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote: Since some of you are newcomers to smalltalk or may be did not know the value of pharo core people here is a first draft I wrote this morning thinking about pharo
http://code.google.com/p/pharo/wiki/PharoZen
* Beauty in the code, beauty in the comments * Simplicity is beautiful * Communication is key * Classes structure our vocabulary * Messages are our vocabulary * Polymorphism is our esperanto * Better small polymorphic classes than a large ugly one * Tests are important but can be replaced * Abstraction and composition are our friends * Explicit is better than implicit * Magic only at the right place * Simple processes to support progress * One step at a time * There is no unimportant fix * Quality is a emerging property * A system with robust abstractions that a single person can understand
Stef Please comment also on the wiki. _______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
-- Hernán Wilkinson Agile Software Development, Teaching & Coaching Mobile: +54 - 11 - 4470 - 7207 email: hernan.wilkinson@10Pines.com site: http://www.10Pines.com
_______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
participants (7)
-
Hernan Wilkinson -
Igor Stasenko -
laurent laffont -
Marcin Tustin -
Marcus Denker -
Stéphane Ducasse -
Sven Van Caekenberghe