パーティー会場新館はこちらです。SOHOエンジニアとして思ったこと等を楽しく書いていきたいです。

国民総プログラマーの時代はやってくるか

»

(注:当記事で言う「プログラマー」は、趣味レベルのプログラミング、それこそ自分で1行でもコードを書く人のことを呼ぶことにします。プログラミングでご飯を食べていくような「職業としてのプログラマー」を意味したものではありませんので、誤解されないよう、よろしくお願いいたします。)

先日、下記の記事を読みました。

「すべての人がプログラミングを学ぶべき」---米MIT教授が三鷹市の小学生に伝授
http://itpro.nikkeibp.co.jp/article/NEWS/20130127/452101/

小さい子向けのプログラミング言語「Scratch」の創始者、レズニック教授が日本にいらっしゃったときの取材記事です。

問題の解決方法を学ぶ上でのプログラミング学習をするべきだ、という意見は僕も賛成です。

僕は大学まで情報系ではなかったのですが、独学でITを学びました。ただ、プログラミングを理解できて、自分で何か作れるようになったのは、基本情報技術者の国家資格を受験するときにアルゴリズムを学んでからです。アルゴリズムといっても、ソートなどの知識以前に「アルゴリズムは【手順】だ」という話や「条件分岐とは何か」「繰り返しの処理とは何か」というレベルの話からです(ある試験対策の参考書の本で学んでいるので、実際に何かの言語でコードを打ち込んでいたのではなく、フローチャートで学んでいます)。その経験上、プログラミング言語を学ぶ以前に「考え方」を学ばないとプログラミングをするのは難しいと思っています。

考え方が最重要、とはいえ、プログラミングによってそれを学ぼうと思っても、「開発環境のインストール方法と使い方を学ぶ」「言語仕様を学ぶ」など、いざ始めようと思っても一度に学ばなければならないことが沢山あるという問題点がありました。Scratchは、小さい子が理解しやすいように工夫されている点に特徴があります(同様のものとして、文部科学省のサイトに、Web上でScratchのようなプログラミングが出来る「プログラミン」というサービスがあります)。

Scratchやプログラミンに限らず、「なでしこ」のような日本語でプログラムが書けるソフトウェアがあったり、「codepad」「Ideone」のような標準的なプログラミング言語によるコードの作成・実行をWeb上で試せるサービスがあったり、「jsdo.it」のような他者の作成したコードの内容を確認できるサービスもあったりします。「ドットインストール」などのようなYouTubeなどの動画サイト上に講座の動画をアップロードし、誰もが自由に閲覧できるサービスをしている会社や有志もいらっしゃいます。ゲームが作成できることで有名な「enchant.js」でも様々な工夫がされていて、enchant.jsは「人類の4分の1がプログラマーになる」ことを目標としているようです。(参考:http://www.youtube.com/watch?v=2urHgXOyPro

このように、IT技術の進化に伴い、プログラミング学習の敷居を低くする工夫が様々なところで行われています。

ただ、いくら基盤を沢山提供いただけたとしても、なかなか国民全員がプログラミングを経験するようになるかといえば、そうではないと思います。凄く難しいことだと思います。

個人的には、(学習基盤が出来ているという仮定で)一人でも多くの方がプログラミングを学んでもらおうとするのなら、「きっかけ(触れるきっかけ)」「モチベーション(続けるきっかけ)」が大事かなと思っています。

普段からブラウザで出来るゲームで遊ぶのが好きだったとしても、本当にITが好きな子でない限り「それを作ってみたい!」という思いにはなかなか至らないのではないかと。もし、何らかの形でプログラミングを経験し、それらのゲームが簡単に作れるということを知ることが出来たら……。「何か作ってみたい」「作ることって楽しい」と思い始める子が増えるのではないでしょうか。上記の記事のように、学校単位や地域で体験学習会を開催するのでも良いと思います。いっそのこと、学校で必須にしちゃっても良いかもしれません(そのためには解決すべき課題も沢山あるとは思いますが)。

あとは、本人のモチベーション(学習を続けるきっかけ)。せっかく体験学習で学んでも、引き続き学んでみたいと思われなければ、「こうやれば作れるんだ」で終わってしまうでしょう。家でも何か作りたいと思わせるようなきっかけが無いと、せっかくの体験会も無駄になってしまうかもしれません。何度も体験学習するのでも良いかもしれません。

とはいえ、まだ僕自身、この記事を書いていて、「こうすべきだ」と言えるようなアイデアが無いのが現状です。このあたりは、関心のある方と色々と話してみたいテーマではあります(笑)。

☆★☆

問題解決の方法を学ぶという手段でのプログラミングは、非常に有用で、敷居を低くしてくれている基盤は増えてきています(言語なんて二の次で、まず考え方を学ぶのなら標準的な言語でなくても構わないのではないでしょうか。Scratchでも、なでしこでも、僕は良いと思っています)。あとは「どうしたらプログラミングを学んでもらえるか」を考えていかなければならないのかな、と思っています。

もちろん、それをきっかけに職業としてのプログラマーを志望する子が増えれば、尚のこと良い方向へ行けるかもしれませんね。

Comment(0)

コメント

コメントを投稿する