プログラミングとコーディング

 プログラミングとコーディングの違いは、なんでしょうか?
 すごくかんたんにいえば、プログラミングが全体とすれば、その部分がコーディングです。
 たとえば、Code.orgというアメリカの子どもたちが計算機科学の学習をするウェブサイトがあります。導入の練習であるダンスパーティーはプログラミングですが、それをつくる過程は、コードの時間(コーディング)と呼んでいます。建築でいえば、「家を建てる」はプログラミングですが、「柱を立てる」「梁を架ける」はコーディングになるのではないでしょうか。
 プログラミングを学ぶ子どもたちに対して、『Coding for Kids』とか『Coding for Kids in Scratch』とか『Coding with Scratch』など、たくさんの本が出版されています。
 さて、それらの本を読んでいますと、アメリカでも、プログラミング学習が嫌いな子どもたちが存在していることがわかります。保護者への注意として、「スクラッチで教えるとき、無理強いしないことが重要です。みんながコンピューター・プログラムに関心があるわけじゃありません。まったく興味を持たなかったら、ほかのことをさせてください。あなたの子どもがコーダー(Coderコーディングする人)に育たなくても、世界が終わるわけじゃありません」と書かれています。
 子どもたち向けの本ですから、英語もかんたんです。
「へい、キッズ! 自分のビデオ・ゲームをつくる準備はできているかい。スクラッチは、ドラッグ・アンド・ドロップのコーディングだ。君のマウスで、クリックして、ドラッグするだけで、君のゲームがつくれるんだぜ」
 といった具合です。
「プログラミングって、なんだ? プログラミングは、コーディングともいうけど、君のアイデアをコンピューターが理解できるフォーム(形)に入れることだ。スクラッチは、絵を使って君のアイデアを表現させてくれる。キーボードでワーズ(Words)を打ち込んでもいいのだけれど、スクラッチは、君が描いた絵をそれらのワーズにかえることで、君のために働くんだ。一行のコードのような簡単なステップから始めよう。やがてゲームを完成させるコーディングができるようなるさ」
 ところで、スクラッチは、本当のコーディングではないという人たちがいるようです。なぜなら、タイプされた指示のかわりにブロックを使うからです。
 『Coding for Kids Scratch』の筆者マーク・ベネットは、「こんなことをいう人は、まちがっている。スクラッチのコーディングは、パイソン(Python)のコーディングとおなじくらい、リアルだよ。論理の力、組織立てる力、細部への注意力など、同等の技量が必要とされるのだから」と答えています。
 話を戻しますが、スクラッチのブロックの一つ一つ(部分)がコード(Code Blocks)です。これらを組み合わせるから、コーディングです。あるプロジェクトを全体として完成させることがプログラミングです。
 まとめますと、スクラッチの場合、コード・ブロックスを組み合わせることがコーディング、コーディングによってプロジェクトを完成させることがプログラミングです。
※『Coding for Kids Scratch: The Ultimate Step by Step Guide to Develop』Mark B. Bennet 2020

山手学院 学院長 筒井 保明