Sunday, August 5, 2007

Why Smalltalk?

In my first post, I mentioned interest in Ruby, Erlang, and Smalltalk. It is easy to understand why the first might be of interest given the large amount of press they have been getting lately. But you may get to the last and ask:
"Why on earth would you be interested in Smalltalk? That ship set sail 30 years ago and hasn't been popular since the 80's. Think you can find a job using that language buddy?"
Popularity and finding a job aren't my motivators for learning Smalltalk, but I do have several other motivations:
  • Historical - Smalltalk was one of the first object oriented languages (Simula beat it) and as such forms the foundation of much many modern languages. I might learn Lisp for the same reason.
  • More dynamic than even Ruby - As well as having the equivalent of Ruby's duck typing (you send "messages" to objects in Smalltalk), Smalltalk programs can be changed while the program is running.
  • Seaside - An interesting web development framework.
  • Croquet - A peer-to-peer 3D environment similar in concept to Second Life. I'm planning on writing my master's thesis on "Peer-to-Peer Collaborative 3D
    Content Creation" using Croquet.
  • Interesting Environment - Smalltalk is more than a language, it is a complete environment and closer to an IDE or even an OS where you can reprogram everything including the compiler on the fly. More on this later.
I may never make a living (or even a single penny) with Smalltalk, but I think it has valuable lessons to teach me.

No comments:

Post a Comment