i would say learn c++ if you want to learn a flexible, powerful language. i guess if you're more interested in it as a hobby though, then go for perl. it's very powerful and relatively easy to learn, plus there's tuts everywhere on the web. i wouldn't bother with smalltalk, it's really old and really wasn't designed to be powerful or flexible....if i remember right it was designed to program microwave ovens and dinky things like that