X



Rust Part6
■ このスレッドは過去ログ倉庫に格納されています
0694デフォルトの名無しさん
垢版 |
2019/04/12(金) 22:57:15.59ID:mIeilXq5
本気で手を出したこと無いんだけど、そういうフレームワークをRustに持ってきて良い感じのabstractにできるの?
メモリとかリソースの確保のコードで見づらくなったりしない?
0695デフォルトの名無しさん
垢版 |
2019/04/15(月) 04:11:13.67ID:kujim5do
また今年のsurveyでもrustが一番好かれている言語になったな
rust好きなんだけど正直ここまで好かれる理由がわからない
0697デフォルトの名無しさん
垢版 |
2019/04/15(月) 23:32:54.91ID:skRRWxtn
ブロックがその最後の値を持つ式だというのはいい。
そして、式にセミコロンを付けると文になるというのもわかる。
でもその両者を混ぜるとあんな残念な文法に。
0698デフォルトの名無しさん
垢版 |
2019/04/17(水) 19:57:09.89ID:bfpXtPq4
c言語とどっちが性能高いの?
なんかRustの方が性能良いみたいなベンチがちょっとあるみたいだけど。
0699デフォルトの名無しさん
垢版 |
2019/04/17(水) 20:17:31.03ID:HMcbF5v1
>>697
> でもその両者を混ぜるとあんな残念な文法に。

その残念な文法は具体的にどこをどうすれば良い文法になるの?
0701デフォルトの名無しさん
垢版 |
2019/04/17(水) 21:04:06.60ID:MHZJUsOd
残念ってのはブロックの最後にセミコロンを付けちゃうと値を返せないってとこね。
>>697に書いたようにそれぞれ合理的な選択を組み合わせた結果だから解決策があるとは限らない。
ただ、式文はUnit型じゃなくて式の値を持つってことにするのは無理だったのかな。
0702デフォルトの名無しさん
垢版 |
2019/04/17(水) 22:11:49.04ID:zg2I5mVw
>>695
イヤでも使わなきゃならないのが優れた言語
嫌な奴はさっさと逃げ出して残った少数にもてはやされるのが(ru

>>698
ベンチの取り方も知らないみじく者にもてはやされるのが(ru
0703デフォルトの名無しさん
垢版 |
2019/04/18(木) 00:48:35.35ID:wChKEQpu
>>34の画像ってどこのサイトからもってきたの?
0705デフォルトの名無しさん
垢版 |
2019/04/21(日) 12:13:27.97ID:iFY66t+o
代入式の値はUnitでいいんじゃなかろうか。もともとCのような代入の連鎖はできないわけだし。
0706デフォルトの名無しさん
垢版 |
2019/04/21(日) 15:32:25.18ID:VjQgnkW7
https://play.rust-lang.org/?version=stable&;mode=debug&edition=2015&gist=765849a4e776e00b0c614fc941b02ecf
Defaultを実装してない構造体のフィールドのうちDefaultを実装してるフィールドだけまとめてdefault()で初期化するような記述方法は無いでしょうか?

イメージとしては
let s = S { nd: NonDefault::new( "foo" ), u: Default::default(), i: Default::default() } ;
の部分を
let s = S { nd: NonDefault::new( "foo" ), _: Default::default() } ;
のような形で書けないでしょうか
0708デフォルトの名無しさん
垢版 |
2019/04/21(日) 20:37:02.65ID:svG426BT
>>707
ありがとうございます、ただそれだとSomeOptionsがDefaultを実装している場合の記法ですよね?
(実際試してもthe trait bound `SomeOptions: std::default::Default` is not satisfiedとなります)

質問としてはSomeOptions自体はDefaultを実装していないけど、そのフィールドのうちDefaultを実装している型の値はまとめてdefault()で初期化したいってことなんですが…
0711デフォルトの名無しさん
垢版 |
2019/05/03(金) 23:38:25.91ID:OoY1JZ4j
κeenさんの所でもまだ出てないのに売れてるらしいと書かれてたけどどういう事なんアレ?
0716デフォルトの名無しさん
垢版 |
2019/05/05(日) 16:52:40.49ID:WKR1sgRA
>>715
え?どういう意味?
0718デフォルトの名無しさん
垢版 |
2019/05/05(日) 21:12:05.69ID:kwSPn12m
はい論破
0719デフォルトの名無しさん
垢版 |
2019/05/05(日) 21:34:31.13ID:9/Y+2Yss
メインでrust使ってる企業あったら入りたいもんだけど、実際使ってる企業あるの?
モダンな言語だとせいぜいGoとかelixirじゃない?
0721デフォルトの名無しさん
垢版 |
2019/05/06(月) 04:44:55.95ID:hWGbrmtu
人間からすれば強豪でも、予選落ちで強豪ソフトと呼ぶのは違う気もする
0722デフォルトの名無しさん
垢版 |
2019/05/19(日) 01:45:51.38ID:1MNuuHvp
Rustの本どんなもんかとアマゾンで見てみたら、
中華業者の星5レビューばっかで色々と察した
そもそもの話の言語自体が胡散臭いのも納得
0723デフォルトの名無しさん
垢版 |
2019/05/19(日) 07:53:59.58ID:tquD1oX1
ライフタイム引数のクソさはもうどうにもならんな。
変な省略ルールとかつけて逆に分かりづらくなるとか本末転倒もいいとこだ。
0726デフォルトの名無しさん
垢版 |
2019/05/20(月) 04:17:07.25ID:ljCiVFHi
https://ja.wikipedia.org/wiki/Rust_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)
>実行時速度性能はC言語と同等程度である[8]。

これマジ?
0727デフォルトの名無しさん
垢版 |
2019/05/20(月) 04:25:14.45ID:ljCiVFHi
こんな記事を見つけた

>Rustのコードを用いたこのためのテストの平均はCコードの実行したものの3.040倍と同じくらいだ。

>この関数により、我々はRustが平均的に2.036倍Cよりも遅いことを知った。

やはりCの方が速いな。省メモリという点でもCが一番だし
0728デフォルトの名無しさん
垢版 |
2019/05/20(月) 04:30:01.80ID:ljCiVFHi
>Rustが事実上Cよりも遅いままで終わってしまったという事実は、より落胆させられた。

>また、全体を通してRust言語は、
この手の高水準な完成されたシステムを作る手助けをすること、
そしてこの領域において少量の変更で効果的にCを置き換えることができることを示すことができた。

現状のRustはCを置き換えれないけど、
将来的な改善まで含めればできるはずだと主張してるな。。
0729デフォルトの名無しさん
垢版 |
2019/05/20(月) 08:44:28.91ID:VITeHWYT
鬼が笑うなw
実現してから言えとww
0730デフォルトの名無しさん
垢版 |
2019/05/20(月) 11:23:27.01ID:lwaSv1ZP
Cと同等はさすがに無理にしても、もう少しCに迫る性能が出ないと、C/C++から脱出したい人の受け皿にはなれないんじゃないか? あるいはCの2〜3倍遅い程度なら許容範囲内ということで割り切るしかないんだろうか。
0731デフォルトの名無しさん
垢版 |
2019/05/20(月) 11:55:14.56ID:tpa/cVpf
2015年の記事だぞ
0732デフォルトの名無しさん
垢版 |
2019/05/20(月) 11:56:49.92ID:VITeHWYT
それが許容できるならNim早く1.0になーれ
0734デフォルトの名無しさん
垢版 |
2019/05/20(月) 21:28:47.95ID:lEqHTAQ5
>>724
ライフタイムとムーブについてはそこまで複雑な概念ではないよ。
ライフタイムに対するシンタックスがヘンテコなだけで。
0735デフォルトの名無しさん
垢版 |
2019/05/20(月) 22:35:24.52ID:7ThundX2
RustでLinuxカーネルを書き直す時代はこなさそうだな
0736デフォルトの名無しさん
垢版 |
2019/05/20(月) 23:11:59.72ID:KADFzuXR
>>726,727
メモリを自分で面倒見る分とセキュリティチェック甘い分早いだけだからcでリージョン使ってメモリ管理して配列の境界チェックとかもすれば似たようなもんだ。
rustのpanicはきれいに落とすぞ。ただ、ランタイムデカイ分とrust用のメタデータ含む分でフットプリントはcの方がいいと思う。

>>734
リージョン推論間違えるか効率悪い位ならリージョン指定させてほしい時はある。
0737デフォルトの名無しさん
垢版 |
2019/05/21(火) 09:41:15.53ID:BVi2WQ22
>>735
新しいOS作れば?
なんだったらAndroidみたいにLinuxの上に構築。
0738デフォルトの名無しさん
垢版 |
2019/05/21(火) 22:10:42.02ID:KjOgf3b2
それをRustでやってもCで書かれたOSを上回れないという話でしょ
0740デフォルトの名無しさん
垢版 |
2019/05/22(水) 06:22:56.65ID:jxnXPPAr
https://discourse.redox-os.org/t/redox-performance/966

まだ初期段階だから比較しないで、みたいな事言ってる

最終段階までいってもCを超えると思えないんだが
しかもLinuxは組み込みでも使われてるがそれはCが省メモリだからで
Rustが勝てる見込みは無いと思うんだがなあ
0741デフォルトの名無しさん
垢版 |
2019/05/22(水) 08:53:37.75ID:WBsAUgo4
原理的には負ける理由もないと思うけどな。
Cは基本ノーチェックで脆弱性が見つかったらチェック入れるのに対して
Rustはいろいろチェック入ってるのをunsafeで外してパフォーマンス上げていくから
最終的に同じところに収束する気がする。
まぁ途中段階とか未知の脆弱性を放置する前提なら勝てないんだけど。
0742デフォルトの名無しさん
垢版 |
2019/05/22(水) 18:27:00.47ID:DB7j5I8y
中華ステマ企業が今押せと言われてるイチオシの言語Rust使ってるやつおるん?
0744デフォルトの名無しさん
垢版 |
2019/05/22(水) 19:42:58.33ID:jxnXPPAr
そのサイトいっつも思うんだけどベンチマークの並べ方恣意的じゃない?
vs Cではmandelbrotが下の方にあるけど
vs Javaでは上から2番目

Rustが勝利している項目では太字だけど
Cが勝利している項目では太字にならない

vs C++では、5項目でRust勝利、5項目でC++勝利で互角なのに、
Rustだけ太字でしかもRustが勝利したベンチマークから並べられてる。

俺はそのサイト少しも信用してない
0745デフォルトの名無しさん
垢版 |
2019/05/22(水) 19:44:17.01ID:jxnXPPAr
さらに言えば言語によって使用されるベンチマークがいつも違う。
勝たせたい言語のためにベンチマークを選択している可能性がある。

新手のマーケティングじゃないの?
0746デフォルトの名無しさん
垢版 |
2019/05/22(水) 19:50:53.32ID:KeZIkOEe
恣意的の意味するところがわからんけど
C++からだとRustに勝ったベンチマークだけ太字
C++が勝利したベンチマークから並べられるよ
使用されるベンチマーク云々はちょっとわからん
0749デフォルトの名無しさん
垢版 |
2019/05/22(水) 20:05:42.30ID:CFcQ0bqb
ソース公開されて比較的新しいコンパイラを使って測定されるbenchmarksgameは信頼ならなくて
2016年に書かれた中国語のブログにあったフィボナッチ数列のベンチマーク(ソース非公開)の方が冷静?
0750デフォルトの名無しさん
垢版 |
2019/05/22(水) 20:13:21.83ID:a23nlY2Z
rust推す人もステマする暇があったらrust dockerでも実装すりゃいいのに。
性能と安全性でいえばgoの実装以上のものができるんでしょ?
0751デフォルトの名無しさん
垢版 |
2019/05/22(水) 20:16:34.45ID:jxnXPPAr
中華ステマ企業がって話があったから中国語圏でどうなのかなと思って調べただけ

あとそのサイトを信じるなら、5項目でRust勝利、4項目でC勝利で、
RustがCより速いという事になる。
その結論は信じがたい。
0754デフォルトの名無しさん
垢版 |
2019/05/22(水) 22:46:43.42ID:Nk05W5oy
rustで書かれたコンテナエンジンはオラクルが作ってたろ
goのgcによるボトルネックがひどすぎるとかで

速度のベンチマークなんてほとんど意味ないだろ
生産性のがはるかに大切
0755デフォルトの名無しさん
垢版 |
2019/05/22(水) 23:01:26.69ID:O9oZmprM
n-bodyのソースとか見ればわかると思うけど、メモリレイアウトとかSIMDとかほぼCと同等まで詰めてあるから、Cに勝っても何の不思議もない。
実質gccとllvmの最適化対決って感じでは。

Arena使って素朴に書かれたbinary-treesが勝ってるのは結構すごいと思う。
0757デフォルトの名無しさん
垢版 |
2019/05/23(木) 00:44:51.06ID:XE3IbYhD
そりゃ互換実装なんてよっぽどメリットがないと使われないでしょ。
railcarは完全互換ですらなかったし。

firecrackerとかlucetみたいな独自路線の方がまだ見込みあるんじゃない?
0758デフォルトの名無しさん
垢版 |
2019/05/23(木) 02:30:59.97ID:srO5/BaD
googleに中国人社員どれくらい居るんやで
0762デフォルトの名無しさん
垢版 |
2019/05/24(金) 06:57:29.74ID:6k1VAzLg
GitHub’s Top 100 Most Valuable Repositories Out of 96 Million
ttps://hackernoon.com/githubs-top-100-most-valuable-repositories-out-of-96-million-bb48caa9eb0b
rust 5位だてよ
0763デフォルトの名無しさん
垢版 |
2019/05/24(金) 19:43:59.31ID:SKAR+TzM
ランキングもベンチマークもいくらでも恣意的に操作できる

実際に製品としてどんくらい世に出たかが全てだけど
Rustはどこの企業も口を揃えて「内部実装で使ってます」って言うだけで
動いてるコードを見たことがない
0765デフォルトの名無しさん
垢版 |
2019/05/24(金) 21:38:08.75ID:fWrnlZuD
AWS https://github.com/firecracker-microvm/firecracker
Fastly https://github.com/fastly/lucet
Dropbox
Microsoft https://github.com/Azure/iotedge https://github.com/dropbox?utf8=%E2%9C%93&;q=&type=&language=rust
Intel https://github.com/intel?utf8=%E2%9C%93&;q=&type=&language=rust
Cloudflare https://github.com/cloudflare?utf8=%E2%9C%93&;q=&type=&language=rust

恣意的に集めてみたけど使ってる証拠にはなれないんだな
0768デフォルトの名無しさん
垢版 |
2019/05/25(土) 01:14:49.01ID:c9gXCl3D
プロダクトがあるか無いかより、「xxxで作ってたものをrustで作り直したよ!」って話が多いのが気になる
既存の作り直しよりも新規性のある何かが出来て、それを皆が使いたくなって言語が広まるってのが普通だと思ってる
(goならdockerとか)
rustでそういうのがまだ見えないのはちょっと嫌な感じはしてる
0769デフォルトの名無しさん
垢版 |
2019/05/25(土) 01:27:20.73ID:ebypXKY1
もともとC++は辛いので作り直せる言語を作ろう
だからしょうがないんじゃない
0770デフォルトの名無しさん
垢版 |
2019/05/25(土) 04:03:12.09ID:7xSHCXjA
C++はまだ進化中(複雑化中)だし、C++使ってる分野では特に移行する必要がないというか
0771デフォルトの名無しさん
垢版 |
2019/05/25(土) 15:49:15.59ID:7Hh+Cor8
Rustは学習を終えたとしてC++より開発効率良いの?
0772デフォルトの名無しさん
垢版 |
2019/05/26(日) 15:37:50.13ID:S6mo90yn
>>768
重箱の隅で申し訳ないが、Goなのはk8sだと思う

Rustでキラーアプリ出ないのはある意味当然で
そういうものって未完成でもとりあえずぶち上げてコンセプト見せないと流行らないんだが
Rustって真逆で完璧に作らないと動かない言語だから
キラーアプリの作成とそもそも相性が悪い
0773デフォルトの名無しさん
垢版 |
2019/05/26(日) 18:38:24.59ID:WPYlQOyC
つまりrustで作られたものは完全無欠ってこと?
そんなばかな

そもそもなんでメジャーな採用事例を気にする必要があるの?
自分が作ってるプロダクトがrustと相性がよければ使えばいいだけじゃん
0774デフォルトの名無しさん
垢版 |
2019/05/26(日) 18:55:54.46ID:3AFdRATm
キラーアプリってあれか
RubyがRailsで人気爆発あるいは
ディープラーニングやるならPython
みたいな話期待してるのか?
0776デフォルトの名無しさん
垢版 |
2019/05/26(日) 19:12:42.72ID:E6uVt8Ff
そもそもキラーアプリが言語の普及に影響したのってRailsくらいだと思うけど。
別にdockerやk8sのユーザがgoで実装しなければならないってことはないでしょ。
0777デフォルトの名無しさん
垢版 |
2019/05/26(日) 19:57:50.92ID:Suq0krAi
>>771
rustで学習を終えてc++で作るのが一番効率が良い。
つまり学習用と割り切ればかなり意味のある言語ではある。
0779デフォルトの名無しさん
垢版 |
2019/05/26(日) 21:40:26.71ID:HleLFBX2
Kotlinもよろしく
0780デフォルトの名無しさん
垢版 |
2019/05/26(日) 21:46:53.56ID:hZzGqJJq
C++で痛い目にあってからRust覚えた後にC++の最新verに戻るのが最適解

じゃないとRustの諸々の安全装置がなぜあるか理解し難く面倒臭いだけと思われてしまう
0781デフォルトの名無しさん
垢版 |
2019/05/27(月) 11:56:38.15ID:tPZ1hzXK
C++に戻るつもりが戻れなくなってしまったな。
最新ならC++の言語機能には特に不満はないけど、標準のテスト・ビルドツール・パッケージマネージャがないのが辛すぎる。
戻った人たちはその辺どうしてるんだろう…。
0782デフォルトの名無しさん
垢版 |
2019/05/27(月) 12:07:35.18ID:cl2rg6uY
困ってない
標準にこだわる理由は?
0783デフォルトの名無しさん
垢版 |
2019/05/27(月) 12:32:08.94ID:tPZ1hzXK
いろんなOSSを触ってるとプロジェクト毎に独自の流儀で、それぞれにいちいち合わせるのが面倒だし、
新規プロジェクトでも何を採用するかで悩む。
別に標準化とかされなくてもデファクトスタンダードが一つに決まってれば十分なんだけど。
0784デフォルトの名無しさん
垢版 |
2019/05/27(月) 23:24:40.87ID:PQS6vJwK
C++とくらべりゃRustのほうがスッキリしてるやろ
Cのほうがもっとスッキリしてるけど
0786デフォルトの名無しさん
垢版 |
2019/05/28(火) 03:03:23.56ID:pxWVGMCU
> 標準のテスト・ビルドツール・パッケージマネージャ

最近のプログラミング言語はそれぞれがこのシステム作るよな
言語を超えた協調もなく
0787デフォルトの名無しさん
垢版 |
2019/05/28(火) 06:25:30.00ID:lNkGbIeC
意味わからない
どゆこと?
0788 ◆QZaw55cn4c
垢版 |
2019/05/28(火) 08:13:08.53ID:XzgLa2KY
>>786
そりゃ、ライブラリの名前だけでも共用すればいいのに、と思いますがそれもできていないし…
0789デフォルトの名無しさん
垢版 |
2019/05/28(火) 08:55:39.10ID:BCLUylsF
なんの意味が??
■ このスレッドは過去ログ倉庫に格納されています

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