I started using Smalltalk in 1988. It was my first love. In 2003 I had to abandon Smalltalk in favour of other technologies. This year, very unexpectedly, I was pulled into the Smalltalk world again. So I have a gap of 20 years. Here are my first impressions about what changed, and what did not.
On 31 May, I sent a message to the Pharo Users mailing list with an invitation to take a survey on the usage of the Pharo Browser. I will present the results at the ESUG'23 conference.
The results of the Pharo Browser Survey are available. Between 26 May and 3 August 2023 63 respondents answered the 33 questions of the survey. All results are included here. Although sometimes I comment on the results, I did not include a separate section to draw conclusions. Future posts will interpret these results and suggest improvements.
Calypso is the Pharo system browser. It is still very similar to all its predecessors from the past 40+ years. Of course it has many features that were not necessary or not possible a long time ago, but the basic interaction model has not changed. The Pharo browser survey showed that some features of Calypso are not well-known or not widely used. The survey did not include questions about how well…
Atlas is a modern configurable, composable, and extensible browser for Pharo. Its purpose is ambitious: replace Calypso as my standard system browser. Hopefully, in time, it will replace your standard system browser as well.
The Classification Model is a simple but powerful model to express relationships between software entities in a uniform way. It is the foundation of the Atlas browser.
From the beginning, a design goal for Atlas was to implement it in Spec. By doing so I learned a lot about Spec, not only its strenghts, but also its limitations.
It required an enormous effort to review, rewrite, and extend it, but I am happy to announce that it is finally here: the book on application building in Pharo with Spec 2.0.
SUnit is the mother of all xUnit testing frameworks. Its introduction was ground breaking, but it seems that SUnit did not evolve much over the past 25 years. Let's evaluate it.
The evaluation of SUnit highlighted some issues that are solved in modern testing frameworks. By having a look at RSpec for Ruby, we learn how those issues are addressed.
Hera is a Behaviour Driven Development framework for Pharo. It allows for a better communication of acceptance criteria between technical and non-technical people. The Hera browser allows writing Given-When-Then scenarios and translates them to classes and methods.