hahaha XD great stuff
dynamic vs. static isn't an issue anymore dynamic won hands down already and years ago the thing now is to expand people's vision of what can be done with it and these are good points (to talk to engineers) the audience has other people too so I need more stories from the trenches :) sebastian o/ ----- Original Message ----- From: "Torsten Bergmann" <[email protected]> To: [email protected] Sent: Wednesday, October 17, 2012 11:19:26 AM Subject: [Pharo-project] what is your pharo story? Pick one ... STORY 1: ======== 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. STORY 2: ======= 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... STORY 3: ======== "Rethinking the typing" as you can see http://astares.blogspot.de/2006/08/rethinking-typing.html STORY 4: ======== 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) http://astares.blogspot.de/2009/11/helvetia-embedding-languages.html) 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. STORY X: ======== ...
