きしむ
![]() 1996年のオリジナルロゴはティム・ロウリッジによるもの[1] | |
![]() Squeak–Smalltalk Morphic ユーザー インターフェイスのスクリーンショット。 | |
パラダイム | オブジェクト指向 |
---|---|
デザイン: | アラン・ケイ、ダン・インガルス、アデル・ゴールドバーグ |
開発者 | Squeakコミュニティ |
初登場 | 1996年 |
安定版リリース | 「202312181441」。
/ 2023年12月20日 |
タイピングの規律 | 動的 |
プラットフォーム | クロスプラットフォーム |
OS | クロスプラットフォーム: Unix ライク、macOS、iOS、Windows、その他 |
ライセンス | MIT、Apache |
ファイル名拡張子 | .image、.changes、.sources、.st |
Webサイト | 詳しくはこちら |
主な実装 | |
クロケット | |
方言 | |
クロッケー、ニュースピーク、ファロ | |
影響を受けた | |
Smalltalk、Lisp、Logo、Sketchpad、Simula、Self | |
影響を受けた | |
Etoys、Tweak、Croquet、Scratch |
Squeak は、オブジェクト指向、クラスベース、リフレクティブな プログラミング言語です。Smalltalk -80 から派生したもので、Smalltalk-80 のオリジナル開発者の一部を含むグループによって開発されました。このグループは当初 Apple Computer に所属し、その後Walt Disney Imagineeringに移り、Disney 社内のプロジェクトで使用することを目的としていました。このグループは後にHP Labs、SAP、そして最近ではY Combinatorによってサポートされました。
Squeakは仮想マシン(VM)上で実行されるため、高い移植性を実現しています。Squeakシステムには、Squeakで記述されたVMシミュレータ[2]とともに、Squeakが実行されるVMの新しいバージョンを生成するコードが含まれています。
開発者
Squeakプロジェクトの重要な貢献者であるDan Ingallsは、Squeakの基礎となった論文[3]を執筆し、Smalltalk言語の5世代にわたるアーキテクチャを構築しました。
Alan Kay 氏は Squeak プロジェクトの重要な貢献者であり、Squeak には彼が提案したDynabookコンセプトの多くの要素が組み込まれています。
ユーザーインターフェースフレームワーク
Squeak には 4 つのユーザー インターフェイスフレームワークが含まれています。
- Selfのグラフィカル直接操作インターフェースフレームワークであるMorphicの実装。これが Squeak のメイン インターフェースです。
- Morphic をベースにした、 Etoysのタイルベースの限定ビジュアル プログラミングスクリプト。
- Tweakと呼ばれる斬新で実験的なインターフェース。2001 年、Squeak の Etoy アーキテクチャは Morphic インターフェース インフラストラクチャの限界に達していることが明らかになりました。Hewlett-Packard の研究者 Andreas Raab は、「スクリプト プロセス」を定義し、いくつかのより一般的な問題を回避するデフォルトのスケジュール メカニズムを提供することを提案しました。[4]この結果、将来 Squeak Morphic ユーザー インターフェースに代わる新しいユーザー インターフェースが提案されました。Tweak は、アイランド、非同期メッセージング、プレイヤーとコスチューム、言語拡張、プロジェクト、タイル スクリプトのメカニズムを追加しました。[5]基礎となるオブジェクト システムはクラス ベースですが、プログラミング (スクリプト) 中のユーザーにとっては、プロトタイプ ベースであるかのように動作します。Tweak オブジェクトは、Tweak プロジェクト ウィンドウで作成され、実行されます。
- モデル・ビュー・コントローラ(MVC) インターフェイスは、Squeak バージョン 3.8 以前の主要な UI でした。これは、MVC アーキテクチャ パターンを初めて導入し普及させたオリジナルの Smalltalk-80 ユーザー インターフェイス フレームワークから派生したものです。[6] MVC は、フレームワークの 3 つのコア クラスにちなんで名付けられました。したがって、Squeak のコンテキストにおける「MVC」という用語は、利用可能なユーザー インターフェイス フレームワークの 1 つと、フレームワークが従うパターンの両方を指します。この古いタイプのインターフェイスを使用したい人のために、MVC は引き続き提供されています。
用途
多くの Squeak 貢献者が、Squeak上に構築された無料のオープンソースの仮想世界ブラウザーおよび構築ツールキットであるOpen Cobaltに協力しています。
Scratchの最初のバージョンはSqueakで実装されました。[7]
仮想会議およびコラボレーションシステムであるOpenQwaqはSqueakをベースにしています。 [8]
Squeakは任天堂ESオペレーティングシステムでも使用されています。[9]
ライセンス
Squeak 4.0 以降は、 Apache Licenseによって管理される一部のオリジナルの Apple コードを除き、MIT Licenseに基づいてライセンスされたビルド済み仮想マシンイメージとして、ソース コードを含めて無料でダウンロードできます。
Squeak はもともと Apple が独自のSqueak Licenseに基づいてリリースしたものです。ソース コードは入手可能で変更も許可されていましたが、Squeak License には免責条項が含まれていたため、真の意味でのフリーでオープン ソースなソフトウェアとは言えませんでした。
2006年に、AppleはSqueakのライセンスを2度変更した。まず5月に、Appleは独自のApple Public Source Licenseを使用した。これは、 Free Software FoundationのFree Software License [10]の概念を満たし、 Open Source Initiative [11]からオープンソースライセンスとして公式に承認されている。しかし、Apple Public Source Licenseは、Debian Free Software Guidelinesに準拠していない。EtoysをOne Laptop Per Childプロジェクトに含めることができるように、Apache Licenseを使用して2回目のライセンス変更が行われた。この時点で、Squeakコミュニティのメンバーによって提供されたコードの問題に対処する努力も行われたが、Appleにはこれを一方的にライセンス変更する権限がなかった。
1996年以降、Squeakライセンスの下で行われた貢献ごとに、 MITライセンスの下での配布を許可する再ライセンス声明が取得され、最終的に2010年3月に、その結果はMITライセンスとApacheライセンスの組み合わせの下でSqueak 4.0としてリリースされました。[12]
参照
参考文献
- ^ 「Tim: Squeak Smalltalk」。2016年2月28日閲覧。
- ^ Miranda, Eliot; Béra, Clément; Gonzalez Boix, Elisa; Ingalls, Dan (2018). 「20 年間の Smalltalk VM 開発: シミュレーション ツールによるライブ VM 開発」。第 10 回 ACM SIGPLAN 国際仮想マシンおよび中間言語ワークショップの議事録(PDF) 。ACMデジタル ライブラリ。pp. 57–66。doi :10.1145 / 3281287.3281295。ISBN 9781450360715. S2CID 53116661. 2022年10月9日にオリジナルからアーカイブ(PDF)されました。2020年11月9日閲覧。
- ^ Ingalls, Dan; Kaehler, Ted; Maloney, John; Wallace, Scott; Kay, Alan (1997). 「Back to the Future: 実用的な Smalltalk を独自に記述した Squeak の物語」ACM SIGPLAN Notices . 32 (10). ACM デジタル ライブラリ: 318–326. doi : 10.1145/263700.263754 .
- ^ 「Tweak: OriginalTweakMemo」。Tweakproject.org。2001-07-06。2011-10-02にオリジナルからアーカイブ。2011-06-12に取得。
- ^ 「Tweak: Whitepapers」。Tweakproject.org。2011年10月2日時点のオリジナルよりアーカイブ。2011年6月12日閲覧。
- ^ Burbeck, Steve (1997-04-04). 「Model-View-Controller (MVC) の使用方法」St-www.cs.uiuc.edu. 2009-08-01 にオリジナルからアーカイブ。2011-06-12に取得。
- ^ “Scratch”. wiki.squeak.org . 2022年3月23日閲覧。
- ^ 「没入型コラボレーションの前進」 2011 年 5 月 3 日。
- ^ Sheffield, Brandon (2007-12-04). 「任天堂のESオープンソースオペレーティングシステムの内部」.ゲーム開発者. 2024年3月5日閲覧。
- ^ 「Apple Public Source License (APSL) 2.0 に関する FSF の意見」Gnu.org。2011 年 5 月 7 日。2011年 6 月 12 日閲覧。
- ^ 「APSL の明確化: プレス リリース OS が APSL のステータスを明確化」 Opensource.org。1999 年 3 月 17 日。2011年 6 月 12 日閲覧。
- ^ 「Squeak 4.0 がリリースされました - 現在 MIT/Apache ライセンス下にあります」。The H Open。2010 年 3 月 16 日。2011年 6 月 12 日閲覧。
外部リンク
- 公式サイト