[Pharo-project] what is your pharo story?

Torsten Bergmann astares at gmx.de
Wed Oct 17 16:19:26 CEST 2012

Pick one ...


What I like most is that I do not rely on IDE vendors or tools
to do measure things like:

        TestCase allSubclasses size

inspect things like:

        Account allInstances collect: [:each | each value > 10 ]

or script my environment:

        TestCase allSubclasses do: [:each | each removeFromSystem ]

Try all this in any of the other "static" environments.
And yes - one can shoot itself in the foot:

        true become: false

but I like the freedom.

In any program environment you have to use a debugger. In Smalltalk you
can just save the image and continue the next work day on exactly the 
same point you left. 

In other environments you usually close the IDE in the evening and 
start to debug the program the next day again until you are at 
this point, have the stack and variables in the same state. 
Lots of wasted time and developer resources in static world...

"Rethinking the typing" as you can see

When I tell people that Smalltalk is not a language - just
a dynamic object system with a language built on top of it.
A method, a class ... anything is an object.

So if you need additions you just implement them without
waiting for the next language spec or vendors. 

Need traits, interfaces, namespaces, ... just add them.

Embed other languages: just add them (see Helvetica)

New control structures? Just implement them. An example:
Pascal hat a REPEAT UNTIL. C/C++/Java language family and
Smalltalk does not have such a construct.

The difference: in Smalltalk I can just add a new
method #repeatUntil: to BlockClosure if I really need it.


More information about the Pharo-project mailing list