Why Smalltalk isn't just "another language".

I’ve had to defend this opinion quite a few times over the years so I thought I’d write my thoughts down and provide some background:

There are two kinds of agilists. Those that have experienced Smalltalk and those that don’t know how much better things are supposed to be.

People argue that:

Both of those opinions are dead wrong.

To address these points:

It doesn’t even matter if you can get a job in it: It will make you a much better designer. I worked in Java for many years yet when I spent just two weeks in Smalltalk I found lots of ways in which my design thinking had been limited by Java and C++. If you know Smalltalk and are working in Java you can think up better designs and then try to work out how to fit them inside the crushing limitations of Java.

Moving from Java to Smalltalk feels like moving from Pascal to Prolog or Haskell felt in college. It was a mind-expanding experience not merely a syntax-changing one.

”…It’s not that people are completely stupid, but if there’s a big idea and you have deadlines and you have expedience and you have competitors, very likely what you’ll do is take a low-pass filter on that idea and implement one part of it and miss what has to be done next. This happens over and over again…” — Alan Kay, A Conversation with Alan Kay

Why impatient Java-based agilists should study Smalltalk

Interesting Design Material from the Future:

Model-View-Controller vs Model-View-Presenter, Real MVC vs “Java Model 2” MVC, the Morphic UI, the concept of “liveness” in a UI, the Seaside web framework, what a continuation server is, OLPC, traits, the 3D immersive environment called Open Croquet and Gemstone the amazing, multi-node distributed OO database environment.

Conclusion

That is all.