2019」の最終審査会が秋葉原コンベンションホールにて開催されました。FacebookTwitterLINEはてブ「U-22プログラミングコンテスト」とは「U-22プログラミングコンテスト」は、1980年から当時の経済産業省主催として、優れたIT人材の発掘・育成を目的に開催している、作品提供型のプログラミングコンテストです。2014年からは民間に移行し、スポンサーの民間企業に支えられて、開催を継続しています。40回目の今回、エントリーがあったのは、全406作品。そのうち40作品が事前審査を通過し、さらにその中で一次審査が行われ、最終審査へ進む16作品が選出されました。審査会では、16作品の作者がそれぞれ、10分間のプレゼンテーションをしましたが、ここではその中でとくに印象に残った2人の作品を取り上げてお伝えします。ambitious!賞、サイボウズ賞に選ばれました。最終審査会が行われて以降、エンジニアの間でもこの新しい言語Blawnのことで持ち切りになっています。そんな興奮を呼び起こしたBlawnですが、他のプログラミング言語に比べてどこが優れているのでしょうか。プログラミング言語開発に関する高度な内容なので、理解しやすい範囲でお伝えします。プログラムとして読みやすいことが特長です。上原さんは「人間がプログラミングをするときに、ロジックを考えること以外の余事に惑わされることなく、ロジックの実装のみに集中することを目指して、作成しました」と説明しています。よいプログラムとは、アルゴリズムが複雑に書かれているものという先入観をもっている方もいると思いますが、実際の開発現場では「誰もが簡単に読み解くことのできるプログラム=品質が高いプログラム」と評価されています。「読みやすさ」が重要になるわけです。この読みやすさ(可読性の高さ)を実現するために、型名の記述を不要としています。それに加えて、安全なメモリ管理を実現しています。PCやスマートフォンを使っていて、アプリケーションが急に動かなくなって強制終了してしまい、イライラした経験があるのではないでしょうか。いう現象が発生する場合、メモリ関連のバグであることが多い。上原さんもC++を学習する中で、「すぐにメモリ関連のバグが発生してしまう危険な言語だ」と思ったそうです。Blawnでは、安全かつ高速なメモリ管理ができるのが特徴となっています。質疑応答の場面で、審査委員で日本を代表するエンジニアでもあるNTTデータの宮本久仁男さんが、Blawnの開発期間を知って絶句しました。Blawnはなんと約1ヶ月あまりで開発されたのです。9月2日が応募の締め切りにもかかわらず、開発に使用したC++を学習しはじめたのが7月半ばです。普通のエンジニアにとって、プログラミング言語を習得するだけでも、1ヶ月は長い時間とは言えません。その期間で新しいプログラミング言語を生み出してしまうというのは、考えられない速さです。上原さんのプレゼンテーションが終わった後、会場にはざわざわした余韻が残っていました。一人の才能を世界が見つけた瞬間に立ち会えたという会場の興奮だったと思います。数十年後に「あのプレゼンテーションで、はじめて上原さんの名前を知ったよね」という会話することになるでしょう。そんな歴史に残る瞬間に立ち会ったという空気を感じました。筆者にはBlawnのプログラミング言語としての出来を評価することはできません。そこで、プログラミング言語Rubyの作者で、審査委員でもあるまつもとゆきひろさんのQuora(ユーザー同士が作成から編集、運営まで行うQ&Aサイト)への投稿を引用します。Rubyは日本発のプログラミング言語で、世界で多くの人々に使われています。「Blawnで採用されたアイデアのうちのいくつかは大変優れたものであり、それが実現可能であることが(才能ある15歳によって)実証されたことだけでも、世界にとって大変価値のあることだと思うからです。この作品も経済産業大臣賞に選ばれました。Elementsは元素記号を用いた早押しゲームで、元素が泡にぶつかると下に移動するギミックも仕込まれています。元素記号の順番に早押しをして行くことで、元素配列を自然に覚えることができます。冨田さんは宇宙や科学に強い興味をもっており、最終選考会の当日は「天文宇宙検定3級」の試験があったそうですが、今回はそれを諦めてプレゼンに登壇したそうです。Elementsを作ろうと思った動機は、そんな科学への強い興味から。冨田さんは、周りの友だちに科学を好きになってもらおうと、お気に入りの「スイヘイリーベ~魔法の呪文~」を歌っていました。この歌は元素記号の覚え歌ですが、インターナショナルスクールに通っているため、日本語がわからない友だちには伝わらなかったと言います。そこで、得意のプログラミングを活かしてゲームを作成すれば、誰もが楽しんで元素記号が覚えられるのではないかと考えて作ったとのこと。自分自身の身近な課題を、プログラミングを使って解決しています。技術的に注目すべきは、バレッドでもお馴染みの教育用プログラミング言語「Scratch(スクラッチ)」で作られていることです。審査委員であるさくらインターネットの江草陽太さんは、「Scratchでたくさんのオブジェクトをキチンと動かすプログラムを作ったところがすごい」という評価をしていました。Scratchでプログラミングを勉強している小学生には、お手本となるような作品ではないでしょうか。***U22-プログラミングコンテストのキャッチコピーは「待ってろ、未来」ですが、二人の才能ある若者に、少し先の未来を見せてもらった最終審査会となりました。プログラミング・コンテストは、日本の未来を創る若者を応援するために開催される、歴史あるプログラミング・コンテストです。