【Blawn】プログラミング言語を自作したスーパー中学生の1次資料を非エンジニアが読み込んでみた。




最近はドローン沼にズブズブなカタオカです(@peterminced)・・・。

ドローン情報を求めてツイ廃活動をしていたら、タイムラインにこんな情報が・・・

プログラミング言語を中学生が自作!?
DIYの幅広すぎ!
ん、開発したのは開成中学生?
アレっまてよ・・・

ある学校の文化祭で何気なくもらった冊子

目次を見ると

イタァァァ!

そう、近所だからという理由だけで行った開成学園の文化祭でたまたまもらったコンピューター部の部誌に、「Blawn」を開発した上原直人さんが開発秘話を載せていたのです。

初見の感想は「すんごい中学生がいるな。さすが開成学園生」だったんですが、Twitterで注目されていたことをきっかけに、もうちょっと精読してみる事にしました。(ミーハーです)

Blawnはぶらうんと読む

冒頭にはBlawnの読み方が書かれています。茶色(Brawn)とはスペルが微妙に違う模様。

画像クリックすると拡大します

紹介記事によると、Brawnとは造語のようです。インテリジェンス!

また、Blawnの言語名は「Blue Lawn(青い芝)」からもじったもので、隣の芝が青く見えるほど、既存の言語の不満を解消できるような良い言語にしたい気持ちを込めたという心憎い演出もあった。

出典:BCN+R

プログラミング言語は複数工程を経て機械語に変換される

プログラミング言語がどのような処理を経てPCに伝達されるのか解説されています。図を見たところ6段階もの工程を経てPCに伝わってるんですね。

そんなこと全然気にしたことなかった・・・!

画像クリックすると拡大します

読み進めていくと、LLVMというプラットフォームを利用することでプログラミング言語をつくることができるぽいです。

Blawnのサンプルコード

ハローワールドを出力するコードです。クラスを2つ作ってインスタンスでまとめ実行させてる感じでしょうか??(分かってる体)

「関数のも戻り値を変えたい」項目で頭がバーンアウトしてしまいました・・・

画像クリックすると拡大します

組み込み関数を実装する

完全についていけなくなったので紙面だけ載せておきます。詳しく解説できる方ぜひコメント欄へ・・・

画像クリックすると拡大します

Github上のソースコード

Blawn開発者 上原直人さんのGithubページです。結構コミット頻度は高め!

https://github.com/Naotonosato/Blawn

画像クリックすると拡大します

開成学園はガリ勉学校じゃない

開成学園といえば東大合格者数日本 一を誇る超名門校。(なぜ荒川区にあるのか謎だけど)

なので超ガリ勉ばかりがいるイメージだったのですが、9月の文化祭に息子たちと遊びに行った中で垣間見た様子はけっこう自由のびのびしてる感じでした。

レーザー銃とかつくってた物理部
戦車もDIYしとった
DIYアトラクション(人力でコースターが動く)

なんかやたら凄いものをDIYしている印象を受けたのですが、こういった環境ならプログラミング言語を自作する猛者が表れても違和感ないなと感じました。

まとめ

私はHTML・CSS・簡単なPHPをいじくる側の人間です。水耕栽培・ドローンのDIYは好きですが、プログラミング言語そのものを作ろうという発想は皆無でした。

それを15才の中学生がやりとげてしまった事に対し驚くとともに、深く敬意を表したいと思います。

よく見ると他の部員の原稿もすごい。(パズルをプログラミングで解く!?)

マイクロドローン沼に入ってきたらすごい面白いもの作りそう・・・!

今日の一句

”開成生 なんでもかんでも DIY”

お客様のシェアが励みになります!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください