スクラッチとは何か?

まあ、そこへんのことをちゃんと書いてあるウェブの記事はたくさんありそうなので、ちゃんとした説明はそっちに任せるとして、ザクッとしたところだけ書いておこうと思います。

まず、ある程度コンピューターがわかる人向けに書いておくと、

Webブラウザベース、GUIベースで、オブジェクト指向のプログラミング言語。
画像と音の処理が楽なので、子供に教えやすい

ぐらいで良いかなと。

わからない人向けに書いておきます。わかんなくても良い気もするので、ややこしければ、読み飛ばしていただければと。

Webブラウザベース

今時Internet Expoloerは卒業して欲しいですが、基本的にChromeやSafariなどのWebブラウザーの上で、プログラミング言語scratchは動きます。なので、どのPCであっても動くし、Windowsであろうが、macであろうが、そして、スマフォであろうが動くわけです。ただ、操作系が、PCのキーボードとマウス前提で作られているので、PCはあった方が良いです。

これが何を意味するかというと、Windowsで作ったものが、macbookでも動くということです。あんまりどのPCであるとか、どのOSであるとか気にしなくて良いという意味で、極めて現代的な作りをしていてよろしいかと思います。

まあ、へっぽこアマチュアエンジニアである私が評論するなという話ではありますが、へっぽこでも動くのがありがたいです。


GUIベース

GUIというのは、グラフィカル・ユーザー・インターフェース(Graphical User Interface)のことで、要するに、絵で操作ができるということですね。今では当たり前ですけど、マッキントッシュが大衆に実装して、パロアルト研究所で作ったようなものです。マウスで操作するあれですね、あれ。

普通のプログラミング言語は、文字で入力するわけですが("printf"とか)、スクラッチは、そういう機能が全部部品のブロックになっているので、ブロックを組み合わせて、プログラミングができます。まあ、文字が打てなくてもある程度は動くってことなんですよね。さすが、MIT(米国のマサチューセッツ工科大学)さんの作った子供用の言語だけあって、よくできてます。

オブジェクト指向のプログラミング言語

これは、難しいですよねー。まあ、プログラミングと楽譜がよく似ているとも言われるので、そういうアナロジーで説明するとします。

楽譜を一つしかない言語があるんですね。C言語とかはそれで、一つの流れしか表現できないんですね。だから、1つの楽器を引く命令をしたら、楽器を切り替える命令をして、というのを素早く切り替えて処理しないといけないのが、昔のプログラミング言語です。楽器の制御をしなくてはならないので、面倒なんですね。頭の中がコンピューター的にしないといけないんで面倒です。

一方、オブジェクト指向の言語というのは、楽器を一つのオブジェクトとして認識して、そのオブジェクトに演奏命令たる楽譜付加します。ピアノには、ピアノの楽譜を、ギターにはギターの楽譜付加、ドラムにはドラムの楽譜を独自に付加していって、全体の演奏を作るイメージですね。

より直感的にプログラミングができるので、楽です。

具体にゲームを作るときに、キャラクターを書いて、そこにコードをつけて行くので、やりやすいですね。

スクラッチでは、最初にねこちゃんが出てきますが、まあ、そういう意味でやりやすいなと思います。

画像と音の処理が楽

あーこの辺は、C言語とかやってないとわかんないと思うんですが、画像の処理とか音の処理をいちいち自分で描くのはすごく大変なんですね。それをえらい人がまとめておいてくれたのが、ライブラリというのですが、このライブラリが充実している言語というのは使うのが楽です。"hogehoge.jpg"を読み込んで表示せよ、なんていう命令を昔のC言語でやると地獄で、それだけで心が折れますが、最近のPythonなんて天国です。そして、スクラッチも一瞬でできます。

また、音も同様にできます。

子供は、わかりやすいゲームが一番なので、それが作りやすいのは良いですね。

子供に教えやすい

というわけで、子供に教えやすいです。


というわけで、次回に、長男がどんなものを作りたかったのか、書いて行こうと思います。


この記事が気に入ったらサポートをしてみませんか?