Mozillaがリリースした、プログラミング言語「Rust」について語るスレです。
http://www.rust-lang.org/
https://github.com/rust-lang/rust
Servo
https://servo.org/
https://github.com/servo/servo
◆前スレ
プログラミング言語 Rust 2
http://echo.2ch.net/test/read.cgi/tech/1478023960
プログラミング言語 Rust 3 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
2017/05/21(日) 14:04:29.55ID:9L9dm7b/898デフォルトの名無しさん
2017/10/01(日) 00:42:35.99ID:5jXWEgsq >>897
設計の変更って具体的に何を変えたの?マルチスレッドに強いとか?gpuぜんていとか?
設計の変更って具体的に何を変えたの?マルチスレッドに強いとか?gpuぜんていとか?
899デフォルトの名無しさん
2017/10/01(日) 23:58:38.97ID:HtGiOKW4 >>898
HTMLの描画周りがマルチスレッド前提になっただけよ。
シングル前提でやるとHTML/CSSパース、DOM構築で同期取りまくりが減っただけ。
うちのmem 4g, 2core環境だとハードが足引っ張ってたから多分mem 8g, 4coreくらい要ると思う。
ここ数年のロースペックマシン以上が恩恵受けるんじゃ?
gpu前提はwebrenderだからまだ入ってないんじゃない。
HTMLの描画周りがマルチスレッド前提になっただけよ。
シングル前提でやるとHTML/CSSパース、DOM構築で同期取りまくりが減っただけ。
うちのmem 4g, 2core環境だとハードが足引っ張ってたから多分mem 8g, 4coreくらい要ると思う。
ここ数年のロースペックマシン以上が恩恵受けるんじゃ?
gpu前提はwebrenderだからまだ入ってないんじゃない。
900デフォルトの名無しさん
2017/10/02(月) 00:20:10.84ID:cuHSEpt/ あ、悪い。webrenderもう入ってるわ。
webrenderとstyloが入ってるからもうマルチスレッドにgpu前提。
webrenderとstyloが入ってるからもうマルチスレッドにgpu前提。
901デフォルトの名無しさん
2017/10/02(月) 11:21:20.04ID:pqkzvat0 Firefox爆速化件だけど、あのタイミングでRust化してればRustにも一気に注目集まったのにな。
もったいないな。
もったいないな。
902デフォルトの名無しさん
2017/10/02(月) 14:16:58.24ID:5q9eN7RZ w3mの代替になるコンソールブラウザがほしいところ
903デフォルトの名無しさん
2017/10/04(水) 00:06:33.86ID:eeE5kOTG lynks、links、EWW(Emacs)ではいかんかった?
904デフォルトの名無しさん
2017/10/04(水) 01:21:42.46ID:Eb49UXKr それよりAmayaの後継をwhatwgに作って欲しい
905デフォルトの名無しさん
2017/10/04(水) 09:33:38.58ID:xy+7bXnG >>901
cssはrustになったんだよね?
cssはrustになったんだよね?
906デフォルトの名無しさん
2017/10/04(水) 17:45:04.59ID:U/p5CYqb FizzBuzz を無駄にベンチマークしてみた By Nim、golang、Rust、Crystal、その他
http://wolfbash.hateblo.jp/entry/2017/07/25/232027
http://wolfbash.hateblo.jp/entry/2017/07/25/232027
907デフォルトの名無しさん
2017/10/04(水) 19:54:27.21ID:eSRFZM0D なんというか、、参考にならないベンチマークだな。
908デフォルトの名無しさん
2017/10/04(水) 23:17:46.14ID:aUT+fN/H 参考になるベンチマーク教えてくれ
909デフォルトの名無しさん
2017/10/05(木) 00:04:55.49ID:NTKdykpp http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=knucleotide
ここの諸々
久しぶりに見たらC gccがついに抜き返しててワロタ
C言語、頑張ったじゃん
ここの諸々
久しぶりに見たらC gccがついに抜き返しててワロタ
C言語、頑張ったじゃん
910デフォルトの名無しさん
2017/10/05(木) 01:11:32.12ID:froF/tdj >>909
6パターンだった頃は全部実行出来てたけど速度はバラバラでたしか#5が最速でC言語より速かった
きっと最適化を人間が制御するのは難しくて頑張らないとJavaやC#にも勝てない
現在7パターンあるけど4つがmake errorになるくらい言語仕様が不安定
実に参考になる
6パターンだった頃は全部実行出来てたけど速度はバラバラでたしか#5が最速でC言語より速かった
きっと最適化を人間が制御するのは難しくて頑張らないとJavaやC#にも勝てない
現在7パターンあるけど4つがmake errorになるくらい言語仕様が不安定
実に参考になる
911デフォルトの名無しさん
2017/10/05(木) 02:42:46.62ID:e0oopfTd >>909
mem順にしてもgz順にしてもcpu順にしてもD言語出てこないの悲しいな
mem順にしてもgz順にしてもcpu順にしてもD言語出てこないの悲しいな
912デフォルトの名無しさん
2017/10/05(木) 04:56:45.53ID:ovcMkddr d言語のメリットって何?
913デフォルトの名無しさん
2017/10/05(木) 06:07:45.62ID:eC/9GoxN C++ではないこと
914デフォルトの名無しさん
2017/10/05(木) 09:06:46.27ID:NTKdykpp915デフォルトの名無しさん
2017/10/05(木) 10:18:07.23ID:KYi0aOcC RustもJavaも血反吐吐くほど最適化してるんじゃないの?
ポインタ扱いにくい言語でそれやると逆にコードが汚くなるから、
C言語よりも酷いコードになってるかもしれんよ。
ポインタ扱いにくい言語でそれやると逆にコードが汚くなるから、
C言語よりも酷いコードになってるかもしれんよ。
916デフォルトの名無しさん
2017/10/05(木) 10:41:40.98ID:j9fazbko unsafe使ったらRustは更に早くなるのか・・・胸熱
取り敢えず、各コードを読んでから批評してはどうか
本家Rust Teamが改修して今のスコアだけど
彼らが直したのはI/Oにバッファ使おうぜってだけでそこまで変態的じゃないのよね
matchやmap, iterでクロージャー多用してるけど最適化コンパイルしたらif, forで書くのと同じ処理になるし
Option.mapは関数コールがあるから重たいかなと以前調べたら
LLVM中間コードの時点でインラインのif分岐(goto文)に展開されてベタコードと同じになるのかよと考えるのやめた
取り敢えず、各コードを読んでから批評してはどうか
本家Rust Teamが改修して今のスコアだけど
彼らが直したのはI/Oにバッファ使おうぜってだけでそこまで変態的じゃないのよね
matchやmap, iterでクロージャー多用してるけど最適化コンパイルしたらif, forで書くのと同じ処理になるし
Option.mapは関数コールがあるから重たいかなと以前調べたら
LLVM中間コードの時点でインラインのif分岐(goto文)に展開されてベタコードと同じになるのかよと考えるのやめた
917デフォルトの名無しさん
2017/10/05(木) 11:26:31.98ID:291DnPVM918デフォルトの名無しさん
2017/10/05(木) 12:31:31.21ID:mvbuHBBx ぼくも同じこと思った…
919デフォルトの名無しさん
2017/10/05(木) 12:49:03.43ID:i3OOJkl5 Javaは実行時最適化がはまれば速い感じ
でも、カリカリにチューニングされたJavaコードは、クラスをあまり使わずArrayだらけだっりしてつらい
でも、カリカリにチューニングされたJavaコードは、クラスをあまり使わずArrayだらけだっりしてつらい
920デフォルトの名無しさん
2017/10/05(木) 17:58:39.05ID:DY6JRVMF rlsもっと頑張って
replも提供して😭
replも提供して😭
921デフォルトの名無しさん
2017/10/05(木) 18:51:45.79ID:BHTkAY6s C言語の __func__ みたいなの無いのかよ〜
922デフォルトの名無しさん
2017/10/05(木) 23:04:07.77ID:arvYOnSy Javaやら.NET等のJIT系言語は速い速い言われるけど実際のアプリケーションでその速さを体感できたことは一度もないや・・・
923デフォルトの名無しさん
2017/10/05(木) 23:35:19.66ID:AzAoa99L >>909
rust#7はrayon使ってるから中身はcocoとfutureか。
ライブラリが頑張ってzero cost抽象化が効いてる感じかね。
javaはもうちょっと早くなるんだけどなぁ。
これ以上やるとjitとライブラリに丸投げして素直なコード書くことに
専念できなくなるからやりたくない感じ。
将来的にはconst arrayと、勝手にSIMD使ってもうちょっとマシになるかな。
>>919
連続してることが保証されないからカリカリにチューニングする時は配列には頼らないよ。
nio buffer使うことはあるけど。unsafe使わずに配列確保すると0クリアされて無駄に遅いし。
仮想関数テーブルなくしたほうが速いからメソッド検索>invokestaticのコストの時staticに変えるとか、
動的ディスパッチ自分で実装するときにconstant specific class bodyとtable switch組み合わせるとか。
>>921
ないけどrpすればすぐに入りそう。
rust#7はrayon使ってるから中身はcocoとfutureか。
ライブラリが頑張ってzero cost抽象化が効いてる感じかね。
javaはもうちょっと早くなるんだけどなぁ。
これ以上やるとjitとライブラリに丸投げして素直なコード書くことに
専念できなくなるからやりたくない感じ。
将来的にはconst arrayと、勝手にSIMD使ってもうちょっとマシになるかな。
>>919
連続してることが保証されないからカリカリにチューニングする時は配列には頼らないよ。
nio buffer使うことはあるけど。unsafe使わずに配列確保すると0クリアされて無駄に遅いし。
仮想関数テーブルなくしたほうが速いからメソッド検索>invokestaticのコストの時staticに変えるとか、
動的ディスパッチ自分で実装するときにconstant specific class bodyとtable switch組み合わせるとか。
>>921
ないけどrpすればすぐに入りそう。
924デフォルトの名無しさん
2017/10/06(金) 00:32:27.39ID:ckjydJIo925デフォルトの名無しさん
2017/10/06(金) 00:59:19.34ID:PVLgxPLf Dは仕様変更が多すぎた
926デフォルトの名無しさん
2017/10/06(金) 01:12:44.86ID:aJzo16CX >>923
javaの配列って連続領域の保証されてないの?
javaの配列って連続領域の保証されてないの?
927デフォルトの名無しさん
2017/10/06(金) 11:58:56.15ID:R7tcOQE1 スレチだけど、JVMの実装仕様なんてベンダー依存でしょ, OracleとGoogleでも当然違うわ
928デフォルトの名無しさん
2017/10/06(金) 22:14:03.16ID:aJzo16CX だから言語として仕様化されてないの?ってことだろ。
c++だって実装バラバラだけど連続領域な仕様だろ。
c++だって実装バラバラだけど連続領域な仕様だろ。
929デフォルトの名無しさん
2017/10/06(金) 22:51:58.93ID:R7tcOQE1 Cはポインタ I/F仕様に引きづられて配列仕様も必然として明確にせざる得ないからでしょ
JVMはbyte codeの解釈さえあってれば良くて、データ操作の実装仕様は知るかよって話だよ
VM上では連続領域に見せかけても、実態は数チャンクに分けた配列の持ち方だってあろうよ
JVMはbyte codeの解釈さえあってれば良くて、データ操作の実装仕様は知るかよって話だよ
VM上では連続領域に見せかけても、実態は数チャンクに分けた配列の持ち方だってあろうよ
930デフォルトの名無しさん
2017/10/07(土) 00:56:21.68ID:OPYXFct1 いやだから、データ構造としての「配列」のデータ操作の時間空間コストと
実装がズレてたらそれはもう「配列」じゃないから
実装がズレてたらそれはもう「配列」じゃないから
931デフォルトの名無しさん
2017/10/07(土) 02:30:16.92ID:tD6GhHlF 一般的に配列と呼ばれるオブジェクトがメモリアドレス上でも断片化しないことを保証される処理系ってほとんど無いのでは?
ミュータブルオブジェクトへ要素を継ぎ足していったらコードからは連続的に見えてもメモリ配置は断片化するだろう
ミュータブルオブジェクトへ要素を継ぎ足していったらコードからは連続的に見えてもメモリ配置は断片化するだろう
932デフォルトの名無しさん
2017/10/07(土) 04:32:31.86ID:OPYXFct1 「要素を継ぎ足していったら」がそもそもオカシイ
要素継ぎ足せるのはそもそも配列じゃなくてロープかなんかだから
要素継ぎ足せるのはそもそも配列じゃなくてロープかなんかだから
933デフォルトの名無しさん
2017/10/07(土) 08:20:38.57ID:PzpAWNqF 配列の要件ってインデックスで要素にアクセスすることくらいじゃないの?
要素のポインタをとって操作できる言語以外は実際の記憶領域が連続かそうでないか
判断する術はないと思うが。
要素のポインタをとって操作できる言語以外は実際の記憶領域が連続かそうでないか
判断する術はないと思うが。
934デフォルトの名無しさん
2017/10/07(土) 08:39:14.98ID:rgSj2Elc ポインタ操作だって処理系依存でどんな変態実装も理論上はあり得ると思うけど
C/C++の仕様を調べる気力がない
C/C++の仕様を調べる気力がない
935デフォルトの名無しさん
2017/10/07(土) 09:54:16.89ID:h9TjUWM8936デフォルトの名無しさん
2017/10/07(土) 12:18:14.74ID:bipqd+gM 配列だとインデックスのアクセスにO(1)を期待してるが
それが保証できるのかという話じゃないの
それが保証できるのかという話じゃないの
937デフォルトの名無しさん
2017/10/07(土) 12:27:49.68ID:FDovMcEa938デフォルトの名無しさん
2017/10/07(土) 12:40:30.10ID:efrwvuZ0 チューニングで気にするのはメモリ配置よりCPUキャッシュに乗るかどうかでは
そのとき配列のサイズが気にされるというだけで
そのとき配列のサイズが気にされるというだけで
939デフォルトの名無しさん
2017/10/07(土) 12:44:02.10ID:bipqd+gM940デフォルトの名無しさん
2017/10/07(土) 12:59:08.16ID:PzpAWNqF データ構造としての「配列」と言語機能としての配列は別の話だから。
941デフォルトの名無しさん
2017/10/07(土) 14:30:31.33ID:bipqd+gM O(1)でもO(n)でも a[i]と書けるなら配列だって感覚?
そう考えるのは自由だがまともな話はできなさそうだな。
そう考えるのは自由だがまともな話はできなさそうだな。
942デフォルトの名無しさん
2017/10/07(土) 15:00:19.40ID:FL3S/Goc Rustの話はないんでしょうか
943デフォルトの名無しさん
2017/10/07(土) 16:04:55.47ID:+/+oWVUp そんなの処理系によるわ
動作は変わらないからどうでもいい
動作は変わらないからどうでもいい
944デフォルトの名無しさん
2017/10/07(土) 17:48:20.09ID:M+fCWBh9 JavaScriptのArrayを配列と呼ぶのは間違いだ!
と吠えている人がいますね
と吠えている人がいますね
945デフォルトの名無しさん
2017/10/07(土) 19:34:14.94ID:efrwvuZ0 そんなに気になるならソース見に行けで終わり
946デフォルトの名無しさん
2017/10/07(土) 20:58:38.51ID:PTRnmd1t >>941
逆にちゃんとした定義ってあるの?
逆にちゃんとした定義ってあるの?
947デフォルトの名無しさん
2017/10/08(日) 00:52:44.13ID:riNh/ezn >>943
>そんなの処理系によるわ
>動作は変わらないからどうでもいい
オーダーの違いはまさに動作の違い
> JavaScriptのArrayを配列と呼ぶのは間違いだ!
> と吠えている人がいますね
データ構造としての配列じゃないのはそうだろ
配列じゃなくてハッシュマップですよねー
というのがマトモなCS出身者の反応
>そんなの処理系によるわ
>動作は変わらないからどうでもいい
オーダーの違いはまさに動作の違い
> JavaScriptのArrayを配列と呼ぶのは間違いだ!
> と吠えている人がいますね
データ構造としての配列じゃないのはそうだろ
配列じゃなくてハッシュマップですよねー
というのがマトモなCS出身者の反応
948デフォルトの名無しさん
2017/10/08(日) 07:38:16.10ID:whyFhQ9X949デフォルトの名無しさん
2017/10/08(日) 08:29:08.64ID:Eg4i3QFB >データ構造としての配列じゃないのはそうだろ
>配列じゃなくてハッシュマップですよねー
結局、それまで展開していたオーダー云々の論理はどっかにやって
「配列じゃないものは配列じゃない」ってかw
>配列じゃなくてハッシュマップですよねー
結局、それまで展開していたオーダー云々の論理はどっかにやって
「配列じゃないものは配列じゃない」ってかw
950デフォルトの名無しさん
2017/10/08(日) 09:02:22.19ID:p8wkQapI ポインタの値が連続でも実メモリ空間のアドレスは連続とは限らないし
そのあたりのアドレスの連続性の抽象化をOSでやるか言語の処理系でやるかの違いと思えば
配列の要素の仮想メモリ空間でのアドレスが必ずしも連続ではない言語処理系があっても良いと思う
そのあたりのアドレスの連続性の抽象化をOSでやるか言語の処理系でやるかの違いと思えば
配列の要素の仮想メモリ空間でのアドレスが必ずしも連続ではない言語処理系があっても良いと思う
951デフォルトの名無しさん
2017/10/08(日) 09:38:42.04ID:whyFhQ9X >>949
配列とは、連続領域で確保されO(1)でアクセス可能なものと(俺の中で)定義する
それ以外の仕様、実装による配列は配列とは認めない
という論理で一応オーダー云々も彼の中では含まれてるんじゃないかな
ポインタのポインタで配列を設計したら、それはもうハッシュであり配列ではない的なことも言ってるし
多数の言語仕様, 言語処理系で配列ではないものが配列として扱われてて大変そうだなって思うね:D
配列とは、連続領域で確保されO(1)でアクセス可能なものと(俺の中で)定義する
それ以外の仕様、実装による配列は配列とは認めない
という論理で一応オーダー云々も彼の中では含まれてるんじゃないかな
ポインタのポインタで配列を設計したら、それはもうハッシュであり配列ではない的なことも言ってるし
多数の言語仕様, 言語処理系で配列ではないものが配列として扱われてて大変そうだなって思うね:D
952デフォルトの名無しさん
2017/10/08(日) 10:03:07.61ID:W71T9805 JSのArrayは配列じゃなくてリスト
TypedArrayが配列
メモリが連続化を気にするとかどれだけ低レベルな言語使ってるんだ
インターフェイスが同じなら実装とかどうでもいい
老害かよ
TypedArrayが配列
メモリが連続化を気にするとかどれだけ低レベルな言語使ってるんだ
インターフェイスが同じなら実装とかどうでもいい
老害かよ
953デフォルトの名無しさん
2017/10/08(日) 10:54:24.49ID:T4FplNPL データ構造の読み書きのオーダーも仕様の内だけど、メモリ上のレイアウトまで仕様という考えはマイナーじゃない?
アドレスを当然のように明示的に扱う言語だと当然の範疇かもしれんし情報として提供して欲しいけど、そうでない言語ならn番目の要素へのアクセスがO(1)であれば配列でいい
で、Rustはアドレス直触りは可能だけど普通はやらない。Cみたいに構造体のメモリ上の表現がはっきり決まってるわけでもないし
アドレスを当然のように明示的に扱う言語だと当然の範疇かもしれんし情報として提供して欲しいけど、そうでない言語ならn番目の要素へのアクセスがO(1)であれば配列でいい
で、Rustはアドレス直触りは可能だけど普通はやらない。Cみたいに構造体のメモリ上の表現がはっきり決まってるわけでもないし
954デフォルトの名無しさん
2017/10/08(日) 15:41:19.83ID:EDHW4lpZ955デフォルトの名無しさん
2017/10/08(日) 18:42:51.40ID:4PvrPlQX そろそろRustの話に戻してくれ
956デフォルトの名無しさん
2017/10/08(日) 18:57:23.11ID:riNh/ezn array data structure でググるさま
957デフォルトの名無しさん
2017/10/08(日) 20:18:32.63ID:whyFhQ9X958デフォルトの名無しさん
2017/10/09(月) 00:25:52.32ID:KLfOKOYK959デフォルトの名無しさん
2017/10/09(月) 00:29:02.79ID:KLfOKOYK960デフォルトの名無しさん
2017/10/09(月) 00:30:54.57ID:KLfOKOYK >>953
Rustがそういう態度だと言うのなら、C/C++の代わりには使えないなぁ
Rustがそういう態度だと言うのなら、C/C++の代わりには使えないなぁ
961デフォルトの名無しさん
2017/10/09(月) 01:24:12.13ID:EU3MdReC >>953
システムレベル言語でそれは無い
システムレベル言語でそれは無い
962デフォルトの名無しさん
2017/10/09(月) 07:09:58.47ID:HQb3QT54 https://play.rust-lang.org/?gist=9e8a69e064b98d48c48e237d87d005a1&version=nightly
これ、少し前の nightly-2017-09-15-x86_64-apple-darwin だと通るのに、
最新の nightly だと conflicting implementations を起こすな。
rustup update したら急にビルドに失敗して驚いた。
これ、少し前の nightly-2017-09-15-x86_64-apple-darwin だと通るのに、
最新の nightly だと conflicting implementations を起こすな。
rustup update したら急にビルドに失敗して驚いた。
963デフォルトの名無しさん
2017/10/09(月) 08:32:46.93ID:/FMCjJgs nightlyが仕様変更したりバグったりするのを逐一驚いてたら大変じゃない?
964デフォルトの名無しさん
2017/10/09(月) 09:00:12.81ID:CsWYGxTc >>958
もともと配列やその他のデータ構造からインターフェースのみ抽出したものがコンテナなんで、
それを言語仕様の側からは単に配列と称していることはあるだろう。
仮にそれを認めないとしても、元の質問の「JVMの配列は連続しているか」が「JVMのコンテナ(?)は
連続しているか」になるだけ。
もともと配列やその他のデータ構造からインターフェースのみ抽出したものがコンテナなんで、
それを言語仕様の側からは単に配列と称していることはあるだろう。
仮にそれを認めないとしても、元の質問の「JVMの配列は連続しているか」が「JVMのコンテナ(?)は
連続しているか」になるだけ。
965デフォルトの名無しさん
2017/10/09(月) 10:26:26.16ID:EKQlpQJF いるなぁC++のプロジェクトでarrayで十分なところに無駄にmap使いまくるやつ
おっさんプログラマとしては看過できないんだが(少なくとも仕事では)
これが時代なんだろうか
おっさんプログラマとしては看過できないんだが(少なくとも仕事では)
これが時代なんだろうか
966デフォルトの名無しさん
2017/10/09(月) 11:43:46.40ID:iPiyLv0T なにか問題でも?
967デフォルトの名無しさん
2017/10/09(月) 14:35:43.67ID:y6Coq1tU メモリコスト、CPUコストについて定量的に説明できるかな
968デフォルトの名無しさん
2017/10/09(月) 14:47:42.14ID:5Wk6yJf6 自分もどちらかと言えば効率厨のつもりだけど
実行コストと可読性が大差ないなら好きな方を使えばいいと思う
実行コストと可読性が大差ないなら好きな方を使えばいいと思う
969デフォルトの名無しさん
2017/10/09(月) 15:19:06.41ID:ICZ1WqoM コンテナ使うとコストが見えにくくてよく分からん
970デフォルトの名無しさん
2017/10/09(月) 17:24:05.08ID:65lUV9pA さすがに array と map ではアルゴリズム自体違うわけだしそれはなしだろ。
971デフォルトの名無しさん
2017/10/09(月) 18:49:17.20ID:GUc1DOLO Vec<f32> を Vec<f64>に変換したいのですがどうしたらいいでしょうか?
やりたいのは
&[f64]を引数として受け取る関数にVec<f32>の内容を渡したいのですが。
やりたいのは
&[f64]を引数として受け取る関数にVec<f32>の内容を渡したいのですが。
972デフォルトの名無しさん
2017/10/09(月) 20:31:04.63ID:2SZ05bPF https://play.rust-lang.org/?gist=0cd6e0b3f8c028d720b6936505df6c9b&version=undefined
受け取る関数がTraitでf32, f64を受けろと思うけど、外部ライブラリで作ってるなら仕方ないんだろうよ
受け取る関数がTraitでf32, f64を受けろと思うけど、外部ライブラリで作ってるなら仕方ないんだろうよ
973デフォルトの名無しさん
2017/10/09(月) 20:46:44.09ID:g5Xwcr4f974デフォルトの名無しさん
2017/10/11(水) 16:41:05.41ID:3w9jP5qe 色々あるんだろうけど、こんな一例
https://play.rust-lang.org/?gist=d00fb7f7041fce1649767ecf95bb936a&version=stable
AsRefとかIntoとかFromとか、なんかその辺調べたらいいんじゃないかなぁ
他人に公開する目的のpub fn以外で使うのはバイナリ容量増やす一因になるからいたずらには使いたくは無い(他人がする分には気にしない
ただまぁ、枯れたおっさんプログラマの感想であって、map, arrayの使い分けに口出すおっさんは同様に口出してくると思うので注意されたし
https://play.rust-lang.org/?gist=d00fb7f7041fce1649767ecf95bb936a&version=stable
AsRefとかIntoとかFromとか、なんかその辺調べたらいいんじゃないかなぁ
他人に公開する目的のpub fn以外で使うのはバイナリ容量増やす一因になるからいたずらには使いたくは無い(他人がする分には気にしない
ただまぁ、枯れたおっさんプログラマの感想であって、map, arrayの使い分けに口出すおっさんは同様に口出してくると思うので注意されたし
975デフォルトの名無しさん
2017/10/11(水) 17:46:13.24ID:6qFX/88z >>974
基本的に↓を使ってるんで、
https://docs.rs/alga/0.4.0/alga/general/trait.Real.html
これの
https://docs.rs/alga/0.4.0/alga/general/trait.SupersetOf.html
あたりを使えばいいんすかねぇ
基本的に↓を使ってるんで、
https://docs.rs/alga/0.4.0/alga/general/trait.Real.html
これの
https://docs.rs/alga/0.4.0/alga/general/trait.SupersetOf.html
あたりを使えばいいんすかねぇ
976デフォルトの名無しさん
2017/10/11(水) 20:18:32.35ID:SdSs/e3t rustって難しいって聞くけどどうなの?
数百行程度のcliツールとか作るのにも適してる?
数百行程度のcliツールとか作るのにも適してる?
977デフォルトの名無しさん
2017/10/11(水) 20:36:37.19ID:wUY7e6c6 借用やライフタイムを理解できない内は難しいかもね。
978デフォルトの名無しさん
2017/10/11(水) 20:58:57.23ID:gwIT2xqO979デフォルトの名無しさん
2017/10/12(木) 09:41:32.32ID:cYUXFwFa >>975
RealがSupersetOf<f64>を継承してるから受け取る関数がf64を扱うならTrait Realを受ける形でも良さそう
Alga使ったことなくてどっちを使う方がスマートなのか分からんから、自分が取り回しやすいと思う形でどうぞ
RealがSupersetOf<f64>を継承してるから受け取る関数がf64を扱うならTrait Realを受ける形でも良さそう
Alga使ったことなくてどっちを使う方がスマートなのか分からんから、自分が取り回しやすいと思う形でどうぞ
980デフォルトの名無しさん
2017/10/13(金) 09:07:46.54ID:ZLjOYpzW Announcing Rust 1.21 - The Rust Programming Language Blog
https://blog.rust-lang.org/2017/10/12/Rust-1.21.html
めぼしい変更無し。
https://blog.rust-lang.org/2017/10/12/Rust-1.21.html
めぼしい変更無し。
981デフォルトの名無しさん
2017/10/13(金) 15:11:36.11ID:bp4APqrz Rustの話をしないRust板の住人
言語として形になってないから言語のことを話せないんだろうなぁ
直近もまともな更新ないし、世間の話題も下火だし
工作員さんもっと頑張らないといけませんよ(ハナホジ)
言語として形になってないから言語のことを話せないんだろうなぁ
直近もまともな更新ないし、世間の話題も下火だし
工作員さんもっと頑張らないといけませんよ(ハナホジ)
982デフォルトの名無しさん
2017/10/13(金) 17:39:13.20ID:xbVdueHZ tanakhのrustベタ褒めツイートでも列挙しようか
983デフォルトの名無しさん
2017/10/13(金) 17:40:12.67ID:+y/vofi6984デフォルトの名無しさん
2017/10/13(金) 17:44:57.66ID:PbP1JTIY じゃんじゃんクローンすればいいんだよ
性能に困ったときだけ再考すればいい
性能に困ったときだけ再考すればいい
985デフォルトの名無しさん
2017/10/13(金) 18:36:57.97ID:FAMCtm4a986デフォルトの名無しさん
2017/10/13(金) 18:45:29.22ID:RXIUnIoB ムーブセマンティクスをきちんと意識すれば借用はそこまで難しかないよね
まあそこでCの経験が却って邪魔になるところがあるわけだけど
まあそこでCの経験が却って邪魔になるところがあるわけだけど
987デフォルトの名無しさん
2017/10/13(金) 20:29:09.18ID:5Bkpm/HR QtをやったあとでもRustの有り難みって実感出来る?
988デフォルトの名無しさん
2017/10/13(金) 22:43:54.95ID:dC2M8380 borrowing というか mutable aliasing だけはやっぱり辛いなあ。
多くの場合 struct メンバの false sharing なんだよね…。
多くの場合 struct メンバの false sharing なんだよね…。
989デフォルトの名無しさん
2017/10/14(土) 14:12:57.17ID:VwleOtKV990デフォルトの名無しさん
2017/10/14(土) 17:39:51.15ID:uWD69LeP991デフォルトの名無しさん
2017/10/15(日) 14:37:51.04ID:WeNwPolS >>986
moveや借用は簡単なんだけど、その結果引き起こされる制限を回避していくのが面倒。
moveや借用は簡単なんだけど、その結果引き起こされる制限を回避していくのが面倒。
992デフォルトの名無しさん
2017/10/15(日) 17:36:12.11ID:GYZBU1+2 >>991
その「面倒」って感じるのがまさしくCの経験の負の遺産なわけよ
その「面倒」って感じるのがまさしくCの経験の負の遺産なわけよ
993デフォルトの名無しさん
2017/10/16(月) 10:08:35.93ID:ZoMoe7Af 脱出しようとして墜落してるのか
994デフォルトの名無しさん
2017/10/20(金) 00:44:35.87ID:2lESXdgM 994
995デフォルトの名無しさん
2017/10/20(金) 00:45:47.02ID:2lESXdgM 995
996デフォルトの名無しさん
2017/10/20(金) 00:46:13.27ID:2lESXdgM 996
997デフォルトの名無しさん
2017/10/20(金) 00:46:56.38ID:2lESXdgM 997
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 【サッカー】日本代表、FIFAランキング“4位”の強豪イングランドとの対戦が正式決定! 来年3月に聖地ウェンブリーで激突へ [久太郎★]
- 日本、G7への中国招待を懸念 議長国フランスに慎重な対応要請 [どどん★]
- ( ・᷄ὢ・᷅ )ケツ
- (´・ω・`)自治厨がいると大体その環境は滅びるよな
- 三石琴乃ちゃんとかいう若手美人声優
- パソコンでできる無料でおすすめのゲーム教えてくれ
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- ひまだねー
