Scratch(スクラッチ)の上達を目指しても

子供たちに大人気ですね、Scratch。小学校でプログラミングが必修になったのをきっかけに、わかりやすさからScratchを導入した学校が多いのが要因の一つでしょう。プログラムを専門的に学んだことのない先生方にとっても、わかりやすいのがさらに良い点です。わたしもプログラミング必修化の時期に、学校で先生のサポートとしてScratch教材を提供したことがあります。

しかし、直感的に「これ(Scratch)がなんの役に立つのか」疑問に思う人も多いのです。その直感は正しいと思います。今回は、プログラミング学習におけるScratchの位置づけについて考えてみます。

Scratchは教育用として開発された

Scratchは学習用として新しく作られたプログラミング言語の一種です。Scratchが発表されたとき、わたしは「難しい文法を覚えなくても直感的にプログラムが組めるのでいいなあ」と思ったのを記憶しています。

ここで大事なキーワードは、「学習用」「教育用」という言葉です。つまり、入門から初級の位置づけにある人がプログラミングに慣れることを主な目的としています。

わたしがプログラムを覚えた時期的に、先にいわゆる昔ながらのコーディングを覚えて、そのあとにScratchに触れました。十分普通のプログラミングができる立場からすると、Scratchは回りくどくて面倒です。

実際に役立つアプリケーションを作れるわけでもなく、生産性もほとんどありません。それは、Scratchの目的が、「実用アプリを作ること」「生産性」を想定していないからです。

プログラミングの上達には、Scratchから羽ばたこう

Scratchでプログラミングを覚えて、さまざまなことができるようになると、もっと複雑なことや難しいことをプログラムしたくなります。それは、とても素晴らしいことです。しかし、そこで「Scratchで」という前提をもうけてしまうと、むくわれない努力をすることになります。

光都ICTクラブでは、Scratchを使うことがあっても、補助的にしか使いません。Pythonでプログラミングする前に、勝手を知っているScratchでプログラミングしてみます。Scratchでプログラミングできれば、Pythonに置き換えることは難しくありません。

Scratchは、自転車の補助輪のようなものです。はやく補助輪をはずして、もっと自由に、もっと広く、プログラミングの世界を楽しみましょう。