I have just begun to learn Smalltalk. First: Why? One reason is: Because it has survived! A computer language of that age that is still used in todays projects and also becoming more popular today must be good. Simple.
Another reason is that I heard a lot good about it. Like from Ward Cunningham. I think with Smalltalk you can learn to think different and also can learn what object oriented programming is about.
Then I am not somebody who like to learn a new language every month. So maybe there are cooler languages out there. But Java for instance really is far from elegant but rather ugly if you look at the code.
I alread had some good laughs on learning the first things. Because it is sooo simplistic and elegant. I also like all the Smalltalk success stories.
What I have done is on the one side creating a package of GNU Smalltalk for Foresight and on the other side installing a CD-ROM-Version of VisualWorks. I have discovered that the net install for VisualWorks is broken (seems that some texts are not displayed but rather created as weird folders). I wrote a mail to Cincom but did not yet get any feedback. I guess its again usually the experience with closed source software. I have also tried to install Smalltalk/X from Except Software AG via CVS, but had to find out that this is just for those who already have the proprietary compiler, which is not included in the CVS version. Again here my question if they have yet considered was not answered. Seriously I ask myself why many proprietary companies think one should buy their service if the main experience is that questions are always answered late if at all. Should I expect this to change if I where a real customer? I seriously doubt it. So I havent tried the available free version of Except yet.
I have begun using Cincoms VisualWorks and worked through one of their tutorials. That was a very nice experience. I tried to also use the examples on an open GNU Smalltalk prompt, but had to see that it seems that even the simple commands like opening a file seemed to be handled differently in each Smalltalk version. I would love to see them cooperate, agree on some basic command set – maybe call that “Smalltalk 08” and then share some free libraries – and let others contribute some more extensive libraries and clients for those who want that. Right now these differences are the biggest argument against Smalltalk to me. And the reason for this seems to me that Smalltalk has grown in a prorietary market and only recently things have opened up a bit.
You may be asking why I did not use Squeak? Well its simply that I have some packaging problems on Foresight Linux, because its not buld the standard way. I plan to make a package in the future but right now my adaption strategy is to just learn Smalltalk and look at differences. I also plan to choose the latest GNU Smalltalk (2.95b as of today) for Foresight. They saythe “Hello World” program alone runs 5 times faster on this version in relation to 2.3.5. I think Foresight users like to live on the edge and from what I’ve read the latest unstable is not broken. And I guess for most of those who will look at GNU smalltalk its rather a test area and also maybe if they know a mature commercial version more features are what they insist rather than on perfect stability. I also like to do this to help GNU Smalltalk to get feedback IF there are some bugs. So I think maybe in a year from now we might want to go back to a stable version or target a version 3.0? We’ll see.
So right now I rather work in parallel. Until now I like smalltalk and it feels much easier to me because it seems like it talks to be rather than the impression that I have to learn a language to to talk to IT.
That’s it for now. I’ll keep you updated.