Squeak
[Wikipedia|▼Menu]

SqueakSqueakのロゴ
パラダイムオブジェクト指向プログラミング
登場時期1996年 (1996)
設計者アラン・ケイダン・インガルスアデル・ゴールドバーグ
開発者アラン・ケイ、Dan Ingalls、Ted Kaehler、Scott Wallace、John Maloney、Andreas Raab、Mike Rueger
最新リリース5.2b/ 2018年10月18日 (5年前) (2018-10-18)[1]
型付け強い動的型付け[2], ダック・タイピング
方言Pharo、Croquet(英語版)
影響を受けた言語仮想機械開発環境 Smalltalk, LISP, LOGO; Sketchpad, Simula; Self
影響を与えた言語Etoys、Croquet、Scratch
プログラミング言語Squeak, Croquet
プラットフォームクロスプラットフォーム : Unix系macOSiOSWindowsなど
ライセンスMIT LicenseApache License
ウェブサイトsqueak.org
拡張子
テンプレートを表示

プログラミング言語>>他のプログラミング言語

カテゴリ / テンプレート

Squeak(スクイーク)はSmalltalk環境のひとつで、ゼロックス1980年当時の主要コンピュータメーカー(IBMDECヒューレット・パッカードApple ComputerTektronix)にライセンス供与したSmalltalk-80の販売直前バージョン (v1) をベースに、Appleが自社のLisaおよびMacintosh用に開発したApple Smalltalkから派生したものである。なお、同環境に組み込まれた(Squeak Smalltalkで記述・構築されている)タイルスクリプティング言語・開発環境のSqueak Etoysも略して「Squeak」と呼称され混同されることが多いが、両者(Squeak SmalltalkとSqueak Etoys)はプログラミング言語およびその処理系としてはまったくの別物である。
開発の経緯

1970年代パロアルト研究所での俗に言う「ダイナブックプロジェクト」において、暫定Dynabook(Altoの同チームにおける呼び名)のオペレーティングシステム (OS) およびコンピュータ環境にあたるSmalltalkの開発にたずさわったメンバー、特にアイデアパーソンのアラン・ケイ、その実装者のダン・インガルスらが中心となり、当初Appleにおいて同プロジェクトは始動した。のちにウォルト・ディズニー・イマジニアリングを経て、アラン・ケイが設立したNPOであるViewpoints Research Institute(英語版)に活動の拠点を移し現在も開発が続けられている。

開発の契機となる1995年ごろにはまだライブラリが整っていなかったJavaや、すでにいくつか存在した商業ベースIDEとして認知、発展を遂げた当時のSmalltalkには求めにくかった、自由で高度な移植性と小さいフットプリント、高機能なマルチメディア処理用ライブラリを持つことを特徴とし、それを動作させるためのOSやプラットフォームに依存しない、ユーザーサイドプログラミングを強力にサポートするコンピュータ環境を目指してその開発はスタートした。
環境と言語

Squeakも他のSmalltalk環境同様、環境記述およびデータ記述言語、およびユーザースクリプティング言語としてSmalltalkを使用できるようになっている。また、非常に古い実装に基づいてはいるものの、Smalltalk環境が当初から備えていたクラスブラウザ、オブジェクトインスペクタ、テキストエディタデバッガなどを有機的に連動させるオブジェクト指向プログラミングのための機構は、ベースとなったApple Smalltalkからそのまま環境内に引き継がれ、利用可能な状態にある。

Squeakの仮想機械(Smalltalkバイトコードインタプリタ)はSmalltalkのサブセットで記述されており、それをC言語に変換するトランスレータを用いて生成される。この独特の仮想機械開発スタイルはSqueakに高い移植性をもたらしている。実際、Squeakは各種のUNIXWindowsをはじめ、MS-DOSBeOSTRONなど、Palm OS以外のメジャーなプラットフォームに移植されており、めずらしいところでは、シャープZaurus(旧Zaurus、もしくは最近のLinux Zaurus)で動作するSqueak仮想機械も存在する。移植性を重視した初期の同仮想機械は、他の商用SmalltalkやJavaなどで行なわれる動的コンパイル(JITコンパイル)を欠いていたが、Eliot Miranda氏が新たに手がけたCogVMと呼ばれる次世代仮想機械では同機構も取り入れられ従来より5-10倍の性能向上を果たしている。

Squeak環境にはSmalltalkとは別に、Squeak eToys(あるいは Etoy、SqueakToysなど)と呼ばれるプロトタイプベースオブジェクト指向プログラミング言語・環境に近い仕組みを持つ非開発者向けプログラミング環境(タイルスクリプトシステム、あるいは単にスクリプトシステムと呼称)が実装されている。Morph(モーフ)と呼ばれる可視化に適した機構を組み込んだオブジェクトに対し、その属性(動き、色、形、振る舞いなど)を変化させる手続きを、パネル状のパーツをドラッグ&ドロップで組み合わせで表現できる。

こうした特徴から同スクリプトシステムは、プログラミング未経験者のほかに、キーボードの扱いに馴れていない低年齢層ユーザーにも容易に扱うことができる。アラン・ケイの長年の共同研究者であるキム・ローズらは、この機構が低学年向けのコンピュータ・リテラシおよび自然科学教育に活用できることに早くから目を付け、米日独での教育機関との共同プロジェクトを立ち上げてその高い教育効果を示しつつある。
多言語化と日本語対応

大島が中心となって実装したSqueakの多言語拡張に基づき、阿部、梅澤、林、山宮らによってSqueakおよびSqueak eToysの日本語化パッケージが作成された。多言語化拡張は正式版Squeakバージョン3.8以降、およびeToys用にカスタマイズされたSqueaklandバージョン2005以降に統合されており、ユーザーは正式版をダウンロードするだけで日本語を使用することができる。
アプリケーション

Squeak(およびSmalltalk)環境においては、データもアプリケーションも、そして環境自体(つまりシステム)すら、すべてSmalltalk言語で記述されたオブジェクトで構成されているため、通常のコンピュータ環境でいうところのアプリケーションソフトという概念は希薄であるが、それでもそう呼ぶに相応しいオブジェクト群を見ることができる。

開発者向け

Browser クラスやメソッド定義を閲覧したり、編集・追加するためのソフト

Inspector オブジェクトの属性を検査するためのソフト

Debugger インタプリタの内部状態やその推移を検査するためのソフト

Change Set クラスやメソッド定義に加えられた変更の履歴を管理するデータベース

Method Finder 任意の文字列を含むメソッド名やその定義を呼び出すツール

Processes プロセス閲覧・管理ツール

Transcript 通常の開発環境における標準出力的役割りを担うソフト


一般向け

Workspace
WYSIWYGタイプの書き捨てのメモ帳

GeeMail 文書と図版の共存が可能なメモ帳

PaintBox ペイントツール

Book カード型データベースおよびアクティブブック作成用のオーサリングツール

Stack HyperCardライクなオーサリングツール

File List ディレクトリ閲覧、テキストエディタ、gzip圧縮などの機能を持つファイラ

Zip Tool zip圧縮およびその展開を行なうためのツール

Scamper ウェブブラウザ(ただし多言語化時においても日本語使用不可)

Celeste メーラ(ただし多言語化時においても日本語使用不可)

ThreadNavigator プレゼンツール

Clock、Watch 時計


教育向け

Squeak eToys タイルスクリプトシステム

Nebraska ネットを介した複数ユーザーのデスクトップ共有のためのシステム

Alice 3Dオブジェクトのオーサリングのためのシステム


ゲーム

Chess チェスゲーム


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:20 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef