WirelessWire News Technology to implement the future

by Category

「なぜプログラミングは必要なのか」~プログラミングの2つの側面

2013.12.10

Updated by Asako Itagaki on December 10, 2013, 15:21 pm JST

さる12月2日、「なぜプログラミングは必要なのか?」と題したシンポジウムが開催された。先日、主催者のアスキー総研取締役兼主席研究員である遠藤諭氏にこのイベントを開催するにいたった思いを語っていただいたが、本稿では、当日の登壇者の発言を交えながら、「なぜプログラミングが必要なのか」について考えてみたい。

当日は、15名の登壇者が4つのセッションでそれぞれ異なる角度から「プログラミング」について語るというものだった。5時間の長丁場、飽きることなく興味深い議論が展開された。

檀上にいないサイレント・マジョリティのプログラマー達

なぜプログラマーはプログラマーになったのか。最初のセッション「プログラミングの重要性」に登壇したまつもとゆきひろ氏(Rubyアソシエーション理事長、アスキー総研主席研究員)は「コンピューターが教えた通りに動くのがかわいい、楽しいと感じた。ラジコンのように操作した通りに動くのではなく、犬に「伏せ」というと伏せをするように教えた通りに動くことに楽しさを感じ、コンピューターに言うことを聞かせるのが楽しいという気持ちが原点」だという。

201312101530-2.jpgセッション4の「ホット・プログラマーズ・トーク」に登壇した5名のプログラマーのうち、大前広樹氏(ユニティ・テクノロジーズ・ジャパン日本担当部長)、増井雄一郎氏(FrogApps取締役CTO、トレタCTO)、高橋憲一氏(日本Androidの会 幹事、スマートエデュケーションSoftware Engineer、Hack For Japan、東北TECH道場講師)の3名は、まつもと氏と同様、プログラミングでコンピューターを動かすことそのものが楽しい、という原体験を持っていた。これに対して、安川要平氏(IPA 2012年度未踏スーパークリエーター認定者、YasuLab代表、レキサスアカデミー常任講師、Railsチュートリアル発起人)と進行役を務めた閑歳孝子氏(Zaim代表取締役・写真左)は、どちらかといえば「やりたいプロジェクトやサービスを実現するための手段としてプログラミングが必要だったから、コードを書いた」という。

▼セッション4:ホット・プログラマーズ・トーク。左から大前氏、増井氏、高橋氏、安川氏。
201312101530-3.jpg

檀上で語る「プログラミングそのものが楽しいからプログラマーになった」人と「何か実現したいことがあってプログラマーになった」人。話を聞きながら、私は20年ほど前に勤務していた会社の同僚のプログラマー達のことを思い出していた。そこは中堅規模の独立系SIerで、システム導入のコンサルティングから製造まで受託開発を行う会社だったので、多くのプログラマーが雇用されていた。彼らがなぜプログラマーになったのかといえば、おそらく「楽しかったから」でも「何か実現したいことがあったから」でもなく「生活の手段として目の前にプログラミングがあったから」ではないかと思う。

もちろんそのころと今では主流となっているプラットフォームも言語も違う。当時プログラマーだった彼らが今も一線で働いているプログラマーかどうかは分からない。しかし、今の日本で自分の職業を「プログラマー」と名乗る人のうちかなりを占めるのは、この「どちらでもない」タイプのプログラマーではないかと思う。

「創造的なプログラミング」だけが求められる世の中になる

セッション1で、「今の社会は全部コンピューターで動いているから、コンピューターが動かなくなったら人類は破滅する。ソフトウェアを書くプログラマーが重要なのは言うまでもないことで、彼らをどう扱うかということがむしろ重要」とまつもと氏は語った。この後、古川享氏(慶応義塾大学大学院教授)が「まつもと氏のようなスーパープログラマーが日本では後に続かないのはなぜか」「優秀なプログラマーが十分活躍できるように環境を整えて支援していくことで、優秀なプログラマーと一緒に世の中を変えていける」という話を展開するのだが、私の感想を正直に言うと、これは「雲の上の人たちの空中戦」に聞こえていた。

▼セッション1:プログラミングの重要性。 まつもとゆきひろ氏(左)と古川享氏。このセッションの進行役は遠藤氏がつとめた。
201312101530-1.jpg

「プログラマーコミュニティは終わらない文化祭だ」と語るまつもと氏が「プログラミングはお金をかせぎながら楽しみを持つことが割合に多くできる仕事だと思う」「つまらない仕事のためのプログラミングから一歩踏み出して一緒に文化祭に出よう」という表現をしていたのはまさに「どちらでもない」タイプのプログラマーに向けたメッセージなのだろう。しかし今の社会を動かしているコンピューターを動かしているプログラムの多くは、つまらない仕事のためのプログラミングで生み出されたものだ。そこから全員が踏み出したら世界はすぐにでも破滅してしまうだろう。すぐに踏み出せない人の方が圧倒的に多いから、世界は今もなんとか動いている。そこにジレンマがある。

だからといってこのままでいいわけではもちろんないだろう。プログラミングそのものを楽しめる人の役割は、「つまらない仕事のためのプログラミング」をしているプログラマーを、そこから解放することではないだろうか。プログラマーのコミュニティから生まれたオープンソースという概念やgithubのような仕組みは、共有によってプログラムの生産性を高めることで、より創造的なプログラミングを可能にすると同時に、「創造的でないプログラミング」はしなくてもすむように、プログラマーの在り方を変えようとしている。そしてプログラマーコミュニティも、その一助となっている。

これからのプログラマーは、プログラミングそのものが好きな人か、あるいは何かをするための手段としてプログラミングをする人のいずれかになっていくのが望ましい。まつもと氏に続くさまざまな「スーパープログラマー」が生まれ、経済的にも名声でも高い評価を得て、プログラマーのロールモデルとなることで、プログラマーコミュニティはより豊かになり、コードで世の中をよくすることに寄与していくだろう。

プログラミングの対象は拡張されている

では、そうではない人にとってプログラミングは無関係かといえば決してそうではない。狭義のプログラミングを「コードを書くこと」であるとすれば、そのメリットは「自由さ」であるというのは、大前氏だ。「今の世の中何かしたいときにコンピューターは避けて通れない」「その時、プログラミングができる人を探すところから始めるのではなく、自分でやればいい、という自由さ、気軽さは大きい」と語る。

今の世の中、何かをしようとおもえばプログラミングは避けて通れないが、それは必ずしも「自分がコードを書く」ということではない。セッション2「スタートアップ×デザイン×プログラミング」で登壇した深津貴之氏(UI/Design Engineer)は、「プログラミング的な考え方が世の中を変えるためには必要だ」と言う。深津氏は自身もメガヒットしたiPhoneのトイカメラアプリ「Tiltshiftgen」をはじめプログラミングを手掛けているが、「コードを書くのはラストスパートで、その前段階の課題解決のための仮説出しと、ルールを作る世界観が一番大事。最終アウトプットはコードじゃなくても考え方は使える」と言う。

同じくセッション2で登壇した江原理恵氏(RE代表取締役)は、自身は全くコードは書かないが、「アイデアを実現できる人に出会ったときに、スケッチを見せてプロトタイプを作ってもらう」という方法でさまざまなサービスを実現してきた。

▼セッション2:スタートアップ×デザイン×プログラミング。深津貴之氏(左)と江原理恵氏。
201312101530-4.jpg

深津氏はプログラミングを「問題を解決するツールであって武器。持たざる人、お金も人もない人には一番大きい武器になるのではないか」と位置付ける。プログラムによってコンピューターにルールを与えることで、一人で頭を使ったり手を動かしたりするよりも100倍、1000倍のアウトプットを出せる。それはコードを書くことだけではなく、ソーシャルハックによって人の行動をプログラミングすることでも可能だ。

201312101530-5.jpg「3000円以上どこかの慈善団体に寄付した人から、抽選で1名に、新型iPadプレゼント」で、iPad1台分の支出で寄付金総額を10倍に増やした深津氏の「寄付ハック」(詳しくは深津氏のブログを参照)もその一例である。(なお、深津氏は寄付ハック第2弾として2013年12月14日まで【寄付ハック】フィリピン災害へ寄付した人に、オレが自腹でiPad miniプレゼントキャンペーン 」を実施中)。

セッション2のモデレーターの林信行氏(ジャーナリスト・写真右)は、「プログラミングが画面の外に働きかけることができる時代。リアル、フィジカル、コンピューターの持っている拡張性、が武器になる」と表現した。コンピューターがスマートデバイスとして人と緊密に結びつき、それがインターネットでつながることで、接続された人そのものを動かすことがプログラムできるようになったということであろうと私は解釈した。

プログラミングが育てる多様性

コードを書かなくてもプログラムができる時代。それでもなおかつ、コードを書くことを身につけることが必要なのだろうか。201312101530-6.jpgセッション3「教育とコンピュータ」のモデレーターを務めた松村太郎氏(ジャーナリスト・写真左)は、コードを必修科目とする通信制普通科高校「コードアカデミー高等学校」の設立を目指している。その目的は、「読み・書き・そろばん」に加えてコードを学ぶことで、テクノロジーが分かり、自分で作れる人を作ることだという。さらに、2年次からは「マイプロジェクト」を通して、プロジェクトを完成させるために必要な知識を学んでいくことで学習を広げ、深めていく。

セッション3にはさまざまな立場からプログラミング教育に携わる方々が登壇した。プログラミングを教える意味について、筧 捷彦氏(早稲田大学 理工学術院 基幹理工学部/研究科 情報理工学専攻教授)は、コンピューターを「脳の力を増幅し、手順的自動処理を実現する究極の道具」と定義し「それを動かす仕組みであるプログラミングの面白さに触れるチャンスを提供したい」と語る。

鈴木 久氏(ベネッセコーポレーション デジタル戦略推進部UX開発セクション)は、「子供がコーディングするのはこれから当たり前になっていくだろう」と述べ、そのために「人がすべきこととコンピューターがすべきこととの切り分けができる力、問題抽出力、課題解決力」を身につける環境や機会を作りたいと述べた。そのために、小学生を対象としては数学的思考力を身に着けるための算数ゲームの提供や、高校生を対象としたAndroidアプリ開発ワークショップなどの取り組みを行っている。

プログラミングを子供のクリエイティビティの底上げのツールとしてとらえているのが、石戸奈々子氏(デジタルえほん代表取締役、NPO法人CANVAS理事長)だ。CANVASでは、子供が自分で何かを作って表現するさまざまなワークショップを行っており、プログラミングワークショップにも11年前から取り組んでいる。プログラミングによって「論理的に考え問題を解決する力」「他者と協力して新しいものを生む力」「さまざまな表現手段」を身に着けることができるとした。

瀧田佐登子氏(一般社団法人モジラジャパン代表理事、慶応義塾大学大学院政策・メディア研究科講師)は、MozillaのWebMakerという取り組みを紹介した。Webを使う人が増えるにつれ、多くの人がWebの作り手へとシフトしつつある。彼らが正しくWebを自己学習するためのツールを提供するプロジェクトだ。基本的なスタンスは「誰に強制されるのでもなく、おもしろいと思う人が飛び込んでくる場を提供する」というものだ。そのための環境として、MozillaFactoryや、全国各地を巡回するキャラバンバス(MozBus)を運営している。

▼セッション3:教育とコンピュータ。左から筧氏、石戸氏、鈴木氏、瀧田氏。
201312101530-7.jpg

「プログラミング教育」といっても、その目的は「コンピューターを動かすことの楽しさを知る」「コードを書くために必要な論理的思考力や問題の切り分け能力の養成」「創造力を養うためのツール」「他の学習をしたいと感じるための契機」とさまざまだ。

つまりプログラミング教育とは、ただプログラマーを育てるための教育ではない。教育には多様な人材を育てることが求められており、そのための道具としてコンピューターとプログラミング(コード)は大いに役に立つという位置づけがされているようだ。

変わるプログラミングの概念と教材・道具としてのコード

ここまで見てきたように、「なぜプログラミングは必要なのか」という問いを立てても、立場によって「プログラミング」「コード」のとらえ方は異なっている。今のプログラミングとは単にコンピューターを動かすためのコードを書くことにとどまらず、人を動かすためのルールや仕掛けを作ることまでが含まれる。コンピューターやネットワークをコントロールするための道具としてのコードを使いこなすことと、コンピューターやネットワークでつながる人やものの関係性をデザインして社会を変えること。プログラミングには2つの意味があるとも言い換えられるだろう。

そして、コードを書き、コンピューターを動かす経験をすることで、2つのプログラミングをする力は鍛えられる。だから子供や若い人が、コードを学ぶことには意味がある。まつもとゆきひろ氏は「プログラミング言語は自分の意図をコンピューターに伝える手段であると同時に自分の考え方を明確にする手段」とも語っている。思考の道具としてもまた、コードの読み書きは有用だということなのだろう。

コードは極めて優秀な教材であり、また道具である。何かをしたいと思う時にコードを書くのは、それを自分の道具として楽しく使える人だけがやればいい。すべての人がコンピューターとネットワークで人がつながれた世界で何かを動かそうとするときに、「プログラミング」という手法が有効であることを知り、臆せず取り組めること。それが多様で豊かな社会を作るためには必要なことなのだ。長丁場のイベントを終えて、また少々長すぎる時間考えて、私が達した結論である。

なお、今回のイベントでは、各セッションの進行と同時に、マインドマップが作成されていたようだ。このマインドマップを公開していただくことで、多くの人が「なぜプログラミングは必要なのか」を考える契機となるのではないだろうか。主催者にはぜひ検討をお願いしたい。

【参照情報】
【シンポジウム開催決定!】なぜプログラミングが必要なのか?(角川アスキー総合研究所)
 当日のプログラム。
なぜプログラミングが必要なのか?【追記あり】(ASCII.jp)
 当日の模様が簡潔にまとまっている。
まつもとゆきひろ氏「プログラミングコミュニティは終わらない文化祭」( INTERNET Watch)
 セッション1(まつもとゆきひろ氏×古川享氏)の模様が詳しくレポートされている。
コードアカデミー高等学校(※設置認可申請中)
 松村太郎氏が設立準備を進める学校。
Global Math - グローバルマス
 ベネッセが提供する、数学的思考を身に着けるためのゲーム集。
キャンバス ワークショップ キャラバン
 CANVASが提供するワークショップ支援事業。
Mozilla Factory
 Mozilla Factoryの案内。MozBus Projectの概要もここから参照できる。

WirelessWire Weekly

おすすめ記事と編集部のお知らせをお送りします。(毎週月曜日配信)

登録はこちら

板垣 朝子(いたがき・あさこ)

WirelessWire News編集委員。独立系SIerにてシステムコンサルティングに従事した後、1995年から情報通信分野を中心にフリーで執筆活動を行う。2010年4月から2017年9月までWirelessWire News編集長。「人と組織と社会の関係を創造的に破壊し、再構築する」ヒト・モノ・コトをつなぐために、自身のメディアOrgannova (https://organnova.jp)を立ち上げる。