Before just jumping into the coding in “Squeak by Example” I wanted to go through the first couple chapters and spend some time in the UI. The IDE always struck me as “quirky.” Initially I blamed this on its age and the fact it pre-dated many of the common standards and idioms we expect in an IDE these days. However, as I was about to jump back in I was struck by a different thought; one that will require more thought than I am putting into this post.
I realized I was having some of the same feelings as when I first started using OS/2. Sure, you could use it like you did other operating systems (e.g. Windows) but the real power came from realizing you were working with an Object Oriented User Interface rather than a Graphical User Interface. Note: “Object Oriented” here has absolutely nothing to do with the underlying code or design. It comes from how you interact with system. If you are used to common IDEs such as Eclipse, Visual Studio, etc. I am thinking you will agree the IDE is mostly focused around “tasks.” Eclipse has “Perspectives” and each perspective tends to be focused on a particular task. You have your Java Perspective, your PHP Perspective, your Source Code Control Perspective, etc. That does not mean you are unable to perform several tasks in each perspective, but the primary focus is on a specific task.
Squeak on the other hand, carries the Object model all the way through to the user interaction. This would seem to make sense, all things considered and it will require some additional thought to better quantify. I even have a book on the subject long on my ToRead list, so maybe I will have to move it up the queue so I can consider this more deeply.