Scratch_(プログラミング言語)とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Scratch_(プログラミング言語)の意味・解説 

Scratch (プログラミング言語)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/04/23 07:11 UTC 版)

Scratch
Scratchのロゴ
パラダイム 教育用、イベント駆動型
登場時期 2006年(正式リリースは2008年
設計者 ミッチェル・レズニック
開発者 MITメディアラボ Lifelong Kindergarten Group
最新リリース 3.0 / 2019年1月2日[1]
型付け ダイナミック
主な処理系 Scratch
影響を受けた言語 LOGO, Smalltalk, HyperCard, StarLogo, AgentSheets, Etoys
プログラミング言語 Smalltalk(~1.4), ActionScript(2.0), JavaScript(3.0~)
プラットフォーム Windows, macOS, Linux, Android, iOS, iPadOS 他
ライセンス GPLv2とScratch Source Code License
ウェブサイト scratch.mit.edu
拡張子 .scratch(初期Scratch)
.sb(~Scratch 1.4)
.sb2(Scratch 2.0)
.sb3(Scratch 3.0)
.sprite(~Scratch 1.4)
.sprite2(Scratch 2.0)
.sprite3(Scratch 3.0)
テンプレートを表示

Scratch(スクラッチ)は、アメリカにある非営利団体Scratch財団マサチューセッツ工科大学(Massachusetts Institute of Technology、MIT)のMITメディアラボ(MIT Media Lab)内にあるライフロング・キンダーガーテン・グループ(Lifelong Kindergarten Group)と共同開発する、8歳から16歳のユーザーをメインターゲットとする無料教育ビジュアルプログラミング言語及びその開発環境、コミュニティサイトである。ウィキペディアと同様、収録されている全ての内容がオープンコンテントで、商業広告が存在しないことが特徴の一つである。

ScratchはMicrosoft WindowsMacLinuxRaspberry PiAndroidiPadなどに対応しており、ソースコードGPLv2ライセンスとScratch Source Code LicenseとしてGitHubにて公開されている[2]

概要

プロジェクト作成時のスクリーンショット

Scratchは、コミュニケーション能力の育成をすることを意図している。また、8歳から16歳の子供向けに開発されたもの[3]であるが、子供から大人まで幅広い年代が使用している。

Scratchという名称はディスクジョッキー(DJ)がレコードを手でこするスクラッチングに由来しており[4]、DJが気軽に曲をミックスすることと、Scratchで簡単にプロジェクト(Scratchを用いてプログラミングされた作品のこと)をリミックス(プログラムの改造、ミックス)することを関連付けている。

Scratchの視覚的GUI(グラウンドユーザインタフェース)は、子供達がプログラムブロックをドラッグ・アンド・ドロップすることでアニメーションアートストーリーゲーム制作をゲーム感覚で簡単にできるようにしている[5][6]。Scratchではブロックが視覚的にグループ分けされており、正しい構文を読み書きできない人のために、ブロックをクリックすることでテストしたり、リミックスや修正、プロジェクトの新バージョンを制作するためにブロックを容易に書き換えたりすることができるデザインとなっている。

ライフロング・キンダーガーテン・グループにEtoys開発チームのジョン・マロニーを招いて、2006年にScratchの最初のバージョンが開発された[7]

2013年5月にScratch 2.0が公開され、ウェブアプリケーションとなり、開発環境のインストールが不要となった。そのためリミックスが容易になり、従来のバージョンにはなかった、ウェブアプリケーションならではの機能が追加された。

2019年1月にScratch 3.0が公開された。Scratch 2.0まで使用していたAdobe Flashを使用せず[8]HTML5を使用しているため、Internet Explorerなど一部のブラウザでは動作しなくなったが、スマートフォンタブレット端末(Android, iPhone, iPad等)での利用がサポートされるようになった(開発グループは画面の大きさの関係でタブレット端末を推奨している[9])。また、いくつかの拡張機能の追加、ブロックの文字の読みやすさ向上、機能性や画質の向上などの変化があった。

ユーザインタフェース

Scratch 3.0のユーザインタフェース(エディター)は複数の枠に分かれており、左側はブロックパレット(ブロックが陳列されている場所)、真ん中はスクリプトエリア(ブロックをつなげる場所)、右上がステージ(プログラムに従ってスプライトなどが動作する場所)、右下がスプライトのリストである。

Scratchのユーザインタフェースのスクリーンショット

プログラムを作るために必要なブロックはブロックパレットに並んでおり、スクリプトエリアにドラッグ・アンド・ドロップできる。ブロックは主に動き、見た目、音、制御、イベント、調べる、演算、変数、ブロック定義の9つのカテゴリーに分けられている。また、拡張機能を追加すれば、ペンや外部機器との連携などの機能が使えるようになる。

カテゴリー 説明
動き スプライトの動きを制御するブロック[注釈 1]
見た目 スプライトやステージの見た目を制御するブロック。
あらかじめプロジェクトに読み込ませておいた音を実行、制御するブロック。
イベント スクリプト実行のきっかけとなるブロック。
制御 スクリプトを制御するブロック。
調べる プロジェクトのさまざまな要素について調べるブロック。
演算 数式や計算、文字列を扱うブロック。
変数 変数やリスト(二次元配列)に数値や文字列を保存して使うブロック。
ブロック定義 定義ブロックの下に繋げたプログラムを1つのブロックとして使用できるブロック。   
拡張機能 プロジェクトを拡張するブロック。(デフォルトでは非表示)

サイトの色の更新

障害等の有無にかかわらずサイトをアクセシブルにするため、2023年6月28日にユーザインタフェースやウェブサイト上部のナビゲーションバーの色が青から紫に変えられたほか、ブロックの色をハイコントラストに変更できる機能の追加などが行われた[10]

Scratch Lab

Scratch Labは、まだScratchに実装されていない機能を試すことができるウェブサイトである。2024年10月現在、video sprites、Face Sensing、Animated Text、New Block Colorsを試すことができる[11]。このうち、New Block Colorsが2023年6月28日にScratchに実装され[12]、Scratchではユーザインタフェースを含むすべてのページの色が変更された。また、このサイトで作った作品はScratchのコミュニティに共有できない[13]

ユーザーコミュニティ

Scratchは教育施設学校やプログラミング教室など)、博物館[14]コミュニティセンター、そして家庭内といった多くの場所で使われている。例として、低年齢の子供達は親や友達とプログラムを書くとき、大学生ではいくつかの計算機科学入門クラス(ハーバード大学の初級コンピュータクラス[15][16])でScratchが使われている。また、ジョンズ・ホプキンス大学Center for Talented Youth英語版 (CTY) では、CTYオンラインプログラムにて、6年生の生徒向けにScratchプログラミングのオンラインコースを提供している[17]。Scratchは様々な言語に対応しているので、世界中で使える。

オンラインコミュニティ

Scratchのオンラインコミュニティのスローガンは「Imagine, Program, Share(想像・プログラム・共有)」で、Scratchの背後にある考え方の重要な部分として共有と創造性の社会的背景を指している[18]

また、Scratchのプロジェクトは新たなプロジェクトを作るためのリミックスに向けたものになっている。プロジェクトは開発環境からScratchのウェブサイトに直接アップロードでき、プログラムから学習したり、リミックスして新たなプロジェクトとして共有したりすることもできる[19][20]

Scratchユーザーはコメントをしたり、他人のプロジェクトに「好き」や「お気に入り」をつけたり、自分のプロジェクトを共有したりすることができる[注釈 2]。共有されたプロジェクトにはクリエイティブ・コモンズ 表示-継承2.0ライセンスが適用され、商用利用や再利用ができる[21][注釈 3]

ウェブサイトでは頻繁に、「Scratch Design Studio (SDS)」というユーザーが基本デザインコンセプトを使って制作、共有を奨励する、チャレンジが開催されている。メキシコイスラエル向けのカスタムホームページでは幾つかのセクションにローカルコンテンツが置かれている。ポルトガル[22] やアラブ首長国連邦[23] でも独立したScratchウェブサイトがある。

2008年、Scratchのオンラインコミュニティプラットフォームである「ScratchR」がArs Electronica PrixのHonorary Mentionを受賞した[24]。教育者向けのオンラインコミュニティとして「ScratchEd」というサイトもあったが、2019年5月に閉鎖された[25]

イベント

Scratch Day

Scratch Dayは、年に一度世界中で行われるScratchのイベントである。誰でもイベントを主催することができ、どこでも開催することができるが、基本的には5月15日の前後の休日(土日)に行われる。これは、Scratchというサービスそのものが2007年5月15日に始まったことに由来する。Scratch Dayの始まりは、2009年にマサチューセッツ工科大学のKaren Brennanが、Scratchのリリース日にイベントをしようと思いたち、開催したことにある。以後、Scratch Dayは毎年世界各地で行われている。

Scratch Week

Scratch Dayから移行されたイベント[26]。Scratchを世界規模でバーチャル内でお祝いするというもの。2024年から始まった。

展開

2012年11月に行われたTEDxBeaconStreet[27]にて、MITメディアラボのミッチェル・レズニックによるScratchを題材としたプレゼンテーション「Let's teach kids to code. (子供たちにプログラミングを教えよう)」が講演され、その模様がTEDによって公開されている[28]。この中でレズニックは、Scratchを利用して子供にプログラミングを覚えさせることの優位性、特にコーディングを通して得られる様々な経験が、その子供がプログラマーになるかならないかに関わらず、将来職に就き、仕事をこなすうえでとても有益である、と説いている。

また、TEDやTEDxの講演イベントで行われたプレゼンテーションから英会話を学ぶことを目的とした、NHKによる教育番組『スーパープレゼンテーション』でもこのプレゼンテーションが取り上げられている[29]NHK Eテレでは『Why!?プログラミング』で公式にプログラミングソフト(一部画面が異なっている部分もある)として採用されており、民放では千葉テレビ放送BSフジの『GP LEAGUE プログラミングコロシアム』で放送される「GP LEAGUE」での公式言語の1つになっている。

Scratchアプリ

インターネットに接続しなくてもScratchを使用することができるオフラインエディターとして、Electronで動作するScratchアプリWindowsMacAndroidChromeOS用に用意されている[30]

3.16.1 より前まではScratch Desktopと呼ばれていたが、3.16.1で名称がScratch 3に変更された。

ScratchのMOD

ScratchのMODはScratch 1.4のソースコード[注釈 4] を使って制作され、ブロックが追加されたりGUIが変更されたりしている。

Build Your Own Blocks英語版 (BYOB)のように、ScratchのいくつかのMODは、さらにコンピューティングへの基礎的アプローチへのシフトを導入しているが、BYOBにのみユーザーを許容しないものの、Scratchの一部ではないファーストクラス手続き(ラムダ)、ファーストクラスリスト(リストのリストを含む)、プロトタイプ継承を備えたファーストクラス真オブジェクト指向スプライトがある[31]。BYOBはイェンス・ムーニッヒが開発し[32][33]カリフォルニア大学バークレー校のブライアン・ハーベイがドキュメンテーションを提供し[34][35]、計算機科学専攻ではない学生への計算機科学初級コースにおける「The Beauty and Joy of Computing」を教える時に使用された[36]

Pyonkee
Scratch 1.4と同等の環境をiPadで再現したもので、2014年に登場した[37]伊藤忠テクノソリューションズが児童向けに開催するプログラミング教室でも採用されている[38][39]
TurboWarp
プロジェクトをJavaScriptにコンパイルして1FPSから250FPSまでの速度で実行できるようにする。Scratch、Scratchチーム、Scratch財団とは提携していない。他にも補完機能、ペンのHD化など様々な機能がある[40]。TurboWarpにはScratchのプロジェクトをロードする機能があり、2022年11月9日まで、Scratchウェブサイトでは非共有になっているプロジェクトの閲覧、編集が可能だった。しかし、2022年11月10日にScratch APIの仕様が変更された為、非共有プロジェクトは基本的に閲覧、編集共に不可能になった[41]。ただし、ダウンロードしたプロジェクトを開くことや、共有されたプロジェクトを閲覧することは、従来通り可能。また、ゲームをアプリ化することもできる。
Penguinmod
ScratchとTurboWarpをベースに作成された[42]ビジュアルコーディングサイト。Penguinmod独自の拡張機能41個に加え、TurboWarpの拡張機能13個も使用できる。

中国政府による検閲

2020年8月、中国政府グレート・ファイアウォール(GFW)を使用して、Scratchのウェブサイトへのアクセスをブロックしたことが判明した。理由は、Scratchのアカウントを作成する時に選択する国のリストに 「香港」「マカオ」「台湾」が含まれていたこと。 当時中国ではScratchを使用していた人の5.7%にあたる、300万ユーザーが利用していた。現在中国本土ではオンラインでScratchを使うことは出来ず、オフラインエディターを使用している[43][44][45]。検閲を担当している中国の機関は、「Scratchに掲載されている情報は、中国本土に対して、屈辱的で中傷的、また虚偽のものである」と声明を出している[46]

脚注

注釈

  1. ^ 動きブロックはスプライトのコーディングにのみ使用でき、背景をコーディングする際は表示されない。
  2. ^ 共有の機能は、メールアドレスを認証していないと使えない。
  3. ^ Scratch内の再利用は一部制限されている。
  4. ^ Scratch 1.4はSmalltalk処理系のひとつであるSqueak2.8から派生して作られたMIT Squeakを使用して記述されている。

出典

  1. ^ 出典URL: https://scratch.mit.edu/discuss/topic/326861/, 題名: Scratch 3.0 is here!, 閲覧日: 2019年1月2日
  2. ^ Scratch source-code download page http://info.scratch.mit.edu[リンク切れ]
  3. ^ Scratch - For Parents”. scratch.mit.edu. 2023年6月17日閲覧。
  4. ^ Schorow, Stephanie (2007年5月14日). “Creating from Scratch”. MIT News Office. http://web.mit.edu/newsoffice/2007/resnick-scratch.html 2014年1月25日閲覧。 
  5. ^ Scratch website
  6. ^ Scratch: Programming for All. Resnick, M., Maloney, J., Monroy-Hernandez, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., Kafai, Y. (2009). Scratch: Programming for All. Communications of the ACM, November 2009
  7. ^ Scratch: imagine, program, share”. Massachusetts Institute of Technology. 2007年5月25日閲覧。
  8. ^ Scratch 2.0 オフラインエディター”. 2020年4月9日閲覧。
  9. ^ Scratch - FAQ”. scratch.mit.edu. マサチューセッツ工科大学. 2025年1月23日閲覧。
  10. ^ ceebee* (2023年6月5日). “Coming Soon: Color Contrast in Scratch!”. Scratch. 2023年8月3日閲覧。
  11. ^ Scratch Lab”. lab.scratch.mit.edu. 2023年2月17日閲覧。
  12. ^ Scratch - Imagine, Program, Share”. scratch.mit.edu. 2023年6月29日閲覧。
  13. ^ Scratch Lab”. lab.scratch.mit.edu. 2024年12月10日閲覧。
  14. ^ Scratch Day at Science Museum of Minnesota
  15. ^ Scratch for budding computer scientists
  16. ^ Scratch for budding computer scientists
  17. ^ CTYOnline Scratch Programming Course
  18. ^ Monroy-Hernández, A. and Resnick, M. (2008). Empowering kids to create and share programmable media. ACM interactions 15, 2 (March 2008), 50-53
  19. ^ Monroy-Hernández, A., Hill, B. M., González-Rivero, J., boyd, d. (2011) Computers Can't Give Credit: How Automatic Attribution Falls Short in an Online Remixing Community. In Proceedings of the 29th International Conference on Human Factors in Computing Systems (CHI '11)
  20. ^ Hill, B.M, Monroy-Hernández, A., Olson, K.R. (2010) Responses to remixing on a social media sharing website. In AAAI International Conference on Weblogs and Social Media (ICWSM '10)
  21. ^ よくある質問と答え(FAQ)”. 2017年9月3日閲覧。
  22. ^ http://kids.sapo.pt/scratch
  23. ^ http://scratch.uaeu.ac.ae/
  24. ^ http://www.aec.at/prix_history_en.php?year=2008
  25. ^ ScratchEd
  26. ^ Scratch in Practice” (英語). sip.scratch.mit.edu. 2024年10月4日閲覧。
  27. ^ TEDxBeaconStreet
  28. ^ ミッチェル・レズニック 「子供達にプログラミングを教えよう」 ted.com
  29. ^ Let's teach kids to code 「子どもにプログラミングを教えよう」”. 日本放送協会 (2013年9月23日). 2017年7月10日時点のオリジナルよりアーカイブ。2023年11月26日閲覧。
  30. ^ Scratch - Scratch Offline Editor”. 2024年1月7日閲覧。
  31. ^ BYOB homepage http://byob.berkeley.edu
  32. ^ Jens Mönig user contributions page
  33. ^ Mönig's blog post announcing BYOB as bringing protypal inheritance to Scratch
  34. ^ Brian Harvey homepage
  35. ^ Brian Harvey user contributions page
  36. ^ The Beauty and Joy of Computing course homepage
  37. ^ タブレット端末を活用したプログラミング教育(3) - プログラミング・オン・モバイル -” (PDF). 名古屋文理大学紀要 第15号. 名古屋文理大学 (2014年). 2017年8月21日時点のオリジナルよりアーカイブ。2023年11月26日閲覧。
  38. ^ 子ども向けプログラミングワークショップ 「未来実現IT教室 Children's Technology Challenge」開催
  39. ^ 『FujiSankei Business i.』2016年(平成28年)10月21日付14面。
  40. ^ 60 FPS (Custom FPS) | TurboWarp Documentation” (英語). docs.turbowarp.org. 2022年2月19日閲覧。
  41. ^ Unshared projects are no longer visible | TurboWarp Documentation” (英語). docs.turbowarp.org. 2022年12月23日閲覧。
  42. ^ PenguinMod - Home” (英語). penguinmod.com. 2024年7月7日閲覧。
  43. ^ China bans Scratch, MIT’s programming language for kids” (英語). TechCrunch. 2022年5月4日閲覧。
  44. ^ China appears to be blocking access to children's programming language Scratch - Computer - News” (英語). World Today News (2020年9月7日). 2022年5月4日閲覧。
  45. ^ 未来网评:开放的中国不“排外”,但必须要“排毒” _未来网”. view.k618.cn. 2022年9月21日閲覧。
  46. ^ La Chine bannit Scratch, le langage d'apprentissage à la programmation - Le Monde Informatique” (フランス語). LeMondeInformatique (2020年9月8日). 2023年7月11日閲覧。

関連項目

外部リンク




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Scratch_(プログラミング言語)」の関連用語

Scratch_(プログラミング言語)のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Scratch_(プログラミング言語)のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのScratch (プログラミング言語) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS