次世代言語10[Rust Swift TypeScript Dart]

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/04/25(水) 07:02:27.60ID:OmWDt0SE
スレタイ以外の言語もok

前スレ
次世代言語9[Haskell Rust Kotlin TypeScript Dart]
http://mevius.5ch.net/test/read.cgi/tech/1520298555/
2018/05/04(金) 22:29:07.68ID:/D8HsFql
もういいや
2018/05/05(土) 00:07:46.07ID:3M7DBZHK
>>414
全然違うレイヤでしか評価されない概念だからね

型宣言を省略して単純にした言語はあまり評価されない
だからC++のように複雑な言語がずっと勝ち続ける
2018/05/05(土) 09:26:04.08ID:0zR7mPRl
言語レベルでは縛りを減らして、ツールもしくはプロジェクト毎の規約で矯正する方が成功してる印象。
2018/05/05(土) 12:36:15.72ID:Ptn/YTVe
Ruby使いはなんでもRails基準で話するから困惑させられるわ。

規約で縛るのと、設定させるのはまた別の次元の話な気がする。

規約で縛った上でさらに明示的に設定させるなんて思想もあるし、
明示的に設定すること、と言う一文すら大きく捉えたら「規約」だと思うんだが。

misra然り、規約で担保される部分も否定はしないけど、
そんなこと考えなくても言語レベルで無茶は出来ないってのは、結構有益だと思うよ。
goが他の言語だと警告で済ますものをコンパイルエラーにしてたりとか。
2018/05/05(土) 14:40:21.15ID:0zR7mPRl
それはわかる。
ただ「言語レベルで無茶させない」機能を実装するために「言語実装が無茶してる」
っていう本末転倒レベルのコンパイラが増えてる。
2018/05/05(土) 14:54:28.61ID:fkw9D7UX
何かを実装しやすくする為の機能、とバグを減らすための安全装置としての機能、と分類した時に後者が気に入らんて訳だな。
古いタイプのハカー思想的にはそうだろうね。
まあでも人間にコード書かせてる内は後者を充実させて行くしか無いでしょう。
2018/05/05(土) 17:40:15.09ID:wfyrkg3u
バグを減らすための機能はコードを書きやすくするための機能でもあって欲しい。Fortranはその辺のバランス感覚が地味に良い
2018/05/05(土) 18:31:47.37ID:sJdk0i7H
[][][] [[[ ] X_[[[ [] ][ [] ][][[[]
423デフォルトの名無しさん
垢版 |
2018/05/05(土) 22:21:49.30ID:g4wn0nIy
このスレ的にDart 2はどうなの?
2018/05/05(土) 22:28:11.15ID:J0iT62yj
>>423
哀れな水子霊
供養してあげよう
2018/05/06(日) 11:13:25.80ID:UdK4FK7I
>>420
半分だけはその通り。
ただセキュリティーについても結局は効率や速度を要求されるからって話なんだよ。
安全のためにって効率を落とすようなルールを作っておいて
ノルマは下げないみたいな現場ではセキュリティーホールつくようなハックが流行るってこと。
ルールを厳しくして逆に流出なんてパターンは結局これ。
2018/05/06(日) 11:29:16.72ID:EZJKrplU
悪事の限りを尽くしてきたサイコパスが
効率悪化だけは許さない真面目キャラになるのなんでだろう
2018/05/06(日) 12:54:13.10ID:BpvGgdyJ
安全性重視と言えば聞こえはいいが
やってることはWarningをErrorにしてるだけだからな
2018/05/06(日) 13:00:40.56ID:5SuvHbqD
>>427
明確にエラーなら、それを前提にした最適化ができる
2018/05/06(日) 13:12:21.81ID:4/stHYd4
まあ正直Worningでいいとは思う
2018/05/06(日) 13:18:55.75ID:+3dRclkW
>>425
unsafeなりなんなりあるかと。
効率や速度というのは、安定動作している事が確実に出来てからやっとテーブルに上げることができる話題であって、
それで落ちる効率なんてのは最初からサボってた証拠とみなす方が多いかと思うよ。

ルールを厳しくして結局流出ってのは、また別の尺度かと。
流出したとしても、それは理由もはっきりさせられるし、なによりソフトウエアの瑕疵ではなくて運用の問題の話になってくる。
2018/05/06(日) 14:32:39.98ID:7acvvhvM
セキュリティーについての効率化云々とか、半可通だなあとしか言えんわ…
2018/05/06(日) 15:54:07.22ID:cxBuJYdg
レイヤの上書きし続けるのやめろ
2018/05/06(日) 15:58:41.42ID:+3dRclkW
いくらコンパイラが怒らないからと言え、セキュリティーホールを突くようなハックとやらをしてたら流石にコードレビューではねるんじゃね?
どういうコードかイマイチ想像がついてないけど。
インラインアセンブラが禁止されてるからハンドアセンブルしたコードか入ってるconst char[]を無理矢理呼び出すとかかな。

単純にそのプロジェクトで使ってる静的解析が誤認するようにコードを書く事を、静的解析のセキュリティーホールと勘違いしてるのか、
それとも、バッファオーバーランしないようにするにあたって、根本的に長さを指定できる関数を使わずに付け焼き刃でバッファにクソ長い配列使うみたいなコードなのか(でもこれは静的解析で怒られそう)

一体何が、コーディングの上でセキュリティーホールを突くようなハックなんだろう?
ピアレビューがあれば瞬殺されて終わりな気もするし。
2018/05/06(日) 16:29:24.39ID:3zhAqmJH
>>421
Fortranって現役なんか?聞いたことないが
2018/05/06(日) 16:32:16.64ID:YMV7ENjt
>>434
現役だよ
2018/05/06(日) 16:36:08.57ID:T0X5noxd
スパコンでは現役。計算物理屋とかFORTRANしか書けないおっさんも居るしね。
まあ数値計算系のコード書いてる連中なんてgitも知らなかったりするレベルで
超絶的に遅れてるから意見なんて無視していいよ
2018/05/06(日) 16:41:56.05ID:4/stHYd4
>>434
現役かと言われたら、現状数値解析以外では老害しか使っとらん感じで口ごもっちゃうけど、そんな状況に反して最新の言語仕様は結構いい。そして老害はFortranの良い仕様は使っとらん
ある意味逆に次世代言語感あると思う
2018/05/06(日) 17:13:53.77ID:+3dRclkW
ベンダーがきっちり面倒見てるのも大きいわな。Fortranは。
老害と呼ばれるコードが生き残れるのも、新しいものがサポートされていくのも。
2018/05/06(日) 18:05:19.44ID:4/stHYd4
まあ新しいもののサポートは遅いがな
2018/05/06(日) 18:53:07.67ID:UdK4FK7I
まあ運用の問題と言えばそうだけどね。
実際どこぞのrustコードなんて結局unsafe丸がこみコードになってるって話だよ。
レビュアーがまともならってのもその通りだが
P○zyさんとことか有名どこでもそんなもんですよ。
2018/05/06(日) 19:31:39.25ID:9CUhRDV/
}]] [[《_["[[]]" 〈[]》》 [][][]0,1》》〈〉 [] } } "B,V,0%%%,*1BVLO,SASA1`}}//%\\0,1\"VL"\
2018/05/07(月) 12:03:19.49ID:Go6Qgpic
>>440
そのP○zyさんのコードはどこで見れるの?
2018/05/07(月) 17:37:45.62ID:aRQ7vpNn
Fortran現役ってすげーな。
なんか便利な構文あるの?
スペースがなくても構文が認識するって凄いね。何というか分野によって現役だったりするし、web系とか組み込み系とか分野毎に次世代を考えたほうが良いのかも
2018/05/07(月) 18:29:43.67ID:Si7Pqr9d
数値計算の新しいアルゴリズムってあるの?

動画の圧縮とかだったらどんどん新しくなってるけど
2018/05/07(月) 18:42:27.46ID:4LWU/9Ql
アルゴリズムというよりは非プログラマが数学物理をプログラムに落とし込みやすいって所じゃないか?
統計メインの生物系なんかはもうRやPythonに移ってるけど
2018/05/07(月) 21:30:21.40ID:u0xzmUnv
>>443
まあ、分野についての言及は必要だろうね。
447デフォルトの名無しさん
垢版 |
2018/05/07(月) 22:27:02.76ID:9toRjaak
よし、じゃあワシがwebの代表として次世代言語はrustであることをここに宣言しよう
2018/05/07(月) 23:32:28.33ID:b+1hN3YL
今phpのlaravelしててミドルウェアとかバリデーションとかルーターとかマイグレーションとか
それ自体はフレームワークの機能なんだけど言語仕様としても使えそうなのがチラホラあるけど
こういうの言語に使われることないんかな?
2018/05/07(月) 23:45:44.05ID:eqjeSWEf
>442
はいよ
http://tanakh.jp/posts/2016-12-20-rust-pezy-sc.html
2018/05/08(火) 00:32:28.71ID:kgnxB5OH
一元論が無理なら八百万って極端すぎる
二刀流くらいがちょうどいい
2018/05/08(火) 07:49:53.07ID:BTpaOhWg
C++の置き換え言語としてRustには期待している。ただ構文がなんかうっとうしいなあ。
ruby風のラムダは気に入ってるが。
2018/05/08(火) 08:43:30.21ID:lO+5Uui0
>>445
Numpy相当のベクトル記述が出来るたった一つのコンパイル言語。それがFortran
2018/05/08(火) 10:01:01.47ID:JvzvEXdE
>>452
確かにあれは書きやすいし速い
GPGPUでの(それをラップしたライブラリでの)行列演算に対するアドバンテージって何かあるのか?
分岐がモリモリ入ってくる場合くらいしか思いつかないが
2018/05/08(火) 13:34:11.30ID:k5VrHriK
>>453
なんのことを指しているんだ?
2018/05/08(火) 17:08:07.13ID:I+Jt0Kav
>>452
現実のFortranプログラミングは大量に宣言したスカラー配列を添字でゴリゴリ回すだけだけどな
行列やベクトルの演算のセマンティクスなんか一切残らん
2018/05/09(水) 01:16:05.28ID:PEulJP5b
haskellの方がCより速いってさ

https://superstrings.io/once-more-on-haskell-vs-c-performance-a54498bfa91
2018/05/09(水) 02:14:38.03ID:0YDcqAhS
>>456
https://superstrings.io/once-more-on-haskell-vs-c-performance-a54498bfa91f
2018/05/09(水) 02:26:18.12ID:bn/AH8fd
なんですぐばれるウソをつくのだろう?
2018/05/09(水) 02:35:21.53ID:hrOQbIqv
>>457
すばらしいね。
Cのコードに
__attribute__((optimize("unroll-loops")))
付けると100倍早いけどw
あと、手元の環境で gcc は何故か -O だけunroll付けたのと同様に早くて -O2 以上は遅かった。
バグと言うべきなのかな。
2018/05/09(水) 03:11:33.85ID:0bpmHxx0
>>453
コンパイラのやる気さえあれば、ライブラリでは不可能な最適化なんていくらでもでできるだろ
実際にやってるかはしらん
2018/05/09(水) 07:10:29.94ID:UxragvBK
乱数生成が遅いってどこかで見たような、Haskell
2018/05/09(水) 07:59:31.19ID:2PdkdhLd
>>461
それって言語の問題ではなくコンパイラの実装の問題?
それとも言語仕様として計算量の大きい生成アルゴリズムが規定されてたりするんだっけ?
2018/05/09(水) 08:01:55.30ID:2PdkdhLd
あ、ごめん。ライブラリの乱数生成の関数を呼んだらということかと思ったけど、自分で乱数生成の処理を書いたらということかな。
2018/05/09(水) 08:15:55.42ID:UxragvBK
>>463
ごめん、そこまで詳しくないので、誰か補足を。記憶だと前者だったかな。
2018/05/09(水) 08:17:13.45ID:yFt+gB3J
https://qiita.com/philopon/items/8f647fc8dafe66b7381b

この辺の話?
2018/05/09(水) 09:54:11.86ID:X/W01mab
>>458
せっかくコンパイラ作ったんだからみたいな貧乏性だな
一方、富豪的プログラマはインタプリタを使う
2018/05/09(水) 21:36:31.89ID:AJJ2h/PO
なんか知らんが定期的にCより速いって話が出てくるな。
高級かつランタイム速度が落ちないってなんかおかしいとか思わないもんなのかな。
2018/05/09(水) 22:20:41.60ID:dqSR3cl1
さ、最適化をダイナミックに出来るから……
2018/05/09(水) 23:00:53.08ID:hrOQbIqv
理想を追求する精神は忘れなくて良いやろ
470デフォルトの名無しさん
垢版 |
2018/05/10(木) 02:12:17.66ID:FhKx4uhS
高級品だと遅くなるならC++がCより速くなることはないんだろうなあ
フムフム
2018/05/10(木) 08:10:24.35ID:WcF1ShgP
実際、もしもコードを書く人がコンパイラを書いた人よりも賢いならばCの方が早 速いww
2018/05/10(木) 09:54:42.57ID:+xjpfXr5
コンパイラの最適化能力的には今でもFortranが頭ひとつ抜けてるんだっけ
2018/05/10(木) 10:07:40.42ID:sqBEyANZ
async awaitの存在のお陰でTypeScriptが使いやすさで一歩先言ってる感あるな。
VasualStudioでもサポートしてるんだよね。mac版試してみたい
2018/05/10(木) 15:49:44.61ID:TSTj28YJ
>>472
どうせバックエンド同じなので、C言語でもpragmaとattribute駆使すればFortranと同じになるはず
2018/05/10(木) 16:11:32.31ID:gErYAeAK
>>474
しんどー
2018/05/10(木) 16:20:28.17ID:VgJxGkPJ
rebuildfmで聞いたがswiftは機械学習との親和性を高める方向でラトナーは頑張ってるみたいね。
2018/05/11(金) 00:25:42.85ID:ew48BEmx
にむにむ
2018/05/11(金) 11:38:41.21ID:Bitu5gZ+
フォートランはスタックフレームを使わないから早いらしい
2018/05/11(金) 19:21:18.09ID:BkhZdaXW
>>467
昔々 Java の方が C++ より速いなんて話もあった。
JIT で速くなるとか。

しかしC++だったとしてもややこしい機能を使わずC言語風に作って最適化掛かったらお終いのような気がしてならない。
480デフォルトの名無しさん
垢版 |
2018/05/11(金) 20:24:29.02ID:ew48BEmx
Cはポインタが自由すぎて最適化難しいとはよく聞く
2018/05/11(金) 21:16:38.36ID:mlwOVON7
Javaの場合はいくら局所的に速くなっても、JITそのものにかかる時間だったり
あるいは膨大なロード時間を計測に含めてしまうと台無しだからなあ
もちろん速いとアピールしたいベンチマークではその辺が含まれないようにするし
遅いとアピールしたい場合は
2018/05/11(金) 21:22:37.76ID:RZoOPILo
どっちかというとマルチコアを活かした最適化って人間が頑張るしかないんじゃないかな。
だからgoでgoroutineとか、
関数型言語推しになるんでわ
2018/05/11(金) 21:41:43.97ID:rzT1F5bb
>>481
javaに限らずインタプリタ系も起動時間含めて time で測ってドヤってる Qiita の記事とか消滅して欲しい
2018/05/11(金) 21:43:50.20ID:bSh0JSQF
>>480
ポインタをintやchar*に変換する自由を利用してFFIのようなものを作れるよ
自由にCを呼び出すことで他言語が速くなる
2018/05/11(金) 22:13:19.06ID:ew48BEmx
>>484
なぜその内容で>>480に安価つけるし
2018/05/11(金) 23:06:50.43ID:bSh0JSQF
>>485
内容に問題はないので、わからないなら自分で考えるか質問を変えてみてはどうかな
2018/05/11(金) 23:15:21.11ID:mlwOVON7
>>484の意図(自由過ぎるポインタにはメリットもあるよ)もわかるし
>>485の反応(最適化の話題から逸れてるだろ)もわかるんだけど
正直>>486はぞっとするほど怖い。なんだろうこの不気味な感じは
2018/05/11(金) 23:16:13.67ID:ew48BEmx
なんやこいつ。
まあええわこのスレには会話通じんやつがおるみたいやし時間の無駄やわ。深く考えんとこ
2018/05/11(金) 23:19:46.30ID:KxM4SNOx
>>487
>>484からその意図を読み取れるのはすげー行間把握力だと思うわ
>>486が怖いのは同意
2018/05/11(金) 23:20:50.68ID:bSh0JSQF
「不気味罪という罪はない」とか言われたらゾッとするかもしれないが
そういうことを平気で言う奴は今の世の中にはいっぱいいるな
2018/05/11(金) 23:24:44.89ID:ew48BEmx
この感じどうせまた例のADHDやろ。つついてもうたことを後悔してるわ
2018/05/11(金) 23:25:19.88ID:cXvpx1C3
>>480
2018/05/11(金) 23:30:08.91ID:cXvpx1C3
>>480 はコンパイラの最適化を受けての発言でいわゆるaliasの問題の
ことを言っていると思われる
>>484 はコンパイラ関係ないFFIを持ち出してしったかをかます
>>485 がもっともなツッコミ
>>486 で上から目線で地面見てドやる

→キモイ

まとめてみました
2018/05/12(土) 00:31:38.38ID:5NKz3ewG
C / C++ はとりあえず OpenMP 相当のものを標準化して実装して欲しいわ
他の言語よりクライアント側で使うこと多いから1つ1つの処理もスケールさせたい
2018/05/12(土) 00:39:55.31ID:ioGXghPg
アルゴリズム変える以外に速くする方法なんてのは
結局倉庫番を上手く解くって話にしかならんわ。
2018/05/12(土) 00:48:56.95ID:R/twbybb
??
それアルゴリズムでは?
2018/05/12(土) 00:52:27.47ID:F3K2afGN
あーもうめちゃくちゃだよ
2018/05/12(土) 01:03:23.63ID:+7qwtmL0
なんかgoogle ioでwasmからdom操作できるようになるって話があったらしい。
2018/05/12(土) 01:04:46.62ID:iFoVhrV3
地獄の始まりじゃないでしょうね(震え)
2018/05/12(土) 01:13:51.18ID:8RYDCDzW
みんなアルゴリズムよりむしろデータ構造を変えたがる
CのポインタもJSのdomもデータ構造だろう
でもデータ構造を変えるのは速くするのが目的とは言ってないかも
2018/05/12(土) 01:38:25.14ID:5NKz3ewG
>>457
>On Xeon Thinkpad P50 with Ubuntu, compiled with gcc -O3 this runs about 15.3 ms ― more than 20% slower than haskell!

あんまり関係ないが
3年前のレッツノートRZ4の最下位モデル、
Core M-5Y10 ベースクロック0.8GHz で
Visual Srudio 2017 でコンパイルしたバイナリも
ちょうど 15.3ms だわ

2コア4スレッドのcpuなので openmp で 4並列にしたら5.7ms
2018/05/12(土) 08:55:56.45ID:ioGXghPg
>>496
いやメモリやレジスタにデータやコードを載せるタイミングの話なんだが。
「アルゴリズム」はもう少しソフトなレイヤーを指したつもり。
2018/05/12(土) 10:24:39.71ID:LrYQoKex
>>501
最適化上手く行けば0.2msぐらいになると思うで
i5-3550 で 0.08ms
2018/05/12(土) 10:28:01.57ID:LrYQoKex
>>498
reactが早くなるってか。
ようやく90年代のクラサバに追いつくなw
505デフォルトの名無しさん
垢版 |
2018/05/12(土) 10:32:35.98ID:TkoJoFTb
GoogleはSUNと同じ愚を犯してるように見える。
2018/05/12(土) 10:34:13.54ID:NuxM0Gnx
wasmのDOM実装は最初からロードマップに入ってる
2018/05/12(土) 10:46:00.14ID:+7qwtmL0
jsの出番が減るのか最近の仕様は好きなんだけどな。typescriptが直接wasm吐くようになってほしい
2018/05/12(土) 10:47:42.87ID:+7qwtmL0
>>505
sunはコンテナーをいち早く実現してたり
zfs出したり、先進的な企業だったよな。金が稼げなかったけど。
googleは金があるから問題ない
2018/05/12(土) 10:52:24.71ID:15xgRckc
>>507
Blazorに期待してる
2018/05/12(土) 10:55:45.44ID:Wuy9HJPF
JavaScriptからwasmへのコンパイルができるようになったら普及は速いんだろうけど、いつになるかなぁ。
そのころにはwasmのエコシステムも十分整備されてそう。
2018/05/12(土) 11:01:20.26ID:NuxM0Gnx
>>507
各種apiのリファレンス実装として続いてくんじゃないかとは思ってる
正直TS→wasmは期待しちゃうよね
2018/05/12(土) 11:13:10.47ID:+7qwtmL0
rustでwasm吐くとdom操作もメモリ効率が良い感じになるのだろうか。
個人的にはgoで全部できるようになりそうで嬉しい。

meteor.jsというのがあってね。コンセプト的にすごく良かったんだけどエコシステムがいろいろ終わってた。wasmでもう一度復活するかも
2018/05/12(土) 11:31:33.64ID:Gv6T+VfX
Rustでブラウザ本体を書き直す動きがJSの部分にまで広がる
ブラウザを作れない言語には速い遅いという以前の問題がある
2018/05/12(土) 13:14:14.79ID:LrYQoKex
>>508
思い出は美化されるね。
不便なコマンド、SysV系転向、長いことジャーナリング無し、ftpのlsがユーザのロケールでパース困難、NFSの進歩の遅さ、etc
罪を数えたらキリが無いよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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