web-dev-qa-db-ja.com

Smalltalkerを始めたばかりのSqueakまたはPharo?

私はSmalltalkに手を出し始めたばかりのRubyistであり、実験する実装を選択しようとしています。 SqueakまたはPharoが良い選択のようですが、どちらが良いかを判断するのに役立つ現在の情報を見つけるのに苦労しています。私がグーグル検索で見つけたものの多くは数年前のものであり、もはや関連性がないかもしれません。

最近、はっきりとしたお気に入りはありますか?そうでない場合、それぞれの長所と短所は何ですか?

37
gregspurrier

ある程度、それは個人的な好みの問題です。 PharoはSqueakのフォークであり、Squeakとの下位互換性に固執しないことを犠牲にして、Smalltalkのより現代的なバージョンにすることを目的としています。

Pharoがフォークであることは、VMからクラスライブラリの巨大な部分まで、多くの共通点があることも意味します。多くのアドオンパッケージは両方で機能し、一部はSqueakをプライマリとして開発されています。 devプラットフォームと私はそれらの少し多くがPharo(Seaside、Pierなど)で開発されていると思います。どちらのバリアントにも無料のイントロブックがあります:Squeak byExampleとPharoby Exampleですが、Pharoの方が最新のようです。

個人的には、ファロがよりクリーンでモダンな感じを与えるので、私はファロが好きです。

28

いくつかの興味深い出発点があります。

  • シーサイド-ワンクリックでWeb開発を行います。
  • MOOSEワンクリックでソフトウェアのリエンジニアリングを行い、モデルブラウザと視覚化を作成します。
  • Pharoをワンクリックして、Pharo-by-exampleの本(きしむ本よりも最新のもの)を、よりクリーンアップされたライブラリでフォローします。
  • クリーンアップされたグラフィックモデル(Morphic)のCuis。
  • 教育的な側面に興味がある場合は、EToysをワンクリックで。
  • きしむ-ワンクリックで、興味深いツールやおもちゃが豊富にある環境にアクセスできます。

あなたが達成したいことについてもっと説明してください、そして私たちはあなたをより良く助けることができます

11

Smalltalkを学ぶためのもう1つの選択肢は、 Cuis です。

説明から:

Cuisは、システムの複雑さに積極的な姿勢をとるという点で他のSqueakバリアントとは異なります。システムが古くなるにつれて、通常はより複雑になります。新しい機能は、下にあるものの上にレイヤーとして追加されますが、実際には理解されていない場合もあり、ほとんどの場合、変更されていません。 ...これを回避する唯一の方法は、システム全体を理解し、システム全体を常に再設計することです。シンプルで一貫性を保つ。

コードはGithubにあります。最新の画像ファイルは ここ です。

Cuisには約600のクラスがあります。これにより、一人ですべてを理解することが非常に可能になります。クラスとメソッドの大部分は互換性があるため、後でSqueak、Pharo、または別のSmalltalkに切り替えることをお勧めします。

11
z--

今一番のトラクションは Pharo が楽しんでいるので、そこに行きます。次点は Visual Works です。ただ注意してください、現在、Smalltalk方言が大きな牽引力を持っていることはありません。

私の推論は次のようになります。今日、SmalltalkはWebプログラミングと研究の2つの目的で使用されています。どちらの場合も、Pharoが優位に立っています(SeasideはデフォルトのプラットフォームとしてPharoを使用しており、リール大学はすべてPharo上に構築されたほとんどのSmalltalkペーパーを作成しています)。

Smalltalkが使用される3番目のことは、減少はしているものの、銀行ソフトウェアの開発です。そこでは、VWはまだ人気があります。また、VWには最高のオブジェクトインスペクターがあります。

6
nes1983

明らかにお気に入りがあるかもしれませんが、自分で開発する必要があります。

ファロときしむ音には大きな共通点があります。しかし、pharoはきしむ音からの分岐点であるため、互いに分岐することも意味します。

Smalltalkを学ぶという観点から見ると、どちらも同じです。サポートされているテクノロジーの観点から見ると、状況は少し異なる可能性があります。ほとんどの開発者はきしむ人または pharoersです。また、開発者は、フレームワークをサポートするライブラリとテクノロジーを作成します。ライブラリの開発者がファロアである場合、私はライブラリがきしむよりもファロでよりよく維持されることを期待します(逆もまた同様です)。

あなたはおそらく両方を見て、あなたが達成したいことを試してみるべきです。ほとんどの場合、経験は同じです。それが同じでなくなるとすぐに、あなたはすでにあなたのお気に入りを知っているかもしれません。

5
Norbert Hartl

厳密にはSmalltalkの実装ではありませんが、Newspeakを見落としてはなりません。まだ実稼働環境ではありませんが、言語の専門家としてAlanKayとNicolasWirthの間で引き裂かれた場合、 Newspeak はSmalltalkとModula2を組み合わせたようなものです。

3
Brian Atkins

私は使い方について一連のチュートリアルを行っています 最初からSqueak だから当然、Squeakを好む傾向があります。もちろん、特定のパッケージを最も簡単に見せるために別のフォークを使用することを恐れません。たとえば、ワンクリックの桟橋の画像を使用して、シーサイドと桟橋を紹介します。これは基本的にファロです。

3
Saijanai

InstantiationsによるVisualAge(VAST)もあり、最近のエディションはSmalltalk/Xで、どちらも同様のインターフェイスを共有しており、PharoやSqueakとは大きく異なります。私は研究、ペットプロジェクト、概念実証などにPharoを使用しています。私の企業ソフトウェアパッケージは、VAST/VASmalltalk/VisualAgeで作成されています。また、GNUSmalltalkを忘れないでください。

2
Dusty