Andrew and Avi just gave me a Squeak/Smalltalk tutorial over lunch. Okay, I had previously liked the syntax and the ideas, but Smalltalk is freaking cool =) Aside from being shown how I was approaching Squeak totally backwards, there are some language-isms and cultre-isms that deserve note.
Exception handling doesn't unwind the stack, it traverses up the stack looking for a handler and invokes the handler. This is so much more useful than unwinding as you can pick back up at the point the exception was thrown!. It does open up capabilities for some nasty dynamic scoping hacks, but... it opens possibilities, doesn't encourage their use. Oh yeah, and exception handling is a library. That is sweet.
The image thing was finally internalized. Despite knowing it isn't text based, I kept approaching it that way out of a force of habit. Bad Brian!
The browser makes way more sense. I thought the crippled thing I was used to in Java development environments is what I was working with. No. Bad Brian!
In the realm of the absurd, a year or so ago a bunch of folks in Stuttgart came up with the SubversionClassLoader. It actually started as the MavenClassLoader in that it would understand maven repos and fetch libraries as needed, then got silly. So, umh, someone is actually implementing the equivalent for Smalltalk. This is bizarre, scary, and cool. Know how I mentioned exception handling is a library? Raise an exception, have the system go fetch an exception handling library to deal with it. I kid you not.
So, Squeak is still kinda weird, but may be worth working with =)