• 中学生でプログラミング言語開発!?

    今年、10月20日に東京の秋葉原コンベンションホールで開催された第40回「U-22プログラミング・コンテスト2019」の最終審査会で、経済産業大臣賞(総合)を受賞したのは、開成中学校の上原直人さん(15歳)でした。開成中学校というと、エリートな進学校で毎年、幾多の東大生を輩出している学校で有名ですよね。そんな上原直人さんは、今回独自プログラミング言語「Blawn」を発表しました。

    そのプログラミング言語は、IT業界の経営者など、並みいる審査員を驚かせるほど、完成度の高かったようです。以前からPythonを使っていた上原直人さんは「今年の7月か8月にC++を始めたが、扱いにくかった。もっと可読性の高い構文とメモリの安全性や速度を高めたいと思った」と、開発のきっかけについて語りました。

    Blawnの特徴は、型名の記述が一切不要、構文の可読性が高い、すべての関数/クラスがC++でいうところのテンプレート関数/クラス、コンパイル速度と実行速度が速い、メモリが安全などが上げられました。

    少しC++の「型」について聞いたことがありますが、整数の変数を表すには、[int]。小数点の変数を表すには[double]というように、型を決めてから、変数を入れないと出来ないらしいです。たとえば、円周率がint型で、3.14を変数xに代入しても、実際に実行した時に現れる数字が整数の3になります。だから、この場合は型をdoubleにしなければならないようです。別の例としても、int型で[5/4]というように、5を4で割ると「1」しか表示されないので、小数点まで表示したい場合、double型に変えなければいけません。とにかく、型にはまらないと文字を出力できない空気の読めない、読んでくれない言語に見えますね。他にも「論理型」や「文字型」という風に、変数の出力をするためには、それに応じた型が必要となります。また、整数を表すためのint型より、小数点も表すdouble型の方が、サイズが多いので多くのメモリを必要とします。こういう点においても、何かしら配慮してくれるのかと思うと、一体どんなことをして開発していったのかふしぎですね~。

    構文の可読性というのも魅力的ですよね。C++では、大規模のプログラムを作成する際、関数を呼び出すコードより関数の定義を後に書いたりするとそのコードはコンパイルできません。つまり、エラーが起こってしまうのです。こういうような支障が起きないのかと思うと、「Blue Lawn(青い芝)」からもじっただけあって、隣の芝が青く見えるほど、既存の言語の不満を解消できるような良い言語になりえるのかもしれませんね。

    プログラミングコンテストのイラスト