私はSmalltalkに手を出し始めたばかりのRubyistであり、実験する実装を選択しようとしています。SqueakまたはPharoが良い選択のようですが、どちらが良いかを判断するのに役立つ現在の情報を見つけるのに苦労しています。私がグーグル検索で見つけたものの多くは数年前のものであり、もはや関連性がないかもしれません。
最近、はっきりとしたお気に入りはありますか?そうでない場合、それぞれの長所と短所は何ですか?
ある程度、それは個人的な好みの問題です。PharoはSqueakのフォークであり、Squeakとの下位互換性に固執しないことを犠牲にして、Smalltalkのより現代的なバージョンにすることを目的としています。
Pharoがフォークであるということは、VMからクラスライブラリの巨大な部分まで、多くの共通点を共有していることも意味します。多くのアドオンパッケージは両方で動作し、一部はプライマリ開発プラットフォームとしてSqueakを使用して開発されており、Pharo(Seaside、Pierなど)で開発されているものもわずかに多いと思います。どちらのバリエーションにも無料のイントロブックがあります。SqueakbyExampleとPharobyExampleですが、Pharoの方が最新のようです。
個人的には、よりクリーンでモダンな感じがするファロが好きです。
Smalltalkを学ぶためのもう1つの選択肢は、Cuisです。
説明から:
Cuisは、システムの複雑さに対して積極的な姿勢をとるという点で、他のSqueakバリアントとは異なります。システムが古くなるにつれて、通常、システムはより複雑になります。新しい機能は、下にあるものの上にレイヤーとして追加されますが、実際には理解されていない場合もあり、ほとんどの場合、変更されていない場合もあります。...これを回避する唯一の方法は、システム全体を理解し、システム全体を常に再設計することです。シンプルで一貫性を保つ。
コードはGithubにあります。最新の画像ファイルはこちらです。
Cuisには約600のクラスがあります。これにより、1人の人間がすべてを理解することが非常に可能になります。クラスとメソッドの大部分は互換性があるため、後でSqueak、Pharo、または別のSmalltalkに切り替えることをお勧めします。
いくつかの興味深い出発点があります。
あなたが達成したいことについてもっと説明してください、そして私たちはあなたをより良く助けることができます
今一番のトラクションはファロが楽しんでいるので、そこに行きます。次点は VisualWorksです。ただ注意してください、現在、Smalltalk方言が大きな牽引力を持っているわけではありません。
私の推論は次のようになります。現在、SmalltalkはWebプログラミングとリサーチの2つの目的で使用されています。どちらの場合も、Pharoが優位に立っています(SeasideはPharoをデフォルトのプラットフォームとして使用しており、リール大学はほとんどのSmalltalkペーパーを作成しています–––すべてPharo上に構築されています)。
Smalltalkが使用される3番目の目的は、減少しているものの、銀行ソフトウェアの開発です。そこでは、VWはまだ人気があります。また、VWには最高のオブジェクトインスペクターがあります。
明らかにお気に入りがあるかもしれませんが、あなたはそれを自分で開発する必要があります。
ファロときしむ音には大きな共通点があります。しかし、ファロはきしむ音からの分岐点であるため、それらが互いに分岐することも意味します。
smalltalkを学ぶという観点から見ると、どちらも同じです。サポートされているテクノロジーの観点から見ると、状況は少し異なる可能性があります。ほとんどの開発者は、きしむ人か嫌いな人のどちらかです。また、開発者は、フレームワークをサポートするライブラリとテクノロジーを作成します。ライブラリの開発者がファロアである場合、私はライブラリがきしむよりもファロでよりよく維持されることを期待します(逆もまた同様です)。
あなたはおそらく両方を見て、あなたが達成したいことを試してみるべきです。ほとんどの場合、経験は同じです。それが同じでなくなるとすぐに、あなたはすでにあなたのお気に入りを知っているかもしれません。
私は最初からSqueakの使い方に関する一連のチュートリアルを行っている ので、当然、Squeakに偏っています。もちろん、特定のパッケージを最も簡単に見せるために別のフォークを使用することを恐れません。たとえば、ワンクリックの桟橋の画像を使用して、シーサイドと桟橋を紹介します。これは基本的にファロです。
厳密にはSmalltalkの実装ではありませんが、Newspeakを見落としてはなりません。まだ本番環境ではありませんが、言語の専門家としてAlanKayとNicolasWirthの間で引き裂かれた場合、NewspeakはSmalltalkとModula2を組み合わせたようなものです。
InstantiationsによるVisualAge(VAST)もあり、最近のエディションはSmalltalk / Xで、どちらも同様のインターフェースを共有しており、PharoやSqueakとは大きく異なります。私は研究、ペットプロジェクト、概念実証などにPharoを使用しています。私の企業ソフトウェアパッケージは、VAST / VASmalltalk/VisualAgeで作成されています。また、GNUSmalltalkを覚えておいてください。