Squeak or Pharo for the beginning Smalltalker?
Asked Answered
T

8

40

I am a Rubyist that is just starting to dabble in Smalltalk and am trying to chose an implementation to experiment with. It seems like Squeak or Pharo would be a good choice, but I'm having trouble finding current information to help decide which one would be better. Much of what I find via Google searches is from a couple of years ago and may no longer be relevant.

Is there a clear favorite these days? If not, what are the pros and cons of each?

Tensor answered 8/12, 2011 at 6:17 Comment(0)
S
33

To certain extent, it is a matter of personal taste. Pharo is fork of Squeak intended make it more modern version of Smalltalk, sometimes at expense of not sticking to backward compatibility to Squeak.

Pharo being a fork, also means that they share much in common, from VM to huge parts of class library. Many add on packages work with both of them, and some are developed with Squeak as primary dev platform and I guess a slightly larger number of them are developed in Pharo (Seaside, Pier, etc). Both variants have free intro books: Squeak by Example, and Pharo by Example, but Pharo one seems more up to date.

Personally I prefer Pharo since it gives me cleaner and more modern feeling.

Stillhunt answered 8/12, 2011 at 8:0 Comment(0)
L
15

Another choice to learn Smalltalk is Cuis.

From the description:

Cuis is different from other Squeak variants in that it takes an active attitude towards system complexity: As systems grow older, they usually become more complex. New features are added as layers on top of whatever is below, sometimes without really understanding it, and almost always without modifying it. ... The only way to avoid this is by understanding the complete system, and re-engineering the whole system all the time. Keeping it simple and consistent.

The code is on Github. The most recent image files are here.

Cuis has around 600 classes. This makes is very doable for a single person to understand everything. Later on you might want to switch to Squeak, Pharo or another Smalltalk as the vast majority of the classes and methods are compatible.

Leoraleos answered 8/2, 2013 at 8:17 Comment(2)
600 classes compared to 7000 classes of pharo. Not bad at all , thats over 10 times simpler, I will definetly take a look at CUIS. Actually pharo has even more classes than Java 7 and Java 5 combined :D #3113382Metastasis
I updated the Cuis github repository web link. Since version 4.2 there is a new repository.Leoraleos
C
13

There are a number of interesting possible starting points:

  • Seaside-one-click to do web development;
  • MOOSE one-click to do software reengineering and create model browsers and visualizations;
  • Pharo one-click to follow the Pharo-by-example book (more up to date than the squeak one) with a more cleaned-up library;
  • Cuis for a cleaned-up graphics model (Morphic);
  • EToys one-click if you're interested in educational aspects;
  • Squeak-one-click for an environment with an abundance of interesting tools & toys.

Explain more about what you want to achieve and we can help you better

Carlacarlee answered 8/12, 2011 at 15:17 Comment(0)
B
9

The most traction right now is enjoyed by Pharo, so I'd go there. The runner-up is Visual Works. Just beware, no Smalltalk dialect is having a lot of traction right now.

My reasoning goes as follows. Today, Smalltalk is used for 2 things: Web programming and research. For both, Pharo has the upper hand (Seaside uses Pharo as its default platform, and University of Lille cranks out the most Smalltalk papers–––all built on Pharo).

The third thing Smalltalk is used for, although decreasingly so, is developing banking software. There, VW is still popular. Also, VW has the nicest object inspector.

Baldric answered 8/12, 2011 at 21:6 Comment(1)
#4. I write desktop apps (and even shell scripts) with Pharo ;) Can I be the only one left?!Myrmecology
Y
7

There might be a clear favourite but you have to develop it for yourself.

Pharo and squeak have huge parts in common. But as pharo is a fork from squeak it also means they diverge from each other.

If you look from the angle of learning smalltalk then both are equal. If you look from the angle of supported technologies then the situation might be a bit different. Most developers are either squeakers or pharoers. And developers create libraries and technology supporting frameworks. If the developer of a library is a pharoer I would expect the library to be better maintained in pharo than in squeak (and vice versa).

You should probably have a look at both and try the stuff you want to achieve. In most of the cases the experience will be the same. As soon as it stops being the same you might know your favourite already.

Yurt answered 8/12, 2011 at 14:10 Comment(0)
R
5

I'm doing a series of tutorials on how to use Squeak from very the start so naturally I am biased in favor of Squeak. Of course, I'm not afraid to use a different fork to show off specific packages most easily. For example, I use the one-click Pier image to introduce Seaside and Pier and that is basically Pharo.

Robertroberta answered 8/12, 2011 at 6:17 Comment(1)
Oh,nice. I'll take a look at the videos.Tensor
S
5

Although not strictly a Smalltalk implementation one should not overlook Newspeak. Not as yet a production environment, but if you have been torn between Alan Kay and Nicolas Wirth as language experts Newspeak is like Smalltalk and Modula2 combined.

Significance answered 11/9, 2013 at 19:4 Comment(0)
O
3

There is also VisualAge (VAST) by Instantiations and a recent edition is Smalltalk/X both of which share a similar interface, which in turn is vastly different from Pharo or Squeak. I use Pharo for my research, pet-projects and some proof of concepts stuff. My corporate software package is done in VAST/VASmalltalk/VisualAge which ever name you prefer. Also, remember, GNUSmalltalk.

Ordway answered 9/12, 2011 at 7:29 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.