プログラミング言語『スクラッチ』とは?
当教室では、『スクラッチ(SCRATCH)』を使用してプログラミング学習をしています。
この『スクラッチ』とはどういうものか?効果は?将来的に役立つのか?解説していきます。
①そもそも『プログラミング言語』とは?
コンピュータは人間の言葉を理解できないので、コンピュータの言葉で指示する必要があります。それをプログラミング言語と呼びます。
人間の言語にも英語やフランス語、中国語、日本語など複数あるように、プログラミング言語も200種類以上存在しています。これらは用途によって得意・不得意があり、難易度もさまざまとなります。
プログラミング言語の人気ランキング、独自調査で解明 | 日経クロステック(xTECH) (nikkei.com)
②各プログラミング言語の特徴は?
用途や時代によって、使われる言語は常に変化していきます。現在よく使われているものを、おおまかに以下のように抜粋・分類しました。
・WEBサイト制御
HTML、Javascript、PHP
・制御系機器やさまざまな電子機器等に組み込み
Java、C
・スマホアプリ開発
Swift、Kotlin、Java
・人工知能開発、データ分析や処理の自動化
Python、VBA
・ゲーム、アニメ、初心者向け、子供向け、教育用
SCRATCH
この中でスクラッチ(SCRATCH)は、初心者向け学習用(特に子供向け)という位置づけです。
③どのプログラミング言語を学ぶのが良いのか?
興味のある用途、何がしたいかで選べばいいと思います。
例えば、子供にエクセル作業の自動化プログラムを教えても、まったく興味はなく上達しません。子供に限らず言うと、WEB開発に興味があればHTMLとJavascript、エクセルやPC仕事の自動化などをしてみたい場合はVBAやPythonが難易度としても丁度いいと思います。正直、Javaは超絶難易度です。(個人的見解)
何か一つプログラミング言語を習得すれば、他の言語の習得も容易となります。まずは興味のある分野で一つ習得を目指すといいと思います。
④スクラッチの特徴
特徴としてはいろいろあるのですが、大きく2点取り上げます。
- ブロックを組み合わせてのプログラミング
従来の、『テキスト入力でのプログラミング』と違い、ブロックを組み合わせて作成するので視覚的にわかりやすい - 日本語でのプログラミングが可能
プログラミングは基本的には英語がベースだが、スクラッチでは多数の言語に切り替え可能で日本語にも対応している
ブロックだと見やすく感じると思います。特に小学生ではまだ簡単な英単語でも馴染みがない場合が多いので、子供にはブロックでのプログラミングがお勧めです。
⑤スクラッチでプログラミングの勉強になるのか?
「パズルのように当てはめて、遊んでいるだけに見える。これで本当にプログラミングの勉強になるのか?」というご意見もあります。では上記のブロックプログラムの言語設定を英語に変更してみます。
英語にしてみると、従来のプログラムそのものです。プログラムとしての構造や文法、変数や関数の使い方などはまったく同じですのでプログラミングの勉強としては申し分ないと考えます。子供たちはこれらを感覚で身に付けていきます。
⑥スクラッチは将来的に役に立つ?
プログラミング学習としては全く問題ないスクラッチですが、将来、プログラミングに携わる仕事で使えるかといえば、そうではありません。ブロックなので検索や他のソフトとの連携などは苦手で出来ることも限られており、仕事には向きません。
一般的にプログラミング学習は90%が挫折すると言われています。
ですが、1つでもプログラミング言語を習得していれば、他の言語も基本的には同じであり習得しやすいので、まずはスクラッチから始めるのは良い方法だと思います。
またスクラッチはちょっとした内容を簡単に作成できるので、仕事ではなくとも便利です。例えば「コロナ禍での外出率とコロナ収束率の関係性をシミュレーションする」プログラムをさっと作成することも可能です。(実際にあります)
⑦まとめ
以上より、プログラミング言語「スクラッチ」について。
- 仕事には利用出来ないが、プログラミング学習方法としては有用
- ちょっとした計算やシミュレーション、趣味などでプログラミング利用するにはとても使いやすい
私はプログラミング言語は10数種類習得していますが、スクラッチはトップクラスの開発しやすさと使いやすさでありよく利用しています。決して子供向けの使えないモノではありません。プログラミングに携わるなら子供でなくても習得しておいて損はない、と私は考えています。