[Pharo-project] Popularity of Smalltalk in Software Industry

Igor Stasenko siguctua at gmail.com
Thu May 5 19:08:47 CEST 2011

On 5 May 2011 17:32, Toon Verwaest <toon.verwaest at gmail.com> wrote:
> On 05/05/2011 05:26 PM, Cédrick Béler wrote:
>>> Lastly, most Smalltalk systems are image based...
>> ...which makes you feel the system is "alive", hence one **huge benefit**
>> of Smalltalk: its debugger which enables on the fly debbuging... and also
>> test driven development (real one [1]) where you can run incomplete code and
>> code what's missing iteratively when you need it (Smalltalk is a live
>> system, not only a language as somebody said lately).
>> Cédrick
>> [1] see in particular this webcast:
>> http://www.pharocasts.com/2010/01/starting-with-sunit-and-debugger.html
> Seriously ... these points in favor of the image are so m00t. Lets see how
> it would work without an image:
> I write a C application which I link to GCC. Now I run GDB on my
> application, and while running I have the whole GCC compiler collection at
> my disposal while running. While debugging (at some breakpoint) I just let
> the GCC library compile some C code for me; I turn on the executable flag
> and whooptidoo, I have a Smalltalk like debugger for C.
> This is totally unrelated to having an image; it's just a great debugger
> implementation. 2 completely different things. No reason why this wouldn't
> work for C; except for the fact that they didn't do it yet (those lazy
> bastards).
Yes, but it affects the way how you design your applications and frameworks.
In image-based setup you tend to do things in a way, that things
should be always available
at any moment (wanna create an instance of me? - feel free to do it).

In C and other languages which having compile & run cycle it is
totally different.
Things are available for you not instantly, but only after you restart
everything from scratch,
reinitialize everything and then repeat exactly same steps to meet the
same point as before.
This is often tedious, time consuming and frustrating.

And this difference in approaches leads to fatal flaws in design, like
on Windows OS, which requires you to reboot machine every time you
install new driver(s).

Best regards,
Igor Stasenko AKA sig.

More information about the Pharo-project mailing list