[squeak-dev] what is holding back Smalltalk?

Martin Beck martin.beck at hpi.uni-potsdam.de
Sat Nov 22 11:40:04 UTC 2008


Bert Freudenberg wrote:
> Smalltalk is powerful precisely because it is different than today's 
> popular programming environments. The idea of a "live system" is too 
> strange for the masses.
> 
> The thing with the popular languages is that they all are used in pretty 
> much the same way - write source code in a file in an editor or IDE of 
> your choice, build your program, run it, debug it, ship it. This makes 
> it relatively easy to switch to a new language, it's basically just a 
> different syntax and a change in the makefiles. You can easily replace 
> parts of your project with pieces in another language. The SCM can work 
> the same. You can continue to use the editor you know in your sleep.
> 
While this still leaves the question, what is holding back "scripty" 
Smalltalks like GNU Smalltalk, one possibility is to build up an IDE 
similar to Squeak around a text-based Smalltalk: Using the existing 
sources, a "live system" containing the IDE classes and objects is built 
around them. Changed sources are propagated to the file system and vice 
versa.

Such a hybrid system (which perhaps has already been done - I don't 
know) would combine advantages from both worlds. A python scripter can 
still use text editors, a Smalltalk world user can still image based 
development (for instance, GNU ST also has image saving), while both 
work on the same system. This also (almost) solves the deployment issues 
in Squeak, like having to hide all IDE facilities from my end-users.

IMHO, if - and only *if* - the Smalltalk open source community wants to 
reach a wider range of possibile users, it has to open itself and take 
some step towards existing solutions, whether they might be inferior or 
not. This does not necessarily mean, to give up Smalltalk's special 
characteristics. For now, I see no reason why a Pythonist or Rubyist 
should completely throw away almost everything he has learnt about 
file-based software development in order to use an admittedly more 
expressive and powerful, but incomplete (where is my USB support? :( ) 
and unmodular system? Why does everything have to be replaced, like SCM, 
UI, editors...? Squeak does not have the manpower to provide bug-free 
tool-support for everything, which is BTW called "reinvention". I 
believe, things like "image as a file-system", SqueakSVN, SqueakGTK and 
similar projects are the right direction but still not enough...

Best regards,
Martin



More information about the Squeak-dev mailing list