中学生が開発した言語「Blawn」が最多受賞!「U22-プログラミングコンテスト2019」最終審査会レポート

2019年10月20日、「U-22プログラミング・コンテスト 2019」の最終審査会が秋葉原コンベンションホールにて開催されました。

「U-22プログラミングコンテスト」とは

「U-22プログラミングコンテスト」は、1980年から当時の経済産業省主催として、優れたIT人材の発掘・育成を目的に開催している、作品提供型のプログラミングコンテストです。2014年からは民間に移行し、スポンサーの民間企業に支えられて、開催を継続しています。40回目の今回、エントリーがあったのは、全406作品。そのうち40作品が事前審査を通過し、さらにその中で一次審査が行われ、最終審査へ進む16作品が選出されました。

審査会では、16作品の作者がそれぞれ、10分間のプレゼンテーションをしましたが、ここではその中でとくに印象に残った2人の作品を取り上げてお伝えします。

たった1カ月で新しいプログラム言語を実装

まず取り上げるのが、開成中学校3年生の上原直人さんが開発したプログラミング言語「Blawn」。経済産業大臣賞、BestView賞、Boys and Girls, be ambitious!賞、サイボウズ賞に選ばれました。最終審査会が行われて以降、エンジニアの間でもこの新しい言語Blawnのことで持ち切りになっています。

そんな興奮を呼び起こしたBlawnですが、他のプログラミング言語に比べてどこが優れているのでしょうか。プログラミング言語開発に関する高度な内容なので、理解しやすい範囲でお伝えします。

まず、プログラムとして読みやすいことが特長です。上原さんは「人間がプログラミングをするときに、ロジックを考えること以外の余事に惑わされることなく、ロジックの実装のみに集中することを目指して、作成しました」と説明しています。

よいプログラムとは、アルゴリズムが複雑に書かれているものという先入観をもっている方もいると思いますが、実際の開発現場では「誰もが簡単に読み解くことのできるプログラム=品質が高いプログラム」と評価されています。つまり「読みやすさ」が重要になるわけです。この読みやすさ(可読性の高さ)を実現するために、型名の記述を不要としています。

それに加えて、安全なメモリ管理を実現しています。PCやスマートフォンを使っていて、アプリケーションが急に動かなくなって強制終了してしまい、イライラした経験があるのではないでしょうか。こういう現象が発生する場合、メモリ関連のバグであることが多い。上原さんもC++を学習する中で、「すぐにメモリ関連のバグが発生してしまう危険な言語だ」と思ったそうです。Blawnでは、安全かつ高速なメモリ管理ができるのが特徴となっています。

「恐れ入りました・・・」

質疑応答の場面で、審査委員で日本を代表するエンジニアでもあるNTTデータの宮本久仁男さんが、Blawnの開発期間を知って絶句しました。Blawnはなんと約1ヶ月あまりで開発されたのです。しかも、9月2日が応募の締め切りにもかかわらず、開発に使用したC++を学習しはじめたのが7月半ばです。普通のエンジニアにとって、プログラミング言語を習得するだけでも、1ヶ月は長い時間とは言えません。その期間で新しいプログラミング言語を生み出してしまうというのは、考えられない速さです。

上原さんのプレゼンテーションが終わった後、会場にはざわざわした余韻が残っていました。一人の才能を世界が見つけた瞬間に立ち会えたという会場の興奮だったと思います。おそらく数十年後に「あのプレゼンテーションで、はじめて上原さんの名前を知ったよね」という会話することになるでしょう。そんな歴史に残る瞬間に立ち会ったという空気を感じました。

ただ、筆者にはBlawnのプログラミング言語としての出来を評価することはできません。そこで、プログラミング言語Rubyの作者で、審査委員でもあるまつもとゆきひろさんのQuora(ユーザー同士が作成から編集、運営まで行うQ&Aサイト)への投稿を引用します。Rubyは日本発のプログラミング言語で、世界で多くの人々に使われています。

「Blawnで採用されたアイデアのうちのいくつかは大変優れたものであり、それが実現可能であることが(才能ある15歳によって)実証されたことだけでも、世界にとって大変価値のあることだと思うからです。このアイデアが今後の言語になんらかの影響を与えてくれることと、願わくは、それが上原くん自身によってなされることを心より希望します」(Quora プログラミング言語「Blawn」は普及しそうですか?より)

宇宙や科学への興味をプログラミングで表現した

次に取り上げるのは、沖縄のホープインターナショナルアカデミー(Hope International Academy Okinawa)に通う10歳、冨田晴生さんの作った「Capture the Elements」。

この作品も経済産業大臣賞に選ばれました。Capture the Elementsは元素記号を用いた早押しゲームで、元素が泡にぶつかると下に移動するギミックも仕込まれています。元素記号の順番に早押しをして行くことで、元素配列を自然に覚えることができます。冨田さんは宇宙や科学に強い興味をもっており、最終選考会の当日は「天文宇宙検定3級」の試験があったそうですが、今回はそれを諦めてプレゼンに登壇したそうです。

Capture the Elementsを作ろうと思った動機は、そんな科学への強い興味から。冨田さんは、周りの友だちに科学を好きになってもらおうと、お気に入りの「スイヘイリーベ~魔法の呪文~」を歌っていました。この歌は元素記号の覚え歌ですが、インターナショナルスクールに通っているため、日本語がわからない友だちには伝わらなかったと言います。

そこで、得意のプログラミングを活かしてゲームを作成すれば、誰もが楽しんで元素記号が覚えられるのではないかと考えて作ったとのこと。自分自身の身近な課題を、プログラミングを使って解決しています。

技術的に注目すべきは、バレッドでもお馴染みの教育用プログラミング言語「Scratch(スクラッチ)」で作られていることです。審査委員であるさくらインターネットの江草陽太さんは、「Scratchでたくさんのオブジェクトをキチンと動かすプログラムを作ったところがすごい」という評価をしていました。Scratchでプログラミングを勉強している小学生には、お手本となるような作品ではないでしょうか。

***

U22-プログラミングコンテストのキャッチコピーは「待ってろ、未来」ですが、二人の才能ある若者に、少し先の未来を見せてもらった最終審査会となりました。

**********

■受賞作品一覧( 受賞カテゴリ/作品名/制作者名/学校名)

  • 経済産業大臣賞
    • 総合/Blawn/上原 直人/開成中学校
    • プロダクト/LOCUS/眞部 智也/ECCコンピュータ専門学校
    • テクノロジー/ブラウザ上で動作するDNCL処理系「Tetra」/大門 巧/東海大学
    • アイデア/Capture the Elements/冨田 晴生/Hope International Academy Okinawa
  • 経済産業省商務情報政策局長賞
    • プロダクト/STEAM GEAR/O.M.T.Production/日本工学院八王子専門学校
    • プロダクト/mindPump/鵜狩 慧久/九州工業大学
    • テクノロジー/地下楼 The First Contact Demo/瀬戸 徳/明治大学
    • テクノロジー/とれつめ/布川 陸/東北大学
    • アイデア/Satellite Traveler/team01/日本工学院八王子専門学校
    • アイデア/Cell Sheet/Toast&Fried egg/電気通信大学
  • スポンサー企業賞
    • SOMPO賞(提供:SOMPOシステムズ)/mindPump/鵜狩 慧久/九州工業大学
    • Boys and Girls, be ambitious! (提供:デジタルガレージ)/Blawn/上原 直人/開成中学校
    • サイボウズ賞(提供:サイボウズ)/Blawn/上原 直人/開成中学校
    • OBC賞(提供:オービックビジネスコンサルタント)/HolodealCity/Rapture/日本工学院八王子専門学校
    • さくらインターネット賞(提供:さくらインターネット)/Security Arise of Knowledge(SAoK)/電子遊戯部/新潟コンピュータ専門学校
    • 日本事務器賞(提供:日本事務器)/糸かけ曼荼羅色シミュレーター/河内 誠悟/N高等学校
    • PCAクラウド賞(提供:PCAクラウド)/FindYourBusDX/酒井 駿/Greenwich High School
    • フォーラムエイト賞(提供:フォーラムエイト)/ボコセル/なまこラーメン/HAL大阪
    • 豆蔵ホールディングス賞(提供:豆蔵ホールディングス)/コロボシ/A.L.F.A.Company/日本工学院八王子専門学校
    • Best Viewers賞/Blawn/上原 直人/開成中学校

U-22 プログラミング・コンテスト2019

© Valed.press