削除された内容 追加された内容
wikified,+accessdate;en: using wikiBlame
編集の要約なし
 
(17人の利用者による、間の32版が非表示)
1行目:
{{Infobox softwareプログラミング言語
| name = Squeak
| logo = [[File:Squeak.svg|100px]]
| releasedcaption = {{Start date and age|1996}}
| file ext = [[ファイル:Squeak 3.9 + SmallDEVS.png|thumb|right225px|Squeak 3.9]]
| author = [[アラン・ケイ|Alan Kay]], {{仮リンク|Dan Ingalls|en|Dan Ingalls}}, {{仮リンク|Adele Goldberg (computer scientist)|en|Adele Goldberg (computer scientist) |label=Adele Goldberg}}
| paradigm = [[オブジェクト指向プログラミング]]
| developer = Alan Kay, Dan Ingalls, Ted Kaehler, Scott Wallace, John Maloney, Andreas Raab, Mike Rueger
| license released = [[MIT{{Start license]]date|1996}}
| 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 = Alan Kay, アラン・ケイ、Dan Ingalls, Ted Kaehler, Scott Wallace, John Maloney, Andreas Raab, Mike Rueger
| forks = [[Pharo Project|Pharo]], [[Croquet Project|Croquet]] <!-- not yet available -->
| latest release version = 5.02b
| operating system = [[Cross-platform|Cross-platform (multi-platform)]]: [[Unix-like]], [[Mac OS X]], [[iOS]], [[Microsoft Windows|Windows]], more
| latest release date = {{releaseStart date and age|20152018|810|1218}}<ref>{{citeCite web|url=http://wiki.squeak.org/squeak/6193275 |title=4.5 ReleaseSqueak NotesVersions |accessdate=20142019-0711-0615 |language=英語}}</ref>
| license = [[MIT license]]
| latest preview version =
| genre = [[Smalltalk]] [[virtual machine]], [[integrated development environment|development environment]]
| 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 =
| forks dialects = [[Pharo Project|Pharo]], [[、{{仮リンク|Croquet|en|Croquet Project|Croquet]]}} <!-- not yet available -->
| influenced by = [[仮想機械]]、[[統合開発環境|開発環境]] [[Smalltalk]], [[LISP]], [[LOGO]]; [[Sketchpad]], [[Simula]]; [[Self]]
| influenced = [[Etoys]]、Croquet、[[Scratch (プログラミング言語)|Scratch]]
| programming language = Squeak, Croquet
| operating system = [[Cross-platform|Cross-platform (multi-platform)クロスプラットフォーム]] : [[Unix-like]], [[Mac OS XmacOS]], [[iOS]], [[Microsoft Windows|Windows]], moreなど
| license = [[MIT License]]、[[Apache License]]
| website = {{Official URL|http://www.squeak.org}}
| wikibooks =
}}
{{プログラミング言語|index=Squeak}}
 
'''Squeak'''('''スクイーク''')は[[Smalltalk]]環境のひとつで、[[ゼロックス]]が[[1980年]]当時の主要[[コンピュータ]]メーカー([[IBM]]、[[ディジタル・イクイップメント・コーポレーション|DEC]]、[[ヒューレット・パッカード]]、[[アップル インコーポレイテッドApple|アップルコンピュータApple Computer]]、[[テクトロニクス|Tektronix]])にライセンス供与した[[Smalltalk|Smalltalk-80]]の販売直前バージョン (v1) をベースに、アップルAppleが自社の[[Lisa (コンピュータ)|Lisa]]および[[Macintosh]]用に開発したApple Smalltalkから派生したものである。なお、同環境に組み込まれた(Squeak Smalltalkで記述・構築されている)タイルスクリプティング言語・開発環境のSqueak [[Etoys]]も略して「Squeak」と呼称され混同されることが多いが、両者(Squeak SmalltalkとSqueak Etoys)はプログラミング言語およびその処理系としてはまったくの別物である。
[[ファイル: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年代]]の[[パロアルト研究所]]での俗に言う[[ダイナブック]]プロジェクトにおいて、暫定Dynabook([[Alto]]の同チームにおける呼び名)の[[オペレーティングシステム]] (OS) およびコンピュータ環境にあたる[[Smalltalk]]の開発にたずさわったメンバー、特にアイデアパーソンの[[アラン・ケイ]]、その実装者のダン・インガルスらが中心となり、当初アップルAppleにおいて同プロジェクトは始動した。のちに[[Walt Disney Imagineeringウォルト・ディズニー・イマジニアリング]]を経て、アラン・ケイが設立した[[NPO]]である{{仮リンク|Viewpoints Research Institute|en|Viewpoints Research Institute}}に活動の拠点を移し現在も開発が続けられている。
 
開発の契機となる[[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と呼ばれる次世代仮想機械では同機構も取り入れられ従来より5~105-10倍の性能向上を果たしている。
 
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}}
* [http://squeakland.org/ squeakland.org] Squeak eToysフィールドワークのための公式サイト (英語)
* [https://squeak.org Squeak/Smalltalk] 公式ウェブサイト {{En icon}}
* [http://www.squeakland.jp/ squeakland.jp] 上記サイトの日本語版 最新日本語版Squeakイメージが配布されている(日本語)
* [http://minnowsqueakland.cc.gatech.edu/swiki/org Swikisqueakland Swiki: home of squeak etoys] SwikiSqueak eToysフィールドワークのための公式サイト (英語){{En icon}}
* [http://www.squeakland.jp/ squeakland.jpようこそ、スクイークランドへ!] 上記サイトの日本語版 最新日本語版Squeakイメージが配布されている(日本語){{Ja icon}}
* [http://squeaklet.com:8080/m17n/ m17n Squeak] Squeak 多言語化に関する情報ページ (英語)
* [httphttps://wiki.squeak.org/swiki/ squeak.orgSwiki Swiki] Swiki公式サイト (英語){{En icon}}
* [{{Wayback |url=http://utopos.dyndns.info:8080/SqueakLearner/89 |title=Squeak3.6 m17n Mac OS XmacOS版VM] |date=20071001011146}} 多言語化(日本語化)Squeakを[[OS X|Mac OS XmacOS]]で使用するための情報ページ (日本語){{Ja icon}}
* [httphttps://swikis.ddo.jp/abee/20 SqueakToys掲示板3] 日本語版Squeakで主に Squeak eToys を使用して制作された作品および情報交換のためのサイト (日本語){{Ja icon}}
{{Smalltalk}}
 
{{DEFAULTSORT:Squeak}}
 
[[Category:プログラミング言語]]
[[Category:ソフトウェア開発ツール]]
[[Category:Appleのソフトウェア]]
[[Category:フリー教育ソフトウェア]]
[[Category:アラン・ケイ]]