Pharo: An immersive programming experience
I've found a good way to approach Smalltalk systems like Pharo and Squeak is to remember they're <i>whole systems</i>, not just languages with a bolted-on IDE.<p>I like to think of each running instance as more akin to a Unix virtual machine than anything else. You end up using "in-image" version control systems like Monticello just the same way on a Unix server you use "in-operating-system" version control systems like git.