プログラミングの学習において一番大切なこと
プログラミングはレゴブロックのようなもの
※前書きより。『はじめての “文字で打ちこむ” プログラミングの本——スクラッチのブロックとくらべて学べるJavaScriptの基本』
この本で学びはじめる前に、プログラミングの学習において一番大切なことを伝えておきたいと思います。
プログラミングには「正解」というものがありません。それが学校の教科の勉強と一番違うところです。たとえば、数学(算数)には正解があり、正解にたどりつくまでの正しい手順があります。問題を解くときは、最初に正解までの手順を考えてから式を書きはじめます。そうするためには、必要な公式(解き方)を先にすべて理解しておく必要があるので、そのために勉強します。
一方でプログラミングは、学校の勉強というよりも、レゴのブロックで遊ぶことにずっと近いです。レゴブロックで「家」を作りたいとしましょう。作りはじめる前に頭に思い浮かべた家が最初の「正解」ではありますが、作っているうちにまったく違う家になることのほうが多いでしょう。最初に目標は立てるけれど、あとは作りながら考える。プログラミングも同じです。だいたい同じように動いたなら、本の解答例と違っていてもよいのです。
レゴブロックで家を作る手順もさまざまです。そこに「正しい手順」というものはありません。床から作ってもいいし、壁から作ってもいいし、庭から作ってもかまいません。別の部分と組み合わせるときにうまく合わなくて、作り直すこともよくあります。プログラミングも同じです。どこから書きはじめてもいいし、失敗しても誰も怒りません。だから、本に書かれていることがすべて理解できていなくても、さきに作りはじめてしまっていいのです。
そして、何もないゼロの状態からすべて自分で作る必要もありません。誰かが作ったレゴの家を改造するのもおもしろいですよね。他人の作ったものを触っていると「これはこうして作るのか」という発見もあります。プログラミングも同じです。あるものはいくらでもコピーして使ってください。この本にのせたプログラムは、みなさんに自由に改造してもらうために用意したものです。
この本でこれから使っていくp5.js(ピーファイブジェーエス)というアプリは、レゴなどのブロックを組み立てるようにして、プログラムを作りながら考えるのにぴったりです。p5.jsはアート(芸術)の分野でよく使われていますが、“創作”とはまさに「作りながら考える作業」だからです。この本はプログラミング言語(JavaScript)の文法を学ぶために書かれたものですが、学校の教科書ではありません。本に書かれたことをただ覚えるのではなく、みなさんの作品(プログラム)をどんどん創作しながら読み進めてください。