スクリーンショット_2019-04-01_9

初心者を増やせ! コミュニティの裾野を広げる大切さ。

プログラミング教育について意見が割れるのは、

「ビジュアルプログラミング言語」か、「テキストプログラミング言語」か、というところだ。

「テキストプログラミング言語」論者の人は下のように言うかもしれない。

「子どもたちは小さい頃からキーボードに馴れて、テキストをどんどん打ち込むことができるようになるために、テキストプログラミング言語をはじめから学んだほうが良い。企業や研究所で実務として活用されているプログラミング言語もテキストプログラミング言語じゃないか。ビジュアルプログラミング言語を使っているところは一つもない。」

また、「ビジュアルプログラミング言語」論者の人は下のように言うかもしれない。

「ビジュアルプログラミング言語は直感的に理解することができ、操作も簡単で何度も試行錯誤を行うことができる。反面、基本的に英語のテキストプログラミング言語は、ちょっとしたミスでエラーが起きたり、コピペばかりで理解せずにプログラムを書いていることが多いじゃないか。」

それぞれのプログラミング言語を「教育現場」で活用することを考えると、お互いの長所と短所が浮き彫りになってくる。

一つは、私達日本人の弱点かもしれない言語的な問題があることに気づく。テキストプログラミング言語は英語のみで書かれており、基本的には英語の文法規則に従っている。

日本語で考えてみると、

「私はオレンジを食べる。」 → S(主語)O(目的語)V(述語)

の順番になっているのに対して、

英語では、

「I eat an orange.」 → S(主語)V(述語)O(目的語)

の順番になっていて、逆だ。

プログラミング言語で見てみれば、例えばCodemonkeyを例に上げると、下記のようになる。

turtle.step 10 # 亀は歩く10歩

しかし、Scratchでプログラムを書いてみると、下記のように語順の違いが吸収され、日本語で理解ができるようになっている。

私達日本語話者にテキストプログラミング言語を学ばせるのを阻む言語的ハードルが存在するのだ。当然のことながら、英語が理解できる方がテキストプログラミング言語の理解も早い。

ユーザーの数も異なる。テキストプログラミング言語は実務で活用されていることもあり、コミュニティの基盤も幅広く、頑強である。Stackoverflowに質問を投げれば30分以内くらいに世界中の何処かからだれかが助けてくれる。これは本当に私も驚いた。

そして、プログラマーが悩まされ続けるのは「誤字脱字のエラー」である。

テキスト言語では、全角・半角の間違いや、「}」のいちが間違っていたり、ひとつないだけで、全体が動かず、ミスの箇所を探すのに何時間もかけてしまうことがある。

これがビジュアル言語ではまったくない。あるとしたら、上に書いた[10]歩動かすというこの、「10」を全角で書いてしまったりするくらいだ。

拡張性、実務での活用を考えると、テキストプログラミング言語の方に分がある。高い拡張性と使いやすさシンプルさは現時点ではトレードオフ関係にあるし、実務で使われ続けているのはやはりテキストプログラミング言語だ。


プログラミング言語を活用するコミュニティを活発化させるためには「初心者の数を増やす」ことが大切である。例えば、現在廃れてきている言語「Ruby」は、2010年代初頭には、ウェブサイトを提供するためのサーバーを簡単に作れる言語、「Ruby on Rails」が流行っていたため活用されていたが、現在は活用されなくなった。

Ruby on Railsは、開発環境(プログラムを実際に書く段階になるまでの準備)をつくるまでにたいへん長い道のりで、(私自身も相当頭を悩まされた)初心者のエントリーがほぼ困難なものだった。

さらに、Ruby on Railsが担っていた部分をGoogle Cloud(firebase)やMicrosoft Azure、Amazon Web Serviceなど、ITの三銃士が提供しているサービスに取って代わられてしまった。

それに対して、Scratchはその理念として「Imagine(想像する)」「Program(プログラムを書く)」「Share(共有する)」ということを特に意識している。

自分が作ったプログラムを世界中に共有することができ、さらに他の人の作品も見ることができる。

「Remix」という機能もついていて、他の人のプログラムをコピーしてそこに自分なりのアレンジを加えることもできるのだ。

あるものに手を加えるくらいだったら初心者にも簡単にできそうで、さらにお手本としてのプログラムを見ることもできる。

Scratchは、「初心者」を大切にするコミュニティはどんどんフォロワーを増やし発展を遂げるという社会実験の一つでもあるのだろう。

ただ続けることを目的に、毎日更新しております。日々の実践、研究をわかりやすくお伝えできるよう努力します。