プログラミングって何?

ITが苦手、プログラミングってちんぷんかんぷん。そんな人のための「プログラミングとは?」説明です。基本は実はそんなに難しくありません。

Scratchの画面。オンラインから誰でも無料で使うことができる。

プログラミング教室をしていると、無料体験に来られる保護者の方から、よく次のように言われます。

「私、パソコンのことってチンプンカンプンで……」
「プログラミング? 大事なのはわかるけど私には何が何だか……」

本記事では、そうした方のために「プログラミングって何?」「Scratchって何?」という点について、簡単に、ざっくりと説明します。細かいことはいろいろあるだろうけど、一言で言えばそういうことだったのね、という解説です。プログラミングのことなんぞまったく知らない人対象です。


プログラミングとは

一言で言うと、コンピューターに「これやって」「こうして」と命令、お願いすることが「プログラミング」です。

コンピューターは人間と違って、「言われたこと」を「言われた通りにしか」やりません。つまり、プログラミングしなければ、コンピューターは「ただの箱」になってしまいます。コンピューターはずっと人間からの命令、お願いを「待って」います。

つまり、簡単に言っちゃうと「プログラミングを学ぶ」とは、「コンピューターに自分がやってもらいたいことを上手くお願いする技術を学ぶ」ということなのです。

コンピューターさんにとって「わかりやすい」ように伝える、コンピューターさんが、自分の思う通りに動いてくれないのが「なぜ」なのかを理解する。それが「プログラミングを学ぶ」ということだと言ってよいでしょう。


プログラミング言語とは

コンピューターに命令、お願いするときに使う言語がプログラミング言語です。相手が人間なら、お願いするときは、日本語や英語を使いますよね。でも、コンピューターが相手の場合には、コンピューターが理解できる言語、プログラミング言語を使います。

プログラミング言語には本当にたくさんの種類があります。C, C+,PHP, python, ruby, VB……。それぞれの言語によって特徴や使い勝手が違います。ちょうど人間とコミュニケーションを取るときに、中国語、日本語、英語…….いろんな言語があるのと同じようなものだと理解してください。

アプリを作りたいのか。データベースを管理したいのか。やりたいことによって、使う言語が異なりますし、やるべきことに応じて、それらを一から勉強しなければなりません。ちょうど、中国でビジネスするから中国語を学ぶ、アメリカ文学を読みたいから英語を学ぶ、というのと同じですね。


Scratchとは

Scratchは、そうした数あるプログラム言語のうちの1つです。Scratch=プログラミング言語(の1種)です。

ただ、Scratchには他の言語とは違った特徴があります。①プログラミング教育を目的に開発された言語であること、②積み木のようなブロックを並べてプログラミングするビジュアル言語であることがその特徴です。

Scratchは、MIT(マサチューセッツ工科大学)のミチェル・レズニック教授によって開発されました。「教育目的」で開発された言語であるため、初学者にも直感的にわかりやすいのが特徴です(①)。また、下の写真をご覧いただければわかりますが、ちょうどレゴのブロックを並べるようにして、プログラミングを行うビジュアル言語です(②)。

皆さんが「プログラミング」と聞いて何となく思い浮かべるのは、ハリウッド映画なんかで、ハッカーが黒字に緑の画面を見ながら、高速でカチャカチャやるような情景ではないでしょうか。

なんかこういうやつ。

黒字に緑のほうが大人っぽくて、プロっぽくてかっこよいですが、文字も習いたての小学校低学年や、はじめてプログラミングを学ぶ子どもには、見た感じ、いかにもハードルが高いですよね。

Scratchであれば、「動き」に関する命令は青、「見た目」は紫......などと色で内容がすぐわかりますし、ブロックのデコボコ、その形によって、組み合わせられるものと、そうでないものが判別できるので、直感的にも非常にわかりやすくなっています。

黒字に緑で文字を打つ(コーディング)のと、カラフルなブロックを並べるのと。全然違うことのように見えますが、「自分がしてもらいたいことを、コンピューターにお願いする」=プログラミングしているという意味では実はまったく同じことなのです。

「でも、Scratchって見た感じ、いかにも子どもっぽくない?」
「本当にこれでプログラミングの勉強になるの?」

そう思う方もいらっしゃるかもしれません。でも、Scratchは教育用の言語ですから、その点ご心配なく。ちゃんと大事なことが学べるようになっていますし、結構高度なゲームまで作れちゃいます。その点についてはまた別の機会に。