次世代言語9[Haskell Rust Kotlin TypeScript Dart]

■ このスレッドは過去ログ倉庫に格納されています
2018/03/06(火) 10:09:15.60ID:x/Au45rc
スレタイ以外の言語もok

前スレ
次世代言語Part8[Haskell Rust Kotlin TypeScript]
http://mevius.5ch.net/test/read.cgi/tech/1512137301/
2018/03/13(火) 21:12:42.56ID:CUB7TEfm
ここで唐突に新言語が乱入だー

C言語の現代化を目指すC2
https://www.infoq.com/jp/news/2018/03/c2lang-modern-c
2018/03/13(火) 23:32:12.39ID:Z0di2vGk
これか
http://c2lang.org/
Cより良さそう
2018/03/14(水) 00:03:14.25ID:fxigNd06
>>331
まだCより良さそうなんて判断は無理だろ。マクロ周りが全貌も見えてないし。
2018/03/14(水) 00:04:08.32ID:7QXpRona
配列の範囲外アクセス検知強化してたら有能
2018/03/14(水) 00:27:05.17ID:D1sQyr+F
C2は機能は悪くないんだがCの記法を引きずってるのが足かせになりそう
まあそこを変えたらC2なんて名乗れなくなるか
2018/03/14(水) 01:05:08.25ID:ZGpe5WQ6
>>328
1つの言語でいいのになんでおもいおもいに勝手に言語作るの?
2018/03/14(水) 01:10:36.80ID:7QXpRona
ベストな言語は未だ存在しないからだよ
2018/03/14(水) 01:13:29.13ID:+4V1rKt1
まあ99.9%の仕事じゃ既存の言語使った方が効率いいわな。
本当のところ、新しい言語なんてマーケティング的な意味以上のものがあると思えん。
338デフォルトの名無しさん
垢版 |
2018/03/14(水) 02:02:52.14ID:TtlwJ4jl
同じものを作り続けるならそうだろうけど、普通要件に因るでしょう
2018/03/14(水) 02:44:51.50ID:VWZtH1+z
C2?
まーた波括弧言語か……

OCamlのシンタクスを波括弧にする改悪だけの凄まじいクソだったReasonのトラウマが……
Rust がML系シンタクスだったら良かった人生だった
2018/03/14(水) 02:50:33.24ID:gKR2N6Y9
えーみんなオフサイドルール好きなの?
2018/03/14(水) 03:09:29.30ID:BF4uYFfL
勝手にc2とか名乗って問題にならないのかな
cの規格をc99、c11みたいに表示するから言語名+数字はちょっと紛らわしいと思う
2018/03/14(水) 03:47:25.69ID:lwj22l3u
フォーラムちょっと読んでみたけどまだまだ全然まともなものとは思えんで
フォーカスしてる用途が不便を楽しむ遊び、ポートする楽しさ以外見えてこない
343デフォルトの名無しさん
垢版 |
2018/03/14(水) 07:37:15.69ID:TtlwJ4jl
オフサイドルールなんて嫌
そもそもrustのブロックを表現できないじゃないか
2018/03/14(水) 07:56:53.64ID:0fdBf/WL
>>340
ML系シンタクスってオフサイドルールとは違うと思うけど?
2018/03/14(水) 09:59:50.84ID:mT31QN2T
細かい字面の違いなんぞどうでもいいわ
2018/03/14(水) 12:08:19.96ID:OBFQDHoW
見た目は波括弧だが意味は中括弧か大括弧
一行で書けない長いやつ
だがラムダがあったら小括弧の内部に大括弧を書くことがあるから意味がない
Pythonの波括弧は集合か辞書を意味する
Haskellの波括弧は囲んだ部分のオフサイドルールを無効にする機能
2018/03/14(水) 13:10:17.73ID:OcK2GZgi
C2を名乗るなら既存のヘッダファイルとモジュールの両立を真っ先に考えないと
現状ヘッダファイルを手動で書き直さないといけないのでは、Cと互換性のない他の新興言語と何も変わらん
本家Cに提案されているモジュールが採用されたら存在意義を失う
348デフォルトの名無しさん
垢版 |
2018/03/14(水) 13:18:43.15ID:9411JVzT
緊急速報

(+)【IT】AMD製CPUに「致命的」欠陥 悪用でPC乗っ取りも
https://asahi.5ch.net/test/read.cgi/newsplus/1520989318/

(BIZ+)【CPU】AMD製CPUに「致命的」欠陥 悪用でPC乗っ取りも
https://egg.5ch.net/test/read.cgi/bizplus/1520995986/

(ゲハ)【PS4/XONE】AMDのCPUに致命的な欠陥【Ryzen】
https://krsw.5ch.net/test/read.cgi/ghard/1520998474/
2018/03/14(水) 14:10:00.37ID:OBFQDHoW
コンパイルはできるがリンクができないのが現代
未来ならまあわかるが現代化を目指してもやっぱりリンクができない
2018/03/14(水) 18:19:32.06ID:D1sQyr+F
C2使ってみようと思ったらこれCのコードに変換してるだけだった
これくらいなら同じものすぐに作れる人いそう
2018/03/14(水) 18:36:37.90ID:hEhRPYgv
それくらいの方が見通しが良くていいかもな
2018/03/14(水) 18:54:14.79ID:fFm4rqzY
Cのプリプロセスのマクロとかが遅いからとか書いてなかったか?
C2をCに変換するトランスパイラじゃ意味ないじゃん
2018/03/14(水) 19:40:13.34ID:IogLKo4e
そんなんどこに書いてあるの?
2018/03/14(水) 19:59:28.97ID:fFm4rqzY
>>353
コンパイル時間を大幅に遅くするヘッダファイルの使用が問題ってそういうことじゃないの?
2018/03/14(水) 20:12:57.97ID:hEhRPYgv
Include先がまた別のファイルincludeする大連鎖include地獄のことを言ってるんじゃない?
2018/03/14(水) 20:26:52.27ID:+4V1rKt1
C with class じゃないですか。。
2018/03/14(水) 20:53:53.48ID:ocseprwf
ポリモーフィズムはともかく継承もインターフェイスも仮想関数も型クラス・トレイトも無いように見えるがこれをクラスと呼ぶのか……?
2018/03/14(水) 23:12:31.41ID:hxEXxDVi
Nim,Crystal あたりと合わせて altC って感じやな
2018/03/14(水) 23:35:24.83ID:9KFxXS/p
3つ眺めてみたけどnimに惹かれる。
こんな言語あったんか…なんでこんなん知ってんだお前ら
2018/03/15(木) 03:29:44.83ID:FoOjJG9w
nimいいじゃんこれ
2018/03/15(木) 05:29:41.26ID:q+mljZsH
ここのスレに顔出しててNim知らないのか…
まじで知名度ないな
2018/03/15(木) 07:38:27.49ID:wNeo1CJk
NimはQiitaとかでたまに話題に上がるから
次世代系の中では比較的有名なのかと思ってた
2018/03/15(木) 15:07:19.69ID:Gk47k1T6
変な奴に好かれて評価を落とした言語という印象が付いてしまった感がある
実際触ると構文はPython機能はDelphiプラスD言語って感じで性能も良好なんだが
モダンな感じはしないのが弱いかな
特にPascal風のバリアントレコードを引きずってるのが痛い。代数的データ型ぐらい欲しい
364デフォルトの名無しさん
垢版 |
2018/03/15(木) 16:21:52.17ID:81MsBC+z
このスレ来てるのにNix言語も知らないってマジ?
2018/03/15(木) 17:26:52.54ID:OYGfq7D7
知らんかったから調べたけどこれはいいや…俺は惹かれなかった。しかし検索性悪いな
366デフォルトの名無しさん
垢版 |
2018/03/15(木) 20:25:23.49ID:0iJywA+8
>>339
波括弧こそ至高
2018/03/15(木) 20:49:12.32ID:9ujU8BdG
マクロとかメタプログラミング向けの機能以外はこれといった特徴無いように見えるね。
しいて言えばgoやrustみたいにアクが強すぎないところかな?
あるいは、pythonのようなオフサイドルールでネイティブコンパイルできるってのが
一部の人の琴線に触れるような気がしないでもない。
2018/03/15(木) 20:52:20.23ID:thSPLixB
何よりCを凌駕するというとんでもないパフォーマンスを持つという記事の存在が大きい
2018/03/15(木) 21:48:11.64ID:jcfpYhJu
バリアントレコード位しか c(++) より速くなる要素無いがな…
2018/03/15(木) 22:05:28.04ID:bzT8+O3E
cより速いとか大抵特殊な条件下だったりの煽り記事だけどね。
2018/03/15(木) 22:37:00.89ID:gNl1NP6h
煽り記事に煽られて有名になった言語

実際、結構複雑なことしてもc並みに速いんかねえ……?
372デフォルトの名無しさん
垢版 |
2018/03/15(木) 22:43:14.62ID:AY8mFBH0
Cへのトランスパイラ言語は何やってるか判ってれば同等になるでしょ。
まあ、"Cより早い" が意味があった試しは無い。
2018/03/15(木) 22:51:44.82ID:gNl1NP6h
複雑なことっていうのは、Cにどう変換されるか負えないくらい複雑なことってことだよ
2018/03/15(木) 23:02:50.82ID:jcfpYhJu
nim performance で検索してトップに出てくる
http://blog.johnnovak.net/2017/04/22/nim-performance-tuning-for-the-uninitiated/

ではレイトレースというごく単純な処理で出てくるコード見ながら色々やってるな
inline 指定したり

複雑な処理は c で書いても複雑(で恐らく遅いの)だから、
簡単な処理が速く書ければいいんじゃない?

上記ページによると Java と JS が数値計算案外速くて笑う
2018/03/15(木) 23:19:56.51ID:AY8mFBH0
昔LuaJITはぇーって盛り上がった事あったなあ…
2018/03/16(金) 06:03:27.99ID:VHgYZCtO
pythonが遅いからなぁ
377デフォルトの名無しさん
垢版 |
2018/03/16(金) 07:44:37.90ID:fr9o0CI5
今年もrustが愛され言語No1に輝きましたな
スタックオーバーフローにはモジラの息のかかった人しかいないのかな
2018/03/16(金) 09:48:10.52ID:ooeu0A1b
支持率改竄が愛され陰謀論ナンバーワン
2018/03/16(金) 20:00:27.38ID:ZX5ucnyZ
>>231
オマエが馬鹿だろ。死ね
2018/03/16(金) 20:38:34.09ID:4KsfexYH
Cより速いを名乗るには、C言語では吐けないアセンブリパターンを吐く必要があるはずだが
現実にはバックエンドが同じなんでC言語でも再現可能だからなあ
(処理系固有のattributeやpragmaを書き足す必要がある場合も多いだろうけど)
2018/03/16(金) 21:14:11.01ID:sL/r1GAp
そこでmasmですよ。
2018/03/16(金) 21:27:41.47ID:r/T+njCz
現行バージョンのメジャーなライブラリでもmalloc/free (new / delete) が結構遅いから
rpmalloc 辺りを使うコード吐くだけで「処理によっては C より速い!」が実現できる気もする
2018/03/16(金) 22:03:02.48ID:bARX2ip1
非標準のライブラリを使ってはいけないとかCが遅くなるルールを何個か追加すればいい
他にも、変更されたら困るデータはコピーを取る手間がかかる
immutableを保証すればその手間がないからCより速い
2018/03/16(金) 22:48:15.19ID:r/T+njCz
そう言われてみると他のスレッドからアクセスされないメモリ/オブジェクトは
スレッドローカルなプールからアロケートするとか
その他のロックも省略できるとか色々最適化の余地あるな
2018/03/16(金) 23:45:02.47ID:pyLfI6yU
*2が勝手に足し算に変わるとか、そういう最適化を勝手にやってくれてるな
あとはどうあがいてもプロが最適化したCに勝てるわけがないし、素人が適当に書いたCと素人が適当に書いたnimのどっちが速いかだな
2018/03/17(土) 00:00:18.49ID:Fbe/Dv6l
>>385
前時代的の異物、死ね。
速度の必要な部分だけを切り出して、それだけをアセンブリコードにすればいいだけ。
2018/03/17(土) 00:01:17.17ID:Oh0Aao6E
>>385
>>374のリンク先の記事はある程度参考になると思う
2018/03/17(土) 00:02:21.86ID:a9tSZ89y
なんで死ねって言われたのか理解できない
アセンブリコードまで自前で書くほうが前時代の遺物感強いと思うけどなあ
2018/03/17(土) 00:44:26.42ID:Fbe/Dv6l
>>388
理解できないなら、死ねばいいだけ。
2018/03/17(土) 01:00:08.76ID:aJVXG6RF
Cに代わる次世代言語はアセンブラやC、C++で書かれた
高速な実装を呼び出す1行のコードが書ければ十分ってことだろう。
そうしてそれがわからないなら死ねばいい、と。
2018/03/17(土) 01:12:32.40ID:U1WdVkRs
普通に考えたら高速な実装を書ける言語がアセンブラやC、C++だとすれば
Cに代わる次世代言語も同じように高速な実装を書けなきゃ代わりにならない
2018/03/17(土) 01:36:41.05ID:Z+moL2ES
その普通に考えるってのが前時代的だな
スピードではなくフライングで勝つサイコパスのような考えができない
2018/03/17(土) 01:53:39.29ID:a9tSZ89y
Nimは速い上にCよりずっと楽に書けるんだが
2018/03/17(土) 02:01:20.25ID:U1WdVkRs
>>392
ということは最近は「代わり」は置き換え可能な存在という意味ではなくなったんだね
それなら前時代的と言われても仕方がない
2018/03/17(土) 10:06:45.76ID:wWRkBHq+
まあ最近でも低レイヤーの仕事としてGPUのアセンブラチューニングって話はあるけど、
どうせユーザー側なら言語とか関係ないけどね。
結局どんな言語使ってもどうせライブラリ呼ぶだけのお仕事でしょう。
396デフォルトの名無しさん
垢版 |
2018/03/17(土) 10:13:19.41ID:btDjh9Sw
Clojureの話する?
2018/03/17(土) 10:17:40.12ID:zOFcLIxk
プロが本気で書いたCに勝つのは無理だろ
でも最適化しやすくして読みやすく書いてもプロが本気で書いたC並の速度出る言語なら…
2018/03/17(土) 10:47:29.26ID:/AWOYA6X
なんで速さの勝負になるかよく分からんし
速さしか考えないならCは中途半端やろ
2018/03/17(土) 10:59:08.85ID:Z+moL2ES
>>394
バグを正解に置き換えるならいいが、バグではないものをその1bit棒で叩くのは危ない
2018/03/17(土) 11:18:24.87ID:Z+moL2ES
immutable云々はデバッグ目的で使えるからCを置き換える可能性はある
速さはおまけ
2018/03/17(土) 11:46:47.41ID:4zm/Hii4
強力なおまけは魅力的ね
2018/03/17(土) 13:48:58.28ID:VXA170pJ
これまでどれだけの言語が
「Cと同等!」、「Cを置き換える!」って言って来たことか。
403デフォルトの名無しさん
垢版 |
2018/03/17(土) 14:38:29.12ID:6EPcIvNf
Nimの特徴はC並みの実行速度でCより手軽に書けることですか…
なんだかGoとキャラが被ってる気が…
Nimって生ポインタ扱えるの?
2018/03/17(土) 14:48:40.03ID:TnL0M0fs
でもCより速いVM言語とかあるし。
2018/03/17(土) 14:57:44.26ID:4zm/Hii4
NimはどっちかというとOCamlに近い存在だろ
Cの置き換えは狙ってねえよ
406デフォルトの名無しさん
垢版 |
2018/03/17(土) 15:27:21.87ID:6EPcIvNf
OCamlか…そういえばそんな言語あったなぁ
あれもモダンなコードが書けるうえにC並みに速いって話を聞く
Rustのコンパイラは初めOCamlで書かれていたということは知ってる
聞く限りにはかなり良さそうなのに全く普及する気配がないのは何故?
2018/03/17(土) 15:27:38.42ID:Nmk4+afD
実行状況に応じて実行しながら最適化ができるから原理的にはVM言語のほうが速くなる
まあその理屈だとインタプリタが最強なわけだが
2018/03/17(土) 15:49:23.67ID:4zm/Hii4
なんか知らんけどこのスレには熱心なOCamlアンチがいるよな
409デフォルトの名無しさん
垢版 |
2018/03/17(土) 15:57:42.27ID:6EPcIvNf
なんか知らんけどこのスレには熱心なRustアンチもいるよな
2018/03/17(土) 16:24:52.64ID:QOkOyKQG
おるな
2018/03/17(土) 18:15:28.10ID:zOFcLIxk
>>403
Goは遅いぞ
2018/03/17(土) 18:36:45.18ID:/KW2HbwM
言うほど遅いか?
2018/03/17(土) 18:40:43.08ID:zOFcLIxk
>>412
Cとかと比べたらね
「速い」ってほど速くはない
2018/03/17(土) 18:44:17.42ID:zOFcLIxk
JVMよりちょっと速いレベルでしょ
一般的な用途では十分だけど
2018/03/17(土) 18:59:01.64ID:4zm/Hii4
そんな十分とか言い出すなら俺なんかPythonの速さでも十分だわw
2018/03/17(土) 19:14:57.81ID:EY8EOa8A
>>407
「実行状態を調べて最適化」なる余分な仕事の分だけ遅くなる
最適化でそのオーバーヘッドを取り戻せるかどうかは自明ではない
417デフォルトの名無しさん
垢版 |
2018/03/17(土) 19:40:49.75ID:/yJWANaR
>>390
あー。つまり、シェルスクリプト。
2018/03/17(土) 19:58:26.68ID:4zm/Hii4
シェルスクリプトは次世代言語だったのか……
419デフォルトの名無しさん
垢版 |
2018/03/17(土) 20:03:43.73ID:/yJWANaR
#!/bin/sh

ls

もう、これだけでCで書かれた超高速なlsが実行される。
2018/03/17(土) 20:12:06.50ID:4zm/Hii4
シェルスクリプトが次世代言語とは流石に分からんかったわ
死ななきゃならんのか……
2018/03/17(土) 22:19:21.09ID:jxvv8BHS
サイコパスあるある
死傷者が出ても見て見ぬふりをする
2018/03/18(日) 01:12:13.80ID:b+jeKp+S
Cに変わる言語は遅い部分をCで書いて"代替"するのか…
2018/03/18(日) 02:11:42.71ID:cPcsfedK
速い遅いよりも矛盾をなんとかする方が重要だ
もし速さを優先して矛盾を野放しにしたらどうなるか全く予測できない
2018/03/18(日) 02:55:12.96ID:zE4QVnSy
こりゃまた難しいのがきた
425デフォルトの名無しさん
垢版 |
2018/03/18(日) 03:18:03.86ID:GxVko3yL
同じC言語でも速さに違いが出るのに
2018/03/18(日) 11:11:10.49ID:cPcsfedK
ソフトだからね
なんで同じソフトが違うハードで動くのかという説明から始めないといけないかも
2018/03/18(日) 14:10:28.16ID:9iYD44BB
Cの良さは
変換される機械語との違いが滑らか
それでいてメモリ部分はある程度抽象化してくれている。
てなところなんでないかね。

他の言語は「変換される機械語との違いが滑らか」を無視しすぎてる。
2018/03/18(日) 14:13:46.06ID:fKWd4mcG
先ずはそのよく分からん「変換される機械語との違いが滑らか」を定義するところからガンバレ
2018/03/18(日) 14:27:58.24ID:JHP9/eea
セマンティックギャップの話かな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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