Squeak or Pharo for the beginning Smalltalker?

核能气质少年 提交于 2019-12-20 10:17:36

问题


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?


回答1:


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.




回答2:


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




回答3:


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.




回答4:


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.




回答5:


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.




回答6:


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.




回答7:


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.




回答8:


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.



来源:https://stackoverflow.com/questions/8426981/squeak-or-pharo-for-the-beginning-smalltalker

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!