中学生がプログラミング言語Blawnを作成、「U-22プログラミング・コンテスト 2019」で経済産業大臣賞(総合)を受賞

1: 2019/10/24(木) 13:46:51.40
 「もっと人間にとって扱いやすい、自分の言語をつくってみたかった」。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(青い芝)」からもじったもので、隣の芝が青く見えるほど、既存の言語の不満を解消できるような良い言語にしたい気持ちを込めたという心憎い演出もあった。

以下ソース先で

2019/10/21 17:05
https://www.bcnretail.com/market/detail/20191021_142131.html
上原直人、Blawn

★1が立った時間 2019/10/23(水) 19:26:04.19
前スレ
https://asahi.5ch.net/test/read.cgi/newsplus/1571866507/

引用元: ・【天才】スーパー中学生誕生、プログラミング言語わずか数週間で開発、U-22プログラミング・コンテスト2019 ★4

3: 2019/10/24(木) 13:49:08.52
すごいと思うけど、言語は道具で目的じゃない
どんな言語でも便利なソフトウェアを開発してくれればいいだけ
5: 2019/10/24(木) 13:50:37.25
>>3
中学生に注文つけすぎ
173: 2019/10/24(木) 15:33:05.89
>>3
上から目線の嫉妬おじさんかっこ悪いw
371: 2019/10/25(金) 04:22:54.92
>>3
おっしゃるとおり
そんなあなたはどんな言語やソフト開発したの?
7: 2019/10/24(木) 13:51:30.83
プログラマーって土方だよな
619: 2019/10/27(日) 14:06:37.45
>>7
プログラミング出来るだけだとソフトは完成しない。
システムエンジニアリングやコーディングもあって初めて完成する。
つまりこの中学生は、それらも行えているということ。
11: 2019/10/24(木) 13:52:40.97
書いてる内容が理解出来んのだが・・・・・・・・・・・・・
270: 2019/10/24(木) 19:38:29.19
>>11
10年IT土方やってる自分もですw

また、新たな言語創っただけだよね
汎用性もないんだよね、で合ってる?

16: 2019/10/24(木) 13:53:28.38
自分の先生はprologとかLISPのような
根本的に考え方が違う言語じゃなければ

手続き型言語なんざ全部同じ、
っていってたな。

169: 2019/10/24(木) 15:24:11.86
>>16
一つ言語知ってりゃ、他の言語でもテンプレ見てすぐ同じような処理書けるからな
28: 2019/10/24(木) 13:56:03.67
こういう人ってだいたい頭のいい学校行ってるけど
勉強できないとプログラミングとかできないものなのですか?
38: 2019/10/24(木) 14:00:57.51
>>28
勉強できないけどプログラミングできる者は居る
比較の次元が違うからな~
47: 2019/10/24(木) 14:04:37.57
>>28
>>38
ビットコイン流出事件で有名になったフランス人のマルク・カルプレスもそうだったな、学校の勉強は興味ないからやらないので高卒だけどコンピューターだけ強いhttps://ja.wikipedia.org/wiki/マルク・カルプレス
210: 2019/10/24(木) 17:08:14.94
>>28
誰でもできるよ
そうCOBOLならね
211: 2019/10/24(木) 17:10:48.87
>>210
COBOLよりもVBAの方が上だろ。
256: 2019/10/24(木) 19:06:28.43
>>28
元記事を読め。東海大学でもできるぞ。

>テクノロジーで受賞したのは、東海大学の大門巧さん(22歳)。教育&学習の分野で
>「ブラウザ上で動作するDNCL処理系『Tetra』」を発表した。

29: 2019/10/24(木) 13:56:04.92
言語が作れるということはマシン語を自在に記述できるってこと?
216: 2019/10/24(木) 17:45:29.77
>>29
LLVM使ってるみたいだから、処理系丸ごと作ったわけではなくて、新しいフロントエンドを作った、と言うことでしょ?
33: 2019/10/24(木) 13:57:56.94
実際に開発したのは
腹は出てるわ禿げてるわ体臭はキツイわのオヤジだからね?
中学生担ぐのやめろよww
39: 2019/10/24(木) 14:01:09.51
>>33
ビルゲイツもザッカバーグもジジババに教えて貰って大人になった
家族も才能のうち
51: 2019/10/24(木) 14:06:03.44
優秀過ぎて日本なら名門私立高校→東大でもこの子にとっては無駄な7年になると思う。
さっさとアメリカに行った方がいい
224: 2019/10/24(木) 18:05:23.94
>>51
東大理三には一応入っといたほうがいい。最悪医者として潰し効くからな
459: 2019/10/25(金) 12:50:47.76
>>224 理IIIから医者になり、専門医までとったがもう未来が見えたとプログラマ に転身した女医がいる。
Lillian @Lily0727K
医師を退職し、ソフトウェアエンジニアに転職します。
【転職エントリ】Googleに入社しますhttps://note.mu/neko_chan0214/n/n3a64bc1e1412

この人のTwitterは最高に面白いぞ。ポーカーの達人

子供の頃BASICで遊んでたが高校以降は離れていた。
30半ば過ぎからプログラマへの転進を考え始めて1年くらいの間にPython を始め目覚ましい進化を遂げ、Googleに入社。入社が決まってからC++ を勉強。

頭の良い人はつくづく羨ましいよ。 羨ましいが妬みはしないな。 応援したい。

61: 2019/10/24(木) 14:10:35.45
言うのとやるのは、大違いだよ
良く頑張ったな
62: 2019/10/24(木) 14:10:36.21
google>>>>いち中学生>>>>>>>>>>>>>>>>>>>>>>おまいら
71: 2019/10/24(木) 14:14:38.82
世の中には、いろんなコンピュータ言語があるからね。
ほとんどは研究で止まって世に広まることは
ないけど。
76: 2019/10/24(木) 14:16:10.35
まあ、本格的なのを作るのは大変だけど
ミニ言語でもいいから、作ってみるのは、いい練習になるよ
自分が使ってる言語の欠点とか、良いところとか
見えてくるし
82: 2019/10/24(木) 14:18:35.33
Pythonを使っていて7月か8月にC++を始めたが、扱いにくかった。
父親に相談したところ、それなら自分で作っちゃいなよ。
この一言がキッカケで父親から教わりつくりましたーって感じだろ。
88: 2019/10/24(木) 14:21:58.52
すごいな
おれにはできないわ
ちょっとできるけど
94: 2019/10/24(木) 14:24:52.80
ノーベル・コンピューターサイエンスがないのが不思議。
デニス・リッチーとかもらっててもいいと思うが。
100: 2019/10/24(木) 14:28:37.58
>>94
まぁチューリング賞があるしhttps://ja.wikipedia.org/wiki/チューリング賞
104: 2019/10/24(木) 14:31:42.99
>>1
Python のインデント引き継いで、もっと簡潔にした感じかな?
オブジェクト指向にもなってるってことか、すげえわ
243: 2019/10/24(木) 18:50:16.80
>>104 インデントは必須では無い。
何が特徴的かと言うと型定義がない静的型付け言語というところだろうな。
それとpython の使いやすさをミックスしてスピードの速いコンパイラにしたこと。
コンパイラでありながらインタプリタの使いやすさも実現させている。

尚且つこの短期間にCFFI を組み込みCを呼べるようにしていること。 これで格段に実用性が上がる。

112: 2019/10/24(木) 14:36:19.41
可読性は知らんがC#は書きやすい
ほとんど勝手に書いてくれる
117: 2019/10/24(木) 14:38:09.73
俺が中学生の頃はBASICで北斗の拳の台詞しゃべらせて大満足だったというのに
162: 2019/10/24(木) 15:13:11.50
>>117
PC-6001mk2とかかな?
BASICの命令文でローマ字の文字列の読み上げができた
119: 2019/10/24(木) 14:39:50.47
昔から天才プログラマーは小学生や中学生くらいから目を出すから
これくらいで目を出すのは普通
174: 2019/10/24(木) 15:35:56.36
>>119
昔天才ゲームプログラマーと言われた内藤寛さんもその頃から市販のPCゲームのプログラムを書き変えたりしてたhttps://ja.wikipedia.org/wiki/内藤寛
677: 2019/10/28(月) 05:30:52.42
>>119
そしてゲーム業界に行く
ソシャゲのおかげで並以下のプログラマも業界に増えたけど
ゲーム業界には頭おかしいレベルの天才が何人もいる
業務システム、Web系じゃ見たことないな
122: 2019/10/24(木) 14:40:49.19
> それまでPythonを使っていたという
プログラムの素養を以前から養っていたのだからズブの素人じゃないだろ
252: 2019/10/24(木) 19:02:49.69
>>122 ズブシロができるわけない。 凄いと思うのはC++ に接し始めたのが7月で使いにくさに不満を持って自分のコンパイラをC++ で書き上げたことだな。

お前ら1月位でC++ を使いこなせるようになったか?
プログラムは8~9月の2ヶ月で書き上げている。

勿論コンパイラは何かとか、基本的棚知識は持ってたはず。LLVMも事前に習得してたはず。
LLVM の力を借りればコンパイラを作るのはそれほど困難ではないが、いずれにしろ短期間に作り上げたのは凄い。

128: 2019/10/24(木) 14:44:04.98
いちおう生業にしてる者だけど
小学生が来年から使う? Scratch ってやつちょっと見たけど
すっげえええわかりずらそうなんだけど
全くの未経験者からしたら使いやすいもんなのかな?
143: 2019/10/24(木) 14:53:18.75
>>128
小学生用ってビジュアルプログラミングでしょ?
まだ抽象的思考できないんだからビジュアルプログラミングの方が分かりやすいんじゃないの?
136: 2019/10/24(木) 14:48:37.65
おまエラ知らないと思うが
鳥取には砂丘以外で唯一誇れる事があるんだぞ

今は廃れたがRubyって言語は鳥取出身の日本人が開発した

151: 2019/10/24(木) 15:04:42.23
ソフトに限らずこういう短時間でパッと仕上げられる能力があるといいよな。
177: 2019/10/24(木) 15:37:15.59
開成中学と聞いて納得
たぶん公立中学に行ってたら浮きこぼれてた
178: 2019/10/24(木) 15:39:55.97
俺はそれだけ知識があってしかも会話すると間違ってないのに
それでプログラム組めない理由がわからないとプログラマに言われている
無理な人には無理なんだよと何回言ってることか
320: 2019/10/24(木) 22:03:55.98
>>178
そら日本人のほとんどが日本語を読み書きできるけど、誰でも小説を書けるわけじゃないからな
180: 2019/10/24(木) 15:45:29.09
何者にもなれなかった嫉妬おじさん達荒ぶりすぎだわ
189: 2019/10/24(木) 15:56:01.09
yacc/lexで独自の言語から仮想コードを作って別に作ったホストプログラム内の仮想CPUで実行、グラフィック等の機能は仮想CPUの外部ポート的なものとホスト側に実装した関数を繋ぐ
仮想コードではなく本当の実行コード(exe等)が欲しかったら仮想CPUじゃなくターゲットCPUのコードをはかせる
こんなのはツールのスクリプト機能の実装やアドベンチャーゲーム作成用等で高校生の頃から何回も作ったけど今はそんなことに時間はかけなくても色々ある
作らなくても何でもあるような時代と環境で中学生が作って完成させたのは凄いと思う
昔だってこういう部分から作れるプログラマーがあふれていたわけじゃないしね
190: 2019/10/24(木) 15:58:13.27
敗北主義者の怨嗟の声多すぎ問題
197: 2019/10/24(木) 16:13:33.30
言語仕様みないと評価できないよな
サンプルプログラムも欲しいかな
212: 2019/10/24(木) 17:23:49.13
201: 2019/10/24(木) 16:36:44.44
飯野賢治辺りが異世界転生憑依してたりしてなぁ…https://ja.wikipedia.org/wiki/飯野賢治
207: 2019/10/24(木) 16:48:29.53
これ今の環境だったらそんぶらいでできそうな気もする。

むかしのソフト屋の必読書の一つにPascalでPascalを作る本とかもあったから
言語処理系を作ってしまうこと自体はそんなに驚くことでもない。

でも中学生でそこまでの基礎をちゃんと備えたのは大したものだ

221: 2019/10/24(木) 17:54:36.70
関数定義
function hello(name)
str = “Hello ”
str.append(name)
print(str)
return

hello(“blawn”)

実行結果:
Hello blawn

同じのをcで書くと

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void Hello(char *name)
{
char *str;
str=(char*)malloc(strlen(“Hello “)+strlen(name)+1);
if(str==NULL)
return;
strcpy(str,”Hello “);
strcat(str,name);
puts(str);
free(str);
}

int main()
{
Hello(“blawn”);
return 0;
}

blawnのほうがスッキリしてて分かりやすいなあ

223: 2019/10/24(木) 18:00:59.27
ちなみに Python では

def hello(name):
print(“Hello ” + name)

hello(“blawn”)

コメント