出典(authority):フリー百科事典『ウィキペディア(Wikipedia)』「2015/12/15 01:31:59」(JST)
作者 | Alan Kay, Dan Ingalls(英語版), Adele Goldberg(英語版) |
---|---|
開発元 | Alan Kay, Dan Ingalls, Ted Kaehler, Scott Wallace, John Maloney, Andreas Raab, Mike Rueger |
初版 | 1996年(19年前) (1996) |
最新版 | 5.0 / 2015年8月12日(4か月前) (2015-08-12)[1] |
対応OS | Cross-platform (multi-platform): Unix-like, Mac OS X, iOS, Windows, more |
種別 | Smalltalk virtual machine, development environment |
ライセンス | MIT license |
公式サイト | www |
テンプレートを表示 |
Squeak(スクイーク)はSmalltalk環境のひとつで、ゼロックスが1980年当時の主要コンピュータメーカー(IBM、DEC、ヒューレット・パッカード、アップルコンピュータ、Tektronix)にライセンス供与したSmalltalk-80の販売直前バージョン (v1) をベースに、アップルが自社のLisaおよびMacintosh用に開発したApple Smalltalkから派生したものである。
1970年代のパロアルト研究所での俗に言う“ダイナブックプロジェクト”において、暫定Dynabook(Altoの同チームにおける呼び名)のオペレーティングシステム (OS) およびコンピュータ環境にあたるSmalltalkの開発にたずさわったメンバー、特にアイデアパーソンのアラン・ケイ、その実装者のダン・インガルスらが中心となり、当初アップルにおいて同プロジェクトは始動した。のちにWalt Disney Imagineeringを経て、アラン・ケイが設立したNPOであるViewpoints Research Institute(英語版)に活動の拠点を移し現在も開発が続けられている。
開発の契機となる1995年ごろにはまだライブラリが整っていなかったJavaや、すでにいくつか存在した商業ベースIDEとして認知、発展を遂げた当時のSmalltalkには求めにくかった、自由で高度な移植性と小さいフットプリント、高機能なマルチメディア処理用ライブラリを持つことを特徴とし、それを動作させるためのOSやプラットフォームに依存しない、ユーザーサイドプログラミングを強力にサポートするコンピュータ環境を目指してその開発はスタートした。
Squeakも他のSmalltalk環境同様、環境記述およびデータ記述言語、およびユーザースクリプティング言語としてSmalltalkを使用できるようになっている。また、非常に古い実装に基づいてはいるものの、Smalltalk環境が当初から備えていたクラスブラウザ、オブジェクトインスペクタ、テキストエディタ、デバッガなどを有機的に連動させるオブジェクト指向プログラミングのための機構は、ベースとなったApple Smalltalkからそのまま環境内に引き継がれ、利用可能な状態にある。
Squeakの仮想機械(Smalltalkバイトコードインタプリタ)はSmalltalkのサブセットで記述されており、それをC言語に変換するトランスレータを用いて生成される。この独特の仮想機械開発スタイルはSqueakに高い移植性をもたらしている。実際、Squeakは各種のUNIX、Windowsをはじめ、MS-DOS、BeOS、TRONなど、Palm OS以外のメジャーなプラットフォームに移植されており、めずらしいところでは、シャープのZaurus(旧Zaurus、もしくは最近のLinux Zaurus)で動作するSqueak仮想機械も存在する。移植性を重視した初期の同仮想機械は、他の商用SmalltalkやJavaなどで行なわれる動的コンパイル(JITコンパイル)を欠いていたが、Eliot Miranda氏が新たに手がけたCogVMと呼ばれる次世代仮想機械では同機構も取り入れられ従来より5~10倍の性能向上を果たしている。
Squeak環境にはSmalltalkとは別に、Squeak eToys(あるいはSqueakToysなど)と呼ばれるプロトタイプベースオブジェクト指向プログラミング言語・環境に近い仕組みを持つ非開発者向けプログラミング環境(タイルスクリプトシステム、あるいは単にスクリプトシステムと呼称)が実装されている。Morph(モーフ)と呼ばれる可視化に適した機構を組み込んだオブジェクトに対し、その属性(動き、色、形、振る舞いなど)を変化させる手続きを、パネル状のパーツをドラッグ&ドロップで組み合わせで表現できる。
こうした特徴から同スクリプトシステムは、プログラミング未経験者のほかに、キーボードの扱いに馴れていない低年齢層ユーザーにも容易に扱うことができる。アラン・ケイの長年の共同研究者であるキム・ローズらは、この機構が低学年向けのコンピュータ・リテラシおよび自然科学教育に活用できることに早くから目を付け、米日独での教育機関との共同プロジェクトを立ち上げてその高い教育効果を示しつつある。
大島が中心となって実装したSqueakの多言語拡張に基づき、阿部、梅澤、林、山宮らによってSqueakおよびSqueak eToysの日本語化パッケージが作成された。多言語化拡張は正式版Squeakバージョン3.8以降、およびeToys用にカスタマイズされたSqueaklandバージョン2005以降に統合されており、ユーザーは正式版をダウンロードするだけで日本語を使用することができる。
Squeak(およびSmalltalk)環境においては、データもアプリケーションも、そして環境自体(つまりシステム)すら、すべてSmalltalk言語で記述されたオブジェクトで構成されているため、通常のコンピュータ環境でいうところのアプリケーションソフトという概念は希薄であるが、それでもそう呼ぶに相応しいオブジェクト群を見ることができる。
また、アプリケーションのような振る舞いをする大規模な機能性オブジェクト群とそれらを機能させるための最低限のオブジェクトを残して余計な部分を環境からそぎ落としてしまい、Smalltalk環境自体をまるでひとつのアプリケーションソフトであるかのように見せ、配布する形態をとることもある。Squeak公式サイトとは別に用意されたSqueaklandサイトで配布されているウェブブラウザプラグイン版のSqueakは、先のSqueak eToysに特化されたアプリケーションともいえる。
他に、Squeak環境により実現された代表的なアプリケーションと呼べるものとして有名なものにSwiki(英語版)がある。SwikiはSqueak版Wikiクローンというべきソフトの一つで、同じくSqueak上にSmalltalkで書かれたHTTPサーバ(Webアプリケーションサーバ)であるComanche上に構築されている。WikiクローンとしてのSwikiは、ファイルアップロード機能、無限差分の保持、静的HTMLの生成などの他に、独自のフォーマットルール、キャピタルワードを自動的にリンクにするWikiName(英語版)機構を持たないこと、ページ名の変更がページ作成後に可能なこと、ページソース記述にHTML表記の混在を許すことなど他のWikiとは一線を画す仕様を有する。
公式サイトである「Swiki Swiki」のダウンロードページより、Squeak eToysにおけるWebプラグイン版Squeakのように、Swikiに特化した仮想イメージと付随ファイルのアーカイブを得ることができる。日本語を扱うためには最低一箇所、修正を加えなければならないが、この仮想イメージを用いることでSmalltalk言語や環境に精通していなくとも、起動後、サーバスタートを意味するボタンを押すだけで手軽に運用を開始できる。
ただいずれも、Squeak環境としては前者はSqueak eToys、後者はSwikiに必要ないものを大幅に削除したサブセットに過ぎないので、Squeak eToysもしくはSwiki専用で、かつ、手を加えずあるがままの状態で使用するのでなければ、公式サイトより完全なSqueak環境を入手し(Swikiの場合、機能を拡張するためのパッケージをインストールした状態で)使用することが望ましい。
Screenshot of a Squeak application running under X11.
|
|
Original author(s) | Alan Kay, Dan Ingalls, Adele Goldberg |
---|---|
Developer(s) | Alan Kay, Dan Ingalls, Ted Kaehler, Scott Wallace, John Maloney, Andreas Raab, Mike Rueger |
Initial release | 1996; 19 years ago (1996) |
Stable release | 5.0 / August 12, 2015; 4 months ago (2015-08-12)[1] |
Operating system | Cross-platform (multi-platform): Unix-like, Mac OS X, iOS, Windows, more |
Type | Smalltalk virtual machine, development environment |
License | MIT license |
Website | www |
The Squeak programming language is a dialect of Smalltalk. It is object-oriented, class-based and reflective.
It was derived directly from Smalltalk-80 by a group at Apple Computer that included some of the original Smalltalk-80 developers. Its development was continued by the same group at Walt Disney Imagineering, where it was intended for use in internal Disney projects.
Squeak is available for many platforms, and programs produced on one platform run bit-identical on all other platforms. The Squeak system includes code for generating a new version of the virtual machine (VM) on which it runs. It also includes a VM simulator written in Squeak itself. For this reason, it is easily ported.
Dan Ingalls, an important contributor to the Squeak project, wrote the paper[2] upon which Squeak is built and constructed the architecture for five generations of the Smalltalk language.
Squeak incorporates many of the elements Alan Kay proposed in the Dynabook concept, which he formulated in the 1960s. Kay is an important contributor to the Squeak project.
Squeak includes a number of user-interface frameworks:
Many Squeak contributors collaborate on Open Cobalt, a free and open source virtual world browser and construction toolkit application which is built on Squeak.
Squeak is also used in the Nintendo ES operating system[6] and for implementing the Scratch programming language for beginning programmers. In May 2011 the OpenQwaq virtual conferencing and collaboration system based on Squeak, an open source release of Teleplace, was announced on the Teleplace blog.[7]
Squeak 4.0 may be downloaded at no cost, including source code, as a prebuilt virtual machine image licensed under the MIT License, with the exception of some of the original Apple code, which is governed by the Apache License.
Originally, Apple actually released Squeak under a license called the "Squeak License." While source code was available and modification permitted, the Squeak License contained an indemnity clause that prevented it from qualifying as true Free and Open Source Software.
In 2006, Apple relicensed Squeak twice. First, in May, Apple used its own Apple Public Source License, which satisfies the Free Software Foundation's concept of a Free Software License[8] and has attained official approval from the Open Source Initiative[9] as an Open Source License. The Apple Public Source License, as it turns out, fails to pass the third standard that Free and Open Source Software licenses are held to: the Debian Free Software Guidelines promulgated by the Debian project, an influential volunteer-run Linux distribution. To enable inclusion of Etoys in the One Laptop Per Child project, a second relicensing was undertaken using the Apache License. At this point, an effort was also made to address the issue of code contributed by members of the Squeak community, which it was not in Apple's power to unilaterally relicense.
For each contribution made under the Squeak License since 1996, a relicensing statement was obtained authorizing distribution under the MIT license, and finally in March 2010, the end result was released as Squeak 4.0, now under combined MIT and Apache licenses.[10]
This article does not cite any references (sources). Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (March 2015) |
The Squeak Virtual Machine is a family of Virtual Machines (VM) used in Smalltalk programming language implementations. Squeak Virtual Machines are open-source software and an essential part of any Smalltalk implementation.
Free software portal |
Wikimedia Commons has media related to Squeak. |
全文を閲覧するには購読必要です。 To read the full text you will need to subscribe.
リンク元 | 「スクウォーク」 |
.