Wednesday, June 02, 2004

For some reason, I have not been able to make much headway learning Smalltalk. I have wrapped my mind around images, dynamic typing, blocks and all that, but whenever I try to do something worthwhile, I hit a snag and end up feeling frustrated.

Smalltalk's huge class library is both a blessing and a curse. The moment I open a System Browser, this whole class library is exposed to me (including the source). Being curious, I start browsing these classes, and, needless to say, feel overwhelmed very quickly. Java too has a huge class library, but I get the choice of sticking to only those classes/methods I need. It's thus a quick in-and-out operation. I also don't get to see the innards of the library that easily.

Some time back, I asked the folks at comp.lang.smalltalk for some ideas for hobby projects. I got a lot of responses (even a job offer -- thanks, guys), but due to various reasons I have not been able to pursue these ideas (the fact that I got a bit involved in bringing Vajra into shape didn't help matters, either). But I must say, Smalltalkers are incredibly friendly and helpful people!

The most ironic thing of all is that I discovered the pleasure of working in a Smalltalk environment while working in Java. I was trying out IBM VisualAge to port an applet-based application to Java Web Start and was really impressed with the level of productivity I was able to achieve (VAJ is heavily modelled on a typical Smalltalk IDE -- the same layout of panels for packages, classes and methods; file-less development and so on).