次世代が造った言語 blawn

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/10/22(火) 13:17:06.14ID:fxbuxtP/
次世代が造った言語 blawn について語るスレ
https://www.bcnretail.com/market/detail/20191021_142131.html
https://github.com/Naotonosato/Blawn
2019/10/27(日) 08:40:42.61ID:6Mbn04nr
とりあえずBlawnエンジニア1名を月単価200万円で募集かけてきた
今はLaravelで動いてるやつを全部Blawnに置き換えたい。次世代言語、ほんとすげーわ
2019/10/27(日) 08:41:42.30ID:C3DsRDjK
↑いっそこのノリのネタスレにしてしまった方がいいのかもな
2019/10/27(日) 08:42:44.76ID:WqAr1Sax
日曜の朝からプリキュア見ながら何を発狂してるんだろうねこの方々は
2019/10/27(日) 09:01:00.66ID:MBtvQv/0
>>195 お前がそう思うならなぜ何度も連投してるんだ?
放置しないから人気スレになるだけだろ。

公開自体は悪くないと思うぞ。 たとえ模型であろうがその姿が見えなければ世の中の人は見ることができないんだから。
2019/10/27(日) 09:32:02.50ID:MBtvQv/0
>>195 こっちに移れや


【天才】スーパー中学生誕生、プログラミング言語わずか数週間で開発、U-22プログラミング・コンテスト2019 ★4
https://asahi.2ch.net/test/read.cgi/newsplus/1571892411/
2019/10/27(日) 10:11:21.97ID:i7/INYAa
>>191
でもさ、値を与えない限り全く実体化されないってことでしょ?
外からパラメータ与えるプログラムが作れないんでは?
突貫ゆえの考察不足じゃないの

これ中学生プログラミングコンテストじやなくて22歳以下なんだよね
中学生だから温かく見守るべきってのは違うと思う
野球に例えるのもおかしい
ガチ勝負で勝ち上がったわけじゃなく審査員が選んだもの
2019/10/27(日) 10:26:06.61ID:XChQHDpW
まぁ使ってるうちにエンジニアが改良していってすごいものになるやろ

今新しくスタートアップ企業作る計画立ててるけど基幹部分は全部Blawnで実装する予定w
2019/10/27(日) 11:21:11.45ID:Xs9R0/Vg
>>201 何を言ってるの? 全てテンプレートなんだから当たり前。

同じテンプレートでパラメータとして文字列になったり、整数になったりするんだから。
2019/10/27(日) 11:21:41.73ID:RB9j70nH
>>201
型はコンパイル時に推論されてるんじゃないの?
2019/10/27(日) 11:25:28.77ID:W9qYAC9E
今マネージャーからSlackがきて週明けから毎週3回Blawnの勉強会するってのが決定した

目標は来年の1月までに全システムのBlawn化w
ちょっと時間的にきついが次世代言語を導入できるってのにワクワクしてるw
2019/10/27(日) 11:47:24.54ID:i7/INYAa
>>203
その当たり前の結果、当たり前のことができないんではと言ってる
cでいmainの引数、あるいは標準入力から受けとるとかどうなるんだってこと
sampleにはそういう例がない
実装されてないんだろうが仕様としては考えてるしかるべきだろ?
207デフォルトの名無しさん
垢版 |
2019/10/27(日) 12:08:08.10ID:hTxWtEZY
cでいmain??
考えてるしかるべき???
2019/10/27(日) 12:12:21.01ID:i7/INYAa
>>204
その型の根元となるものは定数リテラルしかないように見える
組み込み関数はジェネリクスじゃないから推論されるのか?
2019/10/27(日) 12:13:46.12ID:Lik42TLZ
全部文字型しかないとかそんなんだろう。
2019/10/27(日) 12:14:04.56ID:Lik42TLZ
例えばシェルスクリプトは文字しか無い
2019/10/27(日) 12:38:23.59ID:C6c+3Wiv
この言語すげー使い勝手いいな
めちゃくちゃ衝撃受けたわ……

明日、早速マネージャーと掛け合って新規プロジェクトにBlawn入れるよう説得してくる
お前らも応援してくれっ!
212デフォルトの名無しさん
垢版 |
2019/10/27(日) 12:39:33.94ID:IkTaChA0
開発は全部クロスでやる。gcc や Linux はクロス開発できるようになっている。
普通エミュレータも用意して実機での評価は最終段階。楽ではないが、気軽ではある。
しかし、ディストリをゼロから構築してセルフで開発できるようにするだけで非常に手間がかかる。
開発環境を構築するのに開発環境が必要という状況で数百パッケージをビルドしないといけない。
2019/10/27(日) 12:43:16.47ID:i7/INYAa
>>209
それだと型推論いらないし
スクリプト言語じゃなくてネイティブだぞ
2019/10/27(日) 12:43:36.40ID:DNAQHLE+
負けた……!最強だわこの言語。。。

今からLinuxのソース読んで全部Blawnに書き直してプルリク出してくる!
Rustなんかよりよっぽど将来性を感じた
215デフォルトの名無しさん
垢版 |
2019/10/27(日) 12:59:48.10ID:IkTaChA0
>>173
日本の役人のレベルが低すぎて世界の笑いものにされそうだ
2019/10/27(日) 13:00:57.03ID:31m03oKF
https://qiita.com/blackenedgold/items/83526b329fe96ee781f5
まだバグが結構あり、segmentation fault が起きたり、
出来て欲しい書き方でエラーになったりするらしい。
2019/10/27(日) 13:05:04.92ID:31m03oKF
型が合わない場合にコンパイルがエラーを出すべきところが、
llvm バックエンドの llc でエラーになることもあるようだ。
218デフォルトの名無しさん
垢版 |
2019/10/27(日) 13:09:18.88ID:IkTaChA0
>>202 が冗談なのは明白だが
好意的に受け取れば
マ板の人間なら援助する側のエンジニアになって参加するべき
天下人になるチャンスだろ
219デフォルトの名無しさん
垢版 |
2019/10/27(日) 13:09:54.38ID:IkTaChA0
マ板じゃなかった
ム板ね
2019/10/27(日) 13:10:33.48ID:i7/INYAa
やっぱり外部とのインタフェースは組み込み関数になってて
予め型が決まってるとしないと成り立たない気がするな
2019/10/27(日) 13:49:49.46ID:Lik42TLZ
>>213
別にネイティブでも変数の型は全部文字列型ってやれば
なんの問題もないだろ

まあ変数宣言時に必ず値を入れること、そして代入してる値が
"0" だと文字型、0だと整数型、0.0だと浮動小数点型、それ以外だとオブジェクト
みたいな区別はあってもいいと思うが。型"推論"じゃなくて、型判断やな

/0/ だと正規表現型とか、@2019-10-27 だと日付型とか、true or false ならブール型とか
$123.00 だったら小数点以下第二位までのcurrency型とか。
たった今の思いつきだが、結構行けるんじゃね?w

そして関数の引数にも型ではなく初期値代入が必要と
function foo(value=0)

www
2019/10/27(日) 13:51:19.03ID:Lik42TLZ
> それ以外だとオブジェクト

ここがまあ、動的にならざるをえないけどwww
2019/10/27(日) 14:00:29.12ID:5vGCPSlt
生意気過ぎかも知れないが時代の子だから仕方がないか。だけどこれって厨房潰しの陰湿な褒め殺しだろw
224デフォルトの名無しさん
垢版 |
2019/10/27(日) 15:12:02.61ID:9NVuDXt4
200レス超えてて草
お前らがどれだけ若い才能に嫉妬してるかが分かるなw
2019/10/27(日) 15:16:38.11ID:Lik42TLZ
多くのレスは言語仕様としてはダメだっていう評価だと思うけど?
2019/10/27(日) 15:50:33.89ID:5vGCPSlt
AB作者も潰れちゃったみたいだし...
2019/10/27(日) 16:12:18.05ID:VmZQW/n9
>>225
多くのレス(お前が連投してるだけ)

Blawn嫉妬民さぁ
2019/10/27(日) 17:13:28.45ID:/g1/9V53
いや作った本人もそういってんだろバカ。
2019/10/27(日) 17:34:19.55ID:31m03oKF
簡単な場合でも、コンパイラ本体がエラーを出さずに、間違ったコードが
バックエンド層に流れてそこでエラーが出ることが出るので、
言語仕様だけでなく実装にもまだ問題がある。
たまたまバックエンド層がエラーを出しているから良いものの、
このままだと、本当はエラーなのにコンパイラ本体もバックエンドも
エラーを出さないで、原因不明のバグに悩まされる可能性がある。
2019/10/27(日) 18:24:52.88ID:TjLvk1ZS
そこまでいくと言語の体をなしてなくね
賞の選考過程と他の候補が知りたい
231デフォルトの名無しさん
垢版 |
2019/10/27(日) 18:25:21.58ID:sulyIv7i
でっ、でもメモリが安全だから…
2019/10/27(日) 18:33:36.82ID:hg2GrTw0
メモリが安全ってなんやねんw
そんなんどの言語でもそうなってるやろ
233デフォルトの名無しさん
垢版 |
2019/10/27(日) 18:47:40.50ID:Vc6lc8Xn
function mod(a, b)
return a - a / b * b
2019/10/27(日) 18:50:30.97ID:TjLvk1ZS
メモリが安全の字句だけで、言語の先のハードの知見があるとかわけのわからん称賛をしてる奴がいたなぁ
2019/10/27(日) 19:12:46.77ID:L4S/WXDR
初めから完璧を求めるお前らみたいなクズ共って一生雇われの奴隷身分のままなんだろうな……

新しく色んな行動を起こした人にしかエラーは起こせないんだよなぁ
2019/10/27(日) 19:23:21.48ID:QHyOIS3t
だから将来に期待って言ってるやろw
237デフォルトの名無しさん
垢版 |
2019/10/27(日) 19:25:55.89ID:EOgoHXBM
Blawnならメモリーが安全です。
2019/10/27(日) 19:31:22.78ID:aWGByvYb
こりゃMatzに説明責任あるな
2019/10/27(日) 19:35:00.64ID:QHyOIS3t
Matz「リップサービス」
2019/10/27(日) 22:56:58.26ID:avqQm7rz
>>226
A B って何?
2019/10/27(日) 22:59:42.27ID:irXhIBVc
>>240
active basic
2019/10/28(月) 08:33:38.39ID:0JKFRALh
>>217 型チェックはコンパイラではやらずにLLVM に任せっきりだろ。
2019/10/28(月) 08:39:05.70ID:Dwy6fF1L
てか殆んどの処理をllvmに丸投げしているだけなんじゃ
2019/10/28(月) 12:12:50.28ID:jVNnMdKT
>>242
型に応じてコンパイラ自体が動作を変えなければならないので、
それはできない。
例えば、同じ名前だが仮引数に異なる型を持つ複数の関数がある場合、
float と int で呼び出される関数を変える必要が有るが、そのような
機能は LLVM にはない。また、多くの言語で、byte(char) から int への
自動変換などは明示的に cast しなくても自動的に行われることが多いが、
LLVM では自動では行ってくれない。
2019/10/28(月) 12:21:05.11ID:24j81JFb
さっき社内で第一回Blawn導入会議が行われた
意外だったのがこれまで色んな新技術をどんどん取り入れてたエンジニアが何人か反対してきたところ

だけど、なんとか押し切ってBlawnで新規開発することに決まりそうw
つーか好き嫌いせずに新技術なら取り入れろや!馬鹿コーダー!w
2019/10/28(月) 12:58:44.37ID:B2vNSXr0
template はLLVMで扱えるぞ。
2019/10/28(月) 15:48:51.99ID:jVNnMdKT
>>246
LLVMは、アセンブラレベルのバックエンドなので、どんな言語でも
扱える。GCでも、templateでも、BASIC, C#, Java でも関数型言語でもなんでも。
2019/10/28(月) 19:56:53.75ID:UN032gwh
JavaのLLVMなんて見たことないぞ
249デフォルトの名無しさん
垢版 |
2019/10/28(月) 23:22:30.57ID:7rK+iKLF
ガチで言語作ってるなら
こんなショボいコンテストに応募なんてしないだろ
所詮はエリート学生のお遊びなんだよ
2019/10/28(月) 23:28:26.65ID:UoDBlhRm
ああ本職ですらないただの15歳の天才が軽く言語作っちゃったことで
嫉妬3倍増しちゃってるのか
気持ちはわからないでもない
2019/10/28(月) 23:29:07.89ID:h8s0d9ya
こんな言語にまじになっちゃってどうするの
2019/10/28(月) 23:31:19.60ID:dIWlg8jX
本人か親御さんではないとして
擁護するモチベって何なの?
253デフォルトの名無しさん
垢版 |
2019/10/28(月) 23:32:03.01ID:B8NdEcl5
メモリが安全だから!
お前らの言語は、危険!!
254デフォルトの名無しさん
垢版 |
2019/10/29(火) 03:10:40.02ID:TuR8pM3E
>>252
真っ赤な他人を助けるような”ボランティア”というのがこの世に存在するんだから
見ず知らずのガキを擁護する変態がいてもおかしくはない
2019/10/29(火) 07:05:05.33ID:4JvJ7bnZ
ママ活
256デフォルトの名無しさん
垢版 |
2019/10/29(火) 13:11:56.25ID:sKT/Navp
ここに書いてる人って実際に動かしてみた人いるのかな
2019/10/29(火) 13:23:59.63ID:YQKoC2Uo
いるわけないやろw
バイナリ配布されてないし、

compile from source
やめたほうがいいです。どうしてもやりたければLLVM6.0,bison,flexをインストールしてから
buildディレクトリで"make"してください。"make -j8"とかにするとコンパイルが早くなります。

とか書いてあるんだし
2019/10/29(火) 13:57:33.71ID:gns1i7FP
リポジトリにバイナリも含まれてるで
2019/10/29(火) 14:17:23.97ID:BMsDe6CM
変なパス固定埋め込みされてるから
ちょっと触ってめんどくさくなった
2019/10/29(火) 15:29:12.05ID:D3NzJda/
Blawnのフレームワーク作ろうと思ってるんだけど
すげぇワクワクしてる。俺たちが時代を作っていくんだなって感じる
2019/10/29(火) 16:00:32.05ID:VnX4qZP9
>>260
本気ですか?
2019/10/29(火) 16:16:55.57ID:VnX4qZP9
この言語は、「書き方が独自に変えてある」というだけで、それがメリットに
感じるかは個人差が大きい。少なくとも、return文が関数の最後の識別子になっ
ているのはデメリットに感じる人も多いだろう。return文を複数書くのは
良く無いという説を唱える人も要るが、一方で、それこそが一番便利な機能と
考える人も要る。校舎の意見では、一箇所でしか戻れないというのは不便
極まりないし、goto文も使わないとなれば、フラグを用意してそれ以後の
行でif 文で一々はじいていかなければならない。それは分かり易くも無いし、
処理効率的にも悪い。
263デフォルトの名無しさん
垢版 |
2019/10/29(火) 16:20:58.96ID:g8zM1lJr
校舎「私はこう思う!」
2019/10/29(火) 16:33:53.69ID:TuR8pM3E
プログラミング歴が浅い人がプログラミング言語にどんな不満を持ってわざわざ新しいプログラミング言語を作ろうと思うのかまるで謎
2019/10/29(火) 16:39:09.67ID:gvGgQxyJ
Pythonでプログラミング始めたみたいだし、
C++がPythonのように書けないのが不満なんだろう
Pythonしか知らないからPythonが基準
2019/10/29(火) 16:57:42.56ID:D3NzJda/
Blawnのパフォーマンスやべえな
今自社の開発チーム全員が「やられた……」って顔してる
基幹システムにこっそりBlawn入れた早とちりさんも出てくるほどすげぇ言語だよこれ
2019/10/29(火) 17:06:39.54ID:VnX4qZP9
ポインタが無い時点で、C++よりパフォーマンスが高いことはありえない。
最適化はLLVMに任せているわけだから、clangと同じだし。
2019/10/29(火) 18:23:54.26ID:D3NzJda/
今日俺が一目置いてる新人がまたやりやがったw

PHPでずっと作っていたプロダクトにちょくちょくBlawn入れてきやがったwwwwwwwww

最初はブチギレそうだったがソースの美しさとパフォーマンスの良さにメンバーは感動

結局流れで1からBlawnで作り直すハメにwあの馬鹿!w今度何かおごれや!w
2019/10/29(火) 19:08:59.54ID:gns1i7FP
変なのが棲み着いたなぁ
2019/10/29(火) 19:24:00.62ID:gvGgQxyJ
そういうネタスレでしょ
2019/10/29(火) 19:30:06.46ID:VGkD59i6
2ちゃん、5ちゃんねるは伝統として面白いことを書く所だからネタスレでもいいんだが
住み着いてる奴はつまらないから全然駄目
272デフォルトの名無しさん
垢版 |
2019/10/29(火) 19:41:43.97ID:sKT/Navp
書き手の知識レベルが低すぎて夢見られない
2019/10/29(火) 19:50:58.23ID:b5zWL0uJ
D言語というものがあってな
2019/10/29(火) 20:20:11.20ID:D3NzJda/
【悲報】ついに職場でもスレ民みたいなエンジニアが現れる

俺「Blawn導入プロジェクトの進捗はどうなってる?」

敵「……ってません…」

俺「……ん?」

敵「やってませんッ!!!!こんな言語!!!!!!!」バンッ!!!!

これさぁ、ヤバくね?
Blawnアンチってこんなのしかいないの?
275デフォルトの名無しさん
垢版 |
2019/10/29(火) 20:39:06.74ID:TuR8pM3E
"俺の作った最強言語"って中二病の範疇だろ
中学生ならよくあること
2019/10/29(火) 20:49:36.16ID:dJZjQrr+
なんだろうbotなんかな?
2019/10/29(火) 22:11:14.66ID:VnX4qZP9
>>268
PHPはHTMLの中に組み込む言語で、blawnは今のところnative向け専用言語な
わけだから、その書き込みは全くの嘘だと断言できよう。
2019/10/30(水) 00:51:45.11ID:wzBZ2b/I
これどうやったら試せるの?
sudo apt-get install blawn
みたいな感じでいいのか?
2019/10/30(水) 01:38:07.79ID:x5G3fw1z
$ git clone https://github.com/Naotonosato/Blawn/
$ cd Blawn/sample
$ chmod 0755 Blawn/blawn
$ chmod 0755 Blawn/data/llc
$ ./Blawn/blawn test1.blawn
Hello! I'm John
Hello! I'm renamed Bob
280デフォルトの名無しさん
垢版 |
2019/10/30(水) 16:06:14.72ID:bv6PVv2A
>>262
result を予約語にしてる言語もあるんやで
281デフォルトの名無しさん
垢版 |
2019/10/30(水) 16:07:53.16ID:bv6PVv2A
>>265
Python の様に描ける C++ はある
2019/10/30(水) 16:17:18.18ID:0rIThOCS
1. return文を複数書くのは良く無い
2. goto使って最後のreturnの直前にジャンプすればいいんじゃね!
3. gotoも禁止!例外も禁止!
2019/10/30(水) 20:14:18.39ID:0vuHp8jS
kuinに比べたらマシ
2019/10/30(水) 20:18:54.40ID:PFJwOjFS
関数型言語Spinozaの方が5倍速いよ
2019/10/30(水) 20:20:49.22ID:x5G3fw1z
Spinoza、完成したのか
2019/10/31(木) 00:43:21.12ID:vRumXU8Q
おじさんはllvmがどういうものかすら理解できてなかったら、この子のコード見てただのライブラリなんだということがわかったよ
2019/10/31(木) 01:11:46.69ID:0an28qWN
>>286 何を言ってるんだ? 日本の言語を勉強した方が良いぞ。
お前にはプログラムは早すぎる。
2019/10/31(木) 09:43:29.97ID:gpc+5FVL
typoの推察つかないやつも相当向いてないと思うわ
2019/11/01(金) 05:32:14.45ID:sC7L1FtZ
しかしライブラリ使えば中学生でも言語作れる時代になっちゃったんだな
言語作れるって言ったらひと昔はすげー!って言われたのに最近はそうでもないってことか
Twitter見ると高校生でOS作ってる子もいるし、技術の進歩ってこういうことなんだろうな
2019/11/01(金) 07:40:33.23ID:uGLWTUWx
Blawnは、Rubyに比べて、使いにくい。
returnのとこも、少しわかりにくい。

Web系で働くなら、Blawnより、断然Ruby。

次世代言語として、通用するのはやっぱりRuby!!!!!!!!!!!!
2019/11/01(金) 08:27:14.45ID:zYRuRpd3
>>290 相変わらずの?uby厨はみっともないな。幾ら落ち目になったからと言って中学生に嫉妬するなんて。
2019/11/01(金) 12:40:32.51ID:/NQz6Ezi
>>289
構文解析器などは結構昔からあったけど
LLVMが使えるようになったのが大きいのだろう
gccは機能単位で使いづらかったし
2019/11/01(金) 14:33:20.16ID:Am2UW0G2
コンパイル速度が速いと本人が言っていると小耳に挟んだが、実は:
1. WindowsとC++の組み合わせの場合、必須となる windows.h ヘッダだけで、コメントを除いた状態で数えても
  1万8,000行程度あり、*.cpp ファイルで書いたプログラム本体より、windows.h ヘッダ
  の解析に時間ががかっている。そのために pre-compiled heaeder 技術を VC++ は使っている。
  だから、windows.h やその相当品を読み込まない状態で Blawn をテストした場合、
  WindowsとC++の組み合わせとは解析している行数が全く異なるためコンパイラの速度比較
  としては公平とは言えない可能性が高い。

2. 例えば、VC++のコンパイラは、pre-compiled header を使った場合、現在のエントリモデルのCPUでも、
  1ソース当り 30(ms)程度でコンパイルを終える。pre-compiled header
  を使わない場合は、100(ms)程度。

3. Blawnが字句解析に用いているflexは正規表現で字句解析をするので根本的に遅くなる。
  例えば、windows.h はバイト数が 1MB程度もあるので、字句解析で 1文字当たり1クロック使うと、
  0.3(ms)程度時間がかかる。もし、字句解析部分が1文字当り100クロック使ってしまうと、
  それだけでVC++のトータルコンパイル時間に達してしまうことになる。
  それだけに、字句解析は未だに1クロックで泣き笑いをする分野である。そこに、
  手書きコードより効率の悪い flex を使っている時点でコンパイル速度は望めない。
  ちなみに、new, delete を組み合わせて使うだけで、300クロックかかってしまうので、
  ヒープメモリの使用も控えるのに越したことは無い。

4. C++ には、#define マクロや、#if, #else, #elif, #endif などでの前処理もできる。
  これは見落とされがちだが実は重要。ここも字句解析ほどではないが、1クロックに
  泣き笑いをする分野である。Blawnには前処理層が無いから、VC++などと速度の単純比較は出来ない。

5. BlawnはバックエンドにLLVM処理用にclang系を使っている。これは、VC++に比べると
  遅い。なので、トータルで見たとき、flexを使わずに手書きしたとしても、LLVM
  を使っている段階で、VC++のコンパイル速度に勝つことは最初からほぼ不可能。
2019/11/01(金) 15:35:24.71ID:pjX7yF5b
>>293 blawn コンパイラがC++ で描かれてるだけで、blawn をコンパイルするのはblawnコンパイラ=LLVMだろ。
c のヘッダなんて関係ないんじゃないの?
2019/11/01(金) 15:41:39.84ID:XsK+HhVl
blawnで同等のものを作った場合だろ
Cにはプリコンパイルヘッダで高速化する技術があるが、blawnでwindows.hと同等の機能を持ったものを作った場合果たしてどうなるか
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況