スーパー中学生誕生、プログラミング言語わずか数週間で開発、U-22プログラミング・コンテスト2019
2019年10月23日
イベント
「もっと人間にとって扱いやすい、自分の言語をつくってみたかった」。10月20日に東京の秋葉原コンベンションホールで開催された第40回「U-22プログラミング・コンテスト2019」の最終審査会で、見事、経済産業大臣賞(総合)を受賞した開成中学校3年の上原直人さん(15歳)は、独自プログラミング言語「Blawn」を発表した。IT業界の経営者など、並みいる審査員を驚かせたのは、完成度の高さはもちろんのこと、今年8月からわずか数週間で完成させたスピードだった。一次審査の応募期間7月1日~9月2日に着想から開発、完成まで一人で仕上げたという。
C言語を使ったのは今年7月
それまでPythonを使っていたという上原さんは発表の中で、「今年の7月か8月にC++を始めたが、扱いにくかった。もっと可読性の高い構文とメモリの安全性や速度を高めたいと思った」と、開発のきっかけについて語った。
質疑応答で審査員から、「7月にC++を使ったということは、Blawnはそれ以降につくられたということですか?」と聞かれて、上原さんが「7月中旬に構想して構文解析を行って、プログラムを書き始めたのは8月ごろ」と答えると、会場にどよめきが起きた。文句なしの受賞だった。
上原さんは、ほかにもスポンサー企業のデジタルガレージとサイボウズ2社の賞と、当日の模様を配信したニコニコ生放送の視聴者による賞など4冠を達成した。
Blawnの特徴は、型名の記述が一切不要、構文の可読性が高い、すべての関数/クラスがC++でいうところのテンプレート関数/クラス、コンパイル速度と実行速度が速い、メモリが安全などだ。
また、Blawnの言語名は「Blue Lawn(青い芝)」からもじったもので、隣の芝が青く見えるほど、既存の言語の不満を解消できるような良い言語にしたい気持ちを込めたという心憎い演出もあった。
経産大臣賞(アイデア)で小学生が受賞
経産大臣賞は「総合」のほかにも、有用性や芸術性などビジネスの可能性が期待できるほど完成度の高い作品を評価する「プロダクト」、アルゴリズムや機能性など技術的に優れた作品を評価する「テクノロジー」、独創性や将来性など優れたアイデアを採用した作品を評価する「アイデア」の三つがある。
プロダクトを受賞したのは、来年からプロのゲームクリエーターとして業務につくことが決まっているECCコンピュータ専門学校の眞部智也さん(22歳)。制限年齢で最後のチャンスということもあってか、受賞を聞いたときはガッツポーズで喜びをあらわにした。
「LOCUS」という作品名のゲームは、シューティングとレーシングの要素をミックスしたゲームで、ゲームエンジンに頼らずにフルスクラッチでの実装にこだわった。
また、描画ではゲーム中に数万個のパーティクル(オブジェクト)を動かすために、GPUの中で全てのデータの扱いを済ませるGPGPUという手法を採り入れた。こうすることで、CPUからGPUに情報を受け渡す際に発生するコストを削減でき、大量のデータ更新でほかのゲームのロジックに割くコストがなくなってしまわないようにした。
テクノロジーで受賞したのは、東海大学の大門巧さん(22歳)。教育&学習の分野で「ブラウザ上で動作するDNCL処理系『Tetra』」を発表した。
Tetraは、2020年度から小学校、22年度から高等学校や大学入試でプログラミング教育が必須になることを見据えた教育用ツール。ブラウザが使える環境にあれば、どこからでもPCやスマートフォン、タブレット端末など、さまざまなデバイスからアクセスできる。
また、入力支援ボタンをクリックして表示されたダイアログに必要事項を入力すると、プログラムの一部が自動生成される。タイピングに不慣れな生徒など、プログラミング初学者にプログラム作成のヒントを与える仕組みだ。エラーメッセージによるエラーレポートなど、学習する人が理解しやすいように心がけて開発された。
最後のアイデアで受賞したのは、最終審査会で唯一の小学生、Hope International Academy Okinawaの冨田晴生さん(10歳)だ。
科学や元素が大好きな少年が開発した学習&教育ツールは、元素と元素記号がゲーム感覚で覚えられる「Capture the Elements」。
元素の順番を覚えるのに有名なのが「スイヘイリーベ...」だが、冨田さんは日本語を知らない人や耳が不自由な人、目で見て覚えたい人などが使えるツールにしたかったという。画面上部に表示された元素名と元素記号と、下から上に流れる同じ元素を見つけてクリックすると正解になる。
ゲームとしての完成度の高さや、バックグラウンドで浮遊する泡に元素のキャラクターがぶつかると、泡が消えるといった立体的な表現なども評価された。
このように、今年の最終審査会で経産大臣賞を受賞した作品は、いずれも個人での受賞となった。チーム作品における個々をマネジメントする能力も必要だが、より個人のスキルの高さが競われるような時代を反映しているのかもしれない。
なお、今年の「U-22プログラミング・コンテスト2019」で事前審査に応募した作品数が406作品(前年比11.7%減)、参加者総数が1145人(同27.5%減)となり、昨年まで3年連続で過去最高を更新していたが減少した。
事務局では、「同期時に開催されているほかの大会との重複出品を認めないようにした影響があるのではないか」とみている。7月1日~9月2日に応募した作品は、9月下旬に実施した一次審査会を経て、最終的に16作品が最終審査会に進んだ。
また、40回を記念して経産大臣賞の4本でそれぞれ40万円、経産省商務情報政策局長賞の6本でそれぞれ10万円の副賞がついた。経済産業大臣賞を受賞した4人は、2019年1月24日に表彰式を開催する「BCN ITジュニア賞2019」にノミネートされる。