「Squeak」の版間の差分
削除された内容 追加された内容
Tokorokoko (会話 | 投稿記録) wikified,+accessdate;en: using wikiBlame |
編集の要約なし |
||
(17人の利用者による、間の32版が非表示) | |||
1行目:
{{Infobox
| name = Squeak
| logo = [[File:Squeak.svg|100px]]
|
| paradigm = [[オブジェクト指向プログラミング]]
| developer = Alan Kay, Dan Ingalls, Ted Kaehler, Scott Wallace, John Maloney, Andreas Raab, Mike Rueger▼
| latest release version = 5.0▼
| designer = [[アラン・ケイ]]、[[ダン・インガルス]]、[[アデル・ゴールドバーグ]]
| latest release date = {{release date and age|2015|8|12}}<ref>{{cite web|url=http://wiki.squeak.org/squeak/6193 |title=4.5 Release Notes |accessdate=2014-07-06}}</ref>▼
▲ | developer =
| forks = [[Pharo Project|Pharo]], [[Croquet Project|Croquet]] <!-- not yet available -->▼
| operating system = [[Cross-platform|Cross-platform (multi-platform)]]: [[Unix-like]], [[Mac OS X]], [[iOS]], [[Microsoft Windows|Windows]], more▼
▲ | latest release date = {{
▲| license = [[MIT license]]
| latest preview version =
| latest preview date = <!-- {{start date and age|YYYY|MM|DD}} -->
| website = {{URL|http://www.squeak.org}}▼
| typing = 強い[[動的型付け]]<ref>「型をもたない」との表現を好む人もいる。[http://web.cecs.pdx.edu/~harry/musings/SmalltalkOverview.html Smalltalk Overview]</ref>, [[ダック・タイピング]]
| implementations =
▲ |
| influenced by = [[仮想機械]]、[[統合開発環境|開発環境]] [[Smalltalk]], [[LISP]], [[LOGO]]; [[Sketchpad]], [[Simula]]; [[Self]]
| influenced = [[Etoys]]、Croquet、[[Scratch (プログラミング言語)|Scratch]]
| programming language = Squeak, Croquet
▲ | operating system = [[
| license = [[MIT License]]、[[Apache License]]
| wikibooks =
}}
{{プログラミング言語|index=Squeak}}
'''Squeak'''('''スクイーク''')は[[Smalltalk]]環境のひとつで、[[ゼロックス]]が[[1980年]]当時の主要[[コンピュータ]]メーカー([[IBM]]、[[ディジタル・イクイップメント・コーポレーション|DEC]]、[[ヒューレット・パッカード]]、[[
▲[[ファイル:Squeak 3.9 + SmallDEVS.png|thumb|right|Squeak 3.9]]
▲'''Squeak'''('''スクイーク''')は[[Smalltalk]]環境のひとつで、[[ゼロックス]]が[[1980年]]当時の主要[[コンピュータ]]メーカー([[IBM]]、[[ディジタル・イクイップメント・コーポレーション|DEC]]、[[ヒューレット・パッカード]]、[[アップル インコーポレイテッド|アップルコンピュータ]]、[[テクトロニクス|Tektronix]])にライセンス供与した[[Smalltalk|Smalltalk-80]]の販売直前バージョン (v1) をベースに、アップルが自社の[[Lisa (コンピュータ)|Lisa]]および[[Macintosh]]用に開発したApple Smalltalkから派生したものである。
== 開発の経緯 ==
[[1970年代]]の[[パロアルト研究所]]での俗に言う
開発の契機となる[[1995年]]ごろにはまだ[[ライブラリ]]が整っていなかった[[Java]]や、すでにいくつか存在した商業ベース[[統合開発環境|IDE]]として認知、発展を遂げた当時のSmalltalkには求めにくかった、自由で高度な移植性と小さいフットプリント、高機能な[[マルチメディア]]処理用ライブラリを持つことを特徴とし、それを動作させるためのOSや[[プラットフォーム (コンピューティング)|プラットフォーム]]に依存しない、ユーザーサイド[[
== 環境と言語 ==
Squeakも他のSmalltalk環境同様、環境記述および[[データ記述言語]]、およびユーザースクリプティング言語としてSmalltalkを使用できるようになっている。また、非常に古い実装に基づいてはいるものの、Smalltalk環境が当初から備えていたクラスブラウザ、オブジェクトインスペクタ、[[テキストエディタ]]、[[デバッガ]]などを有機的に連動させる[[オブジェクト指向]]プログラミングのための機構は、ベースとなったApple Smalltalkからそのまま環境内に引き継がれ、利用可能な状態にある。
Squeakの[[仮想機械]](Smalltalk[[バイトコード]][[インタプリタ]])はSmalltalkのサブセットで記述されており、それを[[C言語]]に変換するトランスレータを用いて生成される。この独特の仮想機械開発スタイルはSqueakに高い移植性をもたらしている。実際、Squeakは各種の[[UNIX]]、[[Microsoft Windows|Windows]]をはじめ、[[MS-DOS]]、[[BeOS]]、[[TRONプロジェクト|TRON]]など、[[Palm OS]]以外のメジャーなプラットフォームに移植されており、めずらしいところでは、[[シャープ]]の[[Zaurus]](旧Zaurus、もしくは最近の[[Linux]] Zaurus)で動作するSqueak仮想機械も存在する。移植性を重視した初期の同仮想機械は、他の商用SmalltalkやJavaなどで行なわれる[[ジャストインタイムコンパイル方式|動的コンパイル]](JITコンパイル)を欠いていたが、Eliot Miranda氏が新たに手がけたCogVMと呼ばれる次世代仮想機械では同機構も取り入れられ従来より
Squeak環境にはSmalltalkとは別に、Squeak [[Etoys|eToys]](あるいは Etoy、SqueakToysなど)と呼ばれる[[プロトタイプベース]][[オブジェクト指向]]プログラミング言語・環境に近い仕組みを持つ非開発者向けプログラミング環境(タイルスクリプトシステム、あるいは単にスクリプトシステムと呼称)が実装されている。Morph(モーフ)と呼ばれる[[可視化]]に適した機構を組み込んだオブジェクトに対し、その属性(動き、色、形、振る舞いなど)を変化させる手続きを、パネル状のパーツをドラッグ&ドロップで組み合わせで表現できる。
こうした特徴から同スクリプトシステムは、プログラミング未経験者のほかに、[[キーボード (コンピュータ)|キーボード]]の扱いに馴れていない低年齢層ユーザーにも容易に扱うことができる。アラン・ケイの長年の共同研究者であるキム・ローズらは、この機構が低学年向けのコンピュータ・リテラシおよび自然科学教育に活用できることに早くから目を付け、米日独での教育機関との共同プロジェクトを立ち上げてその高い教育効果を示しつつある。
37 ⟶ 47行目:
Squeak(およびSmalltalk)環境においては、データもアプリケーションも、そして環境自体(つまりシステム)すら、すべてSmalltalk言語で記述されたオブジェクトで構成されているため、通常のコンピュータ環境でいうところのアプリケーションソフトという概念は希薄であるが、それでもそう呼ぶに相応しいオブジェクト群を見ることができる。
* 開発者向け
** Browser クラスやメソッド定義を閲覧したり、編集・追加するためのソフト
** Inspector オブジェクトの属性を検査するためのソフト
45 ⟶ 55行目:
** Processes プロセス閲覧・管理ツール
** Transcript 通常の開発環境における標準出力的役割りを担うソフト
* 一般向け
** Workspace [[WYSIWYG]]タイプの書き捨ての[[メモ帳]]
** GeeMail 文書と図版の共存が可能なメモ帳
57 ⟶ 67行目:
** ThreadNavigator プレゼンツール
** Clock、Watch 時計
* 教育向け
** Squeak eToys タイルスクリプトシステム
** Nebraska ネットを介した複数ユーザーのデスクトップ共有のためのシステム
** Alice 3Dオブジェクトのオーサリングのためのシステム
* ゲーム
** Chess [[チェス]]ゲーム
** ChineseChecker
78 ⟶ 88行目:
ただいずれも、Squeak環境としては前者はSqueak eToys、後者はSwikiに必要ないものを大幅に削除したサブセットに過ぎないので、Squeak eToysもしくはSwiki専用で、かつ、手を加えずあるがままの状態で使用するのでなければ、公式サイトより完全なSqueak環境を入手し(Swikiの場合、機能を拡張するためのパッケージをインストールした状態で)使用することが望ましい。
== 注釈・出典 ==
{{Reflist}}
== 外部リンク ==
{{Commonscat}}
* [http://squeak.org/ squeak.org] 公式サイト (英語)▼
{{ウィキポータルリンク|FLOSS}}
* [https://squeak.org Squeak/Smalltalk] 公式ウェブサイト {{En icon}}
* [http://www.squeakland.jp/ squeakland.jp] 上記サイトの日本語版 最新日本語版Squeakイメージが配布されている(日本語)▼
* [http://
▲* [http://
*
* [
{{Smalltalk}}
{{DEFAULTSORT:Squeak}}
[[Category:プログラミング言語]]
[[Category:ソフトウェア開発ツール]]
[[Category:Appleのソフトウェア]]
[[Category:フリー教育ソフトウェア]]
[[Category:アラン・ケイ]]
|