Scratch

Clock.png このページはScratch 2.0から3.0へのアップデートに伴い、大規模な変更が必要であると予想されています。ここに書かれていることはすぐに古くなるかもしれません。
Scratch公式マスコットキャラクターのScratchキャット(Scratch cat)。
Scratchのロゴ。

Scratch(スクラッチ)は、マサチューセッツ工科大学メディアラボ ライフロングキンダーガーデングループ(MIT Media Lab Lifelong Kindergarten Group)が開発する、8〜16才のユーザーをメインターゲットにすえた無料の教育プログラミング言語である。現在、900万以上のScratcherが登録しており、1200万以上のプロジェクトが共有されている[1]。現在のバージョンのScratch 2.0にはオンラインエディターからアクセスできるほか、オフラインエディターはここから、以前のバージョンのScratch 1.4ここからそれぞれダウンロードできる。

Scratchは、教育・学習が楽しく簡単にできるよう設計されている。Scratchには、インタラクティブストーリー、ゲーム、アート、シミュレーションなどを作成するための様々なツールが用意されており、さらには、オリジナルのペイントエディターサウンドエディターまで内蔵されている。

Scratchのプログラムは、ユーザーがブロックパレットからブロックをドラッグして、ジグソーパズルのように他のブロックに取り付けることにより作成する。このようにして組み合わせた複数のブロックのかたまりは、スクリプトと呼ばれる。ブロックを使ってコードを作成するこのようなプログラムの作り方を、ドラッグ&ドロッププログラミングと呼ぶこともある。

ScratchのウェブサイトのURLは https://scratch.mit.edu である。

利用方法

Scratchは世界中の学校で、子どもたちにコンピュータープログラミングの基礎を紹介する手段として使われているが、学校以外でも利用される場面は多く、子どもだけでなく大人の中にも、Scratchを通じてプログラムの基本知識を学び、 やがて他のプログラミング言語に進んでいく人がいる。Scratchの利用においては、Scratchプロジェクトの作成、 リミックスコラボ などを通して、他のユーザーと交流を深めることができる。

使用環境

プログラミング言語の設計にあたり、開発者がもっとも大事にしたのは、言語仕様と開発環境を直感的なものにして、プログラム経験のない子どもでも、すぐに使い方がわかるようにすることであった。パワフルなマルチメディア対応やマルチスレッド式のプログラミングスタイルの採用に対して、プログラミング言語としては対象範囲を絞り込んだ対照的な設計がなされた。

Scratch 2.0'の初期状態の開発環境
Scratchのユーザーインターフェース では、画面がいくつかのペインに分割されており、中央にブロックパレット、 右にスクリプトエリア、左にステージとスプライトのリストがある。ブロックパレットにはコードのかけら(ブロック)があり、これらはスクリプトエリアにドラッグして、プログラムを作成するために使用される。とんでもない量のブロックがずらずらとブロックパレットに並ぶと使用するときに不便なので、これらのブロックは動き、見た目、音、ペン、データ、イベント、制御、調べる、演算、その他の10個のグループに分類されている。

名称について

ライフロングキンダーガーデングループのプログラミング言語として使われている「Scratch」という単語は、音楽の世界のスクラッチと関連がある。

「スクラッチする」とは、DJやターンテーブリストが行う、ターンテーブル上のビニールレコードを前後にこすって(時には、DJミキサーのクロスフェーダーを操作しながら)、独特の音をだすテクニックのこと。[2]

– Wikipedia

DJ同様、Scratchでも、さまざまなコードのかけら(ブロック)を組み合わせて、新しい何かが作り出される。

わたしたちは、Scratchという名前をヒップホップDJたちが音楽をスクラッチするやりかたから取ったんだ。DJって、音楽を一度ばらばらにしてから、予想もしなかったクリエイティブなやり方でそれを組み合わせて1つにしていくからね。

– Mitchell Resnick, MITライフロングキンダーガーデングループ

Scratchの派生語

Scratchという単語からはいろいろな用語が派生しており、次のような語がScratchユーザーの間で日常的に使われている:

  • Scratcher スクラッチャー。スクラッチのユーザー
  • Scratching スクラッチング。スクラッチを使うという動作を表す
  • Scratched スクラッチド。別のゲームをScratchで再現しようとしたプロジェクト(例:スクラッチド パックマン)
  • Scratchチーム Scratch webサイトの管理/開発チーム
  • Scratch On! Scratchチームが作り、使用する用語(ほかのScratcherたちも使うようになっている)。「Scartchをがんばってつづけよう」という意味で、ユーザーを励ます言葉。

合言葉

Scratchの合言葉は、「想像、プログラム、共有」。これはScratchプロジェクト作成の基本、「まず、アイディアを考え(想像)次にScratchでアイディアをプログラムにして(プログラム)そして最後は世界中に共有する(共有)」という流れを表す。Scratch 2.0のリリース以降、Scratchサイト全体でこの言葉を見かける機会は少なくなった(トップページでは、Scratchとは何かという説明に取って代わられた)。

バージョン

現在のScratchのバージョンは2.0である。2.0のオンラインエディターの公式リリース日は2013年5月9日、オフラインエディターの公式リリース日は2013年8月26日であった。旧バージョンにあたるのは、2009年7月2日にリリースされたScratch 1.4である。さらにその以前には、 Scratch 1.3Scratch 1.2Scratch 1.1Scratch 1.0といったバージョンが存在した。これまで、Scratchのバージョンが変わるたびに重大な変更が加えられてきたが、1.4から2.0へのバージョンアップでは、Scratchに特に大きな変化が加えられた。プログラムのバージョンが2.0にアップデートされただけではなく、Scratch webサイトがScratch自体の機能の一部として取り込まれたためである。

特色

  • Scratchはチューリング完全である
  • 根源的にイベントドリブン型である
  • オブジェクト指向型プログラミング であるかどうかはコミュニティ内での議論がわかれている
  • Scratchでデータを格納するには、変数リストを利用する。なお、リストは複製できる。
  • Scratchの「繰り返し」制御では操作はアトミック(不可分)ではないシングルフレーム プログラムにすれば、擬似的なアトミック操作として扱うことができる
  • Scratch 2.0ではプロシージャ(ブロック定義)、再帰を使用できる。
  • Scratchにはシンプルな キャスト (型変換)ルールがいくつか存在する。しかし、データは第1級オブジェクトではない。第1級オブジェクトとしてリスト、スプライト、プロシージャ(ラムダ式)を持つことはできない。

OS機能へのアクセス権

ScratchからハードウェアやOSにアクセスできる範囲は限られており、かなり安心して使用できるプログラムといえる。Scratchからアクセス可能な内容は次のとおり:

  • マイクで拾った音のボリューム(音量
  • Scratch画面内でのマウス位置
  • キーが押されたこと(ただし、Scratchがアクティブになっているときだけ)
  • Webカメラから画像を受け取った場合、その画像内の動きを表すモーション値(Scratch 2.0から)
  • プログラムの開発中は、ローカルのファイルシステムにアクセス可能だが、実行中のプログラムからはファイルシステムにアクセスできない
  • Scratchは、ユーザーのコンピューターに接続されたLego WeDoや、PicoBoard と外部通信できる

mod版Scratch(改造版Scratch)には、より多くのOS機能を使用するものもある。

ScratchJr

Scratch Jr はScratchに元に、よりシンプルにしたプログラミング言語で、5〜7才の子どもに向けて設計されている。Scratchとは異なり、ScratchJrはタブレット向けのモバイルアプリとして開発された。ScratchJrの開発チームはScratchチームとは若干異なる。ただし、両方のプログラムに貢献しているメンバーも数名存在する。

小ネタ

SandCastleIcon.png このページには、ScratchのWebサイトまたはWikipedia以外へのリンクがあります。 他のサイトの安全を保証することはできないため、インターネットを使用する際は常に安全を忘れないようにしてください。
  • Scratchとカートゥーンネットワークのコラボレーションにより、「ぼくらベアベアーズ」のプロモーション企画として、同番組のプロジェクトを作れるようになっている。日本語版サイトにリダイレクトされるが、米国版のサイトには、こちらに特集ページがある。
  • Scratchは、一時的に「ヒヒーン(Neigh)」に改名したことがある(Scratchチームが2012年のエイプリルフールに行った2.0に向けたジョークだった)。このときは、さらに、サイトのあちこちで「マイリトルポニー」が登場した。くわしくは、こちら(英語版)を参照。

関連項目

脚注

出典

  1. 統計情報
  2. http://en.wikipedia.org/wiki/Scratching
  • このページの最終更新日時は 2017年10月7日 (土) 01:00 です。