きしむ

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ
きしむ
Squeak.svg
TimRowledgeによる1996年のオリジナルロゴ[1]
Squeak /SmalltalkMorphicユーザーインターフェイスのスクリーンショット
SqueakMorphicユーザーインターフェイスのスクリーンショット。
パラダイムオブジェクト指向
によって設計されたアラン・ケイダン・インガルスアデル・ゴールドバーグ
開発者きしむコミュニティ
初登場1996 ; 26年前 (1996
安定リリース
5.3/2020年3月4日; 2年前[2] (2020-03-04
規律の入力動的
プラットホームクロスプラットフォーム
OSクロスプラットフォームUnixライクmacOSiOSWindows、その他
ライセンスMITApache
ファイル名拡張子.image、.changes、.sources、.st
Webサイトwww .squeak .org
主な実装
きしむ、クロケット
方言
CroquetNewspeak(プログラミング言語)Pharo
に影響を受けた
SmalltalkLispLogo ; SketchpadSimula ; 自己
影響を受ける
Etoys、Tweak、CroquetScratch

Squeakは、オブジェクト指向クラスベース、およびリフレクション プログラミング言語です。これは、Smalltalk-80の元々の開発者の一部を含むグループによって、Smalltalk-80から派生したもので、最初はApple Computerで、次にWalt Disney Imagineeringで、内部のDisneyプロジェクトでの使用を目的としていました。このグループは、後にHP研究所SAP、そして最近ではYCombinatorによってサポートされることになります。

Squeakは仮想マシン(VM)で実行されるため、高度な移植性が実現します。Squeakシステムには、Squeakで記述されたVMシミュレーター[3]とともに、それが実行されるVMの新しいバージョンを生成するためのコードが含まれています

開発者

Squeakプロジェクトの重要な貢献者であるDanIngallsは、Squeakが構築されて いる論文[4]を作成し、5世代のSmalltalk言語のアーキテクチャを構築しました。

Alan KayはSqueakプロジェクトの重要な貢献者であり、Squeakは彼が提案したDynabookのコンセプトの多くの要素を取り入れています。

ユーザーインターフェイスフレームワーク

Squeakには、次の4つのユーザーインターフェイスフレームワーク が含まれています。

  • SelfのグラフィカルなダイレクトマニピュレーションインターフェイスフレームワークであるMorphic実装これはSqueakのメインインターフェースです。
  • Morphicに基づく、 Etoysでのタイルベースの限定されたビジュアルプログラミングスクリプト。
  • Tweakと呼ばれる新しい実験的なインターフェース2001年に、SqueakのEtoyアーキテクチャが、Morphicインターフェイスインフラストラクチャで実行できる限界に達していることが明らかになりました。ヒューレットパッカードの研究者アンドレアスラープは、「スクリプトプロセス」を定義し、いくつかのより一般的な問題を回避するデフォルトのスケジューリングメカニズムを提供することを提案しました。[5]これにより、将来的にSqueakMorphicユーザーインターフェイスを置き換えることが提案された新しいユーザーインターフェイスが作成されました。アイランド、非同期メッセージング、プレーヤーとコスチューム、言語拡張、プロジェクト、タイルスクリプトのメカニズムを追加しました。[6]その基礎となるオブジェクトシステムはクラスベースですが、ユーザーにとっては、プログラミング(スクリプト)中に、プロトタイプベースのように動作します。Tweakオブジェクトは、Tweakプロジェクトウィンドウで作成および実行されます。
  • モデル-ビュー-コントローラー(MVC)インターフェースは、Squeakバージョン3.8以前の主要なUIでしたこれは、MVCアーキテクチャパターンを最初に導入して普及させた元のSmalltalk-80ユーザーインターフェイスフレームワークから派生したものです。[7] MVCの名前は、フレームワークの3つのコアクラスに由来しています。したがって、Squeakのコンテキストでの「MVC」という用語は、使用可能なユーザーインターフェイスフレームワークの1つと、フレームワークが従うパターンの両方を指します。MVCは、この古いタイプのインターフェースを使用したいプログラマーのために引き続き提供されています。

を使用します

多くのSqueak寄稿者は、 Squeak上に構築され無料オープンソース仮想世界ブラウザおよび構築ツールキットで あるOpenCobaltで共同作業を行っています。

Scratchの最初のバージョンは Squeakに実装されました。

仮想会議およびコラボレーションシステムであるOpenQwaqは、Squeakに基づいています。[8]

SqueakはNintendoESオペレーティングシステムでも使用されています[9]

ライセンス

Squeak 4.0以降は、 Apache Licenseによって管理されている元のAppleコードの一部を除いて、 MITライセンスの下でライセンスされたビルド済みの仮想マシンイメージとして、ソースコードを含めて無料でダウンロードできます

Squeakは元々、Appleが独自のSqueakライセンスの下でリリースしたものです。ソースコードが利用可能であり、変更が許可されている間、Squeakライセンスには、真のフリーでオープンソースのソフトウェアとしての資格を妨げる補償条項が含まれていました。

2006年、AppleはSqueakを2回再ライセンスしました。まず、5月にAppleは独自のApple Public Source Licenseを使用しました。これは、 FreeSoftwareFoundationのFreeSoftwareLicense [10]の概念を満たし、Open SourceInitiative [11]からオープンソースライセンスとして正式に承認されています。ただし、Apple PublicSourceLicenseはDebianフリーソフトウェアガイドラインに準拠していません。子供1人につき1台のラップトップにEtoys含めることができるようにするプロジェクトでは、Apacheライセンスを使用して2回目の再ライセンスが行われました。この時点で、Squeakコミュニティのメンバーによって提供されたコードの問題に対処するための努力も行われましたが、一方的に再ライセンスすることはAppleの権限ではありませんでした。

1996年以降のSqueakライセンスに基づく貢献ごとに、MITライセンスに基づく配布を許可する再ライセンスステートメントが取得され、最終的に2010年3月に、最終結果はSqueak 4.0としてリリースされ、現在はMITとApacheのライセンスが組み合わされています。[12]

きしむ仮想マシン

Squeak仮想マシンは、 Smalltalkプログラミング言語の実装で使用される仮想マシン(VM)ファミリーです。[3]これらはSmalltalk実装の重要な部分です。すべてオープンソースソフトウェアです。現在のVMは、高性能の動的変換システムです。関連するコードは、GitHubのOpenSmalltalk/opensmalltalk-vmリポジトリに保持されています。

その他のSqueak仮想マシン

も参照してください

参照

  1. ^ 「Tim:SqueakSmalltalk」2016年2月28日取得
  2. ^ 「5.3リリースノート」
  3. ^ a b ミランダ、エリオット; ベラ、クレメント; Gonzalez Boix、Elisa; インガルス、ダン(2018)。「20年間のsmalltalkVM開発:シミュレーションツールによるライブVM開発」仮想マシンと中間言語に関する第10回ACMSIGPLAN国際ワークショップの議事録(PDF)ACMデジタルライブラリ。pp。57–66。土井10.1145/3281287.3281295ISBN  9781450360715S2CID53116661  _ 2020年11月9日取得
  4. ^ インガルス、ダン; ケーラー、テッド; マロニー、ジョン; ウォレス、スコット; ケイ、アラン(1997)。「バック・トゥ・ザ・フューチャー:それ自体で書かれた実用的なSmalltalkであるSqueakの物語」ACMSIGPLANの通知ACMデジタルライブラリ。32(10):318–326。土井10.1145/263700.263754 2011年6月12日取得
  5. ^ 「微調整:OriginalTweakMemo」Tweakproject.org。2001-07-06。2011-10-02にオリジナルからアーカイブされました2011年6月12日取得
  6. ^ 「微調整:ホワイトペーパー」Tweakproject.org。2011-10-02にオリジナルからアーカイブされました2011年6月12日取得
  7. ^ バーベック、スティーブ(1997-04-04)。「Model-View-Controller(MVC)の使用方法」St-www.cs.uiuc.edu。2009年8月1日にオリジナルからアーカイブされまし2011年6月12日取得
  8. ^ 「没入型コラボレーションの前進」2011年5月3日。
  9. ^ 「ニンテンドーのESオープンソースオペレーティングシステムの内部」ガマスートラ2007-12-04 2007年12月5日取得
  10. ^ 「ApplePublicSourceLicense(APSL)2.0に関するFSFの意見」Gnu.org。2011-05-07 2011年6月12日取得
  11. ^ 「APSLの明確化:プレスリリースOSはAPSLのステータスを明確にします」Opensource.org。1999-03-17 2011年6月12日取得
  12. ^ 「Squeak4.0がリリースされました-現在MIT/Apacheライセンスの下にあります」Hオープン。2010-03-16 2011年6月12日取得
  13. ^ フロイデンベルク、バート; インガルス、ダン; Felgentreff、Tim; パペ、トビアス; ヒルシュフェルト、ロバート(2014)。「SqueakJS:どのブラウザでも動作するモダンで実用的なsmalltalk」ACMSIGPLANの通知ACMデジタルライブラリ。50(2):57–66。土井10.1145/2775052.2661100 2020年11月9日取得
  14. ^ フリードリッヒ・ボルツ、カール; クーン、エイドリアン; リエンハルト、エイドリアン; マサキス、ニコラス; Nierstrasz、オスカー; Renggli、Lukas; リゴ、アーミン; Verwaest、Toon(2008)。「1週間で未来に戻る—PyPyでのSmalltalkVMの実装」自立システムコンピュータサイエンスの講義ノート。5146.スプリンガー、ベルリン、ハイデルベルク。pp。123–139。土井10.1007/978-3-540-89275-5_7ISBN 978-3-540-89274-82020年11月9日取得
  15. ^ Niephaus、Fabio; Felgentreff、Tim; ヒルシュフェルト、ロバート(2019)。「GraalSqueak:ポリグロットプログラミング用のsmalltalkベースのツールプラットフォームに向けて」マネージドプログラミング言語とランタイムに関する第16回ACMSIGPLAN国際会議の議事録-MPLR2019ACMデジタルライブラリ。pp。14–26。土井10.1145/3357390.3361024ISBN 9781450369770S2CID204728643  _ 2020年11月9日取得

外部リンク