Mozilla発のRust言語のスレ
公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
Web上の実行環境
https://play.rust-lang.org
前スレ
https://mevius.5ch.net/test/read.cgi/tech/1507970294/
Rust Part5
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/02/11(日) 20:07:24.54ID:ri7dLd1B786デフォルトの名無しさん
2018/06/30(土) 11:01:24.70ID:6fEIEQu0 ダブルポインタはあんま想定してなさげな気はする。
俺だったらもう一枚、インターフェイスかましてもう少し楽なインターフェイスにしてから
rustと繋げるわ。
俺だったらもう一枚、インターフェイスかましてもう少し楽なインターフェイスにしてから
rustと繋げるわ。
787デフォルトの名無しさん
2018/06/30(土) 11:27:27.95ID:BB0BPsjY 結局C/C++ある程度わかってないと話にならないよね。
経験ないやつはいきなりrust勉強してる場合ではない。
経験ないやつはいきなりrust勉強してる場合ではない。
788デフォルトの名無しさん
2018/06/30(土) 12:46:04.79ID:gEYLih9T コンパイルできないならまずプログラミングを勉強しなおしたほうがいいよ
789デフォルトの名無しさん
2018/06/30(土) 14:28:27.26ID:d1l1Trl+ FFIの話をrust全体の話に主語をでかくしてるおっさんがおるな
790デフォルトの名無しさん
2018/06/30(土) 16:28:11.02ID:oxrLiD+S FFIもrustの魅力の一つなのですが?
C/C++知らないやつはいつまでたってもrustを全て分かったことにならない
半人前のまま
別に必要なとこだけ使うスタンスでもいいけど半人前のクセにいっぱしのrustプログラマーヅラしないでね
C/C++知らないやつはいつまでたってもrustを全て分かったことにならない
半人前のまま
別に必要なとこだけ使うスタンスでもいいけど半人前のクセにいっぱしのrustプログラマーヅラしないでね
791デフォルトの名無しさん
2018/06/30(土) 16:34:04.77ID:WiulWXxB 昔はアセンブラ知らずにC++語るなとか言われてたが時代は変わったもんだな
792デフォルトの名無しさん
2018/06/30(土) 16:40:34.19ID:jlw7G6p9 結局どの言語を選べばいいのかわからなくなった
C++?Go?
C++?Go?
793デフォルトの名無しさん
2018/06/30(土) 17:06:44.52ID:NH6TT+Fu Coqを選べばいいと思うよ
794デフォルトの名無しさん
2018/06/30(土) 17:07:23.25ID:QJJEkoJ9 目的に合ったもの
やりたいものをやればいい
やりたいものをやればいい
795デフォルトの名無しさん
2018/06/30(土) 17:07:54.55ID:5+sKgUjT 迷うならGoでいいんでは。
796デフォルトの名無しさん
2018/06/30(土) 17:10:05.48ID:CMs/fWc6 Prolog
797デフォルトの名無しさん
2018/06/30(土) 17:38:54.49ID:RHrrdh8p rustを視野に入れながらgoという選択はない
kotkinかswiftかgoかってなら分かるけど
kotkinかswiftかgoかってなら分かるけど
798デフォルトの名無しさん
2018/06/30(土) 17:52:45.29ID:5+sKgUjT 分からないなら無理してrust使わなくていいって意味じゃろ
799デフォルトの名無しさん
2018/06/30(土) 18:08:54.39ID:9Q6R3Qzj800デフォルトの名無しさん
2018/06/30(土) 18:21:37.09ID:UB7qEnEv クロージャで再帰が出来ないのって所有権的な問題?
801デフォルトの名無しさん
2018/06/30(土) 18:24:45.75ID:cH9c2bse802デフォルトの名無しさん
2018/06/30(土) 18:38:35.11ID:cH9c2bse クロージャの再帰ってこれのこと?
recursion - Is it possible to make a recursive closure in Rust? - Stack Overflow
https://stackoverflow.com/questions/16946888/is-it-possible-to-make-a-recursive-closure-in-rust
recursion - Is it possible to make a recursive closure in Rust? - Stack Overflow
https://stackoverflow.com/questions/16946888/is-it-possible-to-make-a-recursive-closure-in-rust
803デフォルトの名無しさん
2018/06/30(土) 18:57:41.58ID:dTg1EP/S >>802
おー、できた
ありがとう
ローカル関数だと外部変数キャプチャできないし、クロージャだと再帰できないし、
同時にしたいときどうすんのかなーって思ってたから
そんなに使うこともないだろうけど、心に留めときます
おー、できた
ありがとう
ローカル関数だと外部変数キャプチャできないし、クロージャだと再帰できないし、
同時にしたいときどうすんのかなーって思ってたから
そんなに使うこともないだろうけど、心に留めときます
804デフォルトの名無しさん
2018/06/30(土) 22:59:14.25ID:pdhum8J2 >>785
ありがとう。なるほどそういう書き方もあるのか。確かに書き換わるので&mutの方が適切ですね
欲しいのはアドレスなのだからと単にアドレス演算子&を付けていました
unsafe外から任意のアドレスにあるデータへアクセスするにはその部分を関数化するようなのかな
一般的に言うプロパティの読み書きをプログラマブルに出来れば綺麗に書けるけど無理なんだろうなぁ
()無しの関数呼び出しとも言えるけどこれが出来る言語は少ない
ありがとう。なるほどそういう書き方もあるのか。確かに書き換わるので&mutの方が適切ですね
欲しいのはアドレスなのだからと単にアドレス演算子&を付けていました
unsafe外から任意のアドレスにあるデータへアクセスするにはその部分を関数化するようなのかな
一般的に言うプロパティの読み書きをプログラマブルに出来れば綺麗に書けるけど無理なんだろうなぁ
()無しの関数呼び出しとも言えるけどこれが出来る言語は少ない
805デフォルトの名無しさん
2018/06/30(土) 23:04:00.05ID:BB0BPsjY 相変わらず驚き最大の言語だな
806デフォルトの名無しさん
2018/07/01(日) 07:43:42.19ID:XZ+Fcjv4807デフォルトの名無しさん
2018/07/01(日) 08:30:53.21ID:vf9gJxu2 マルチパラダイムの場合、驚き最小の原則の法則に反するかどうかは実装者の責任じゃないだろうか
808デフォルトの名無しさん
2018/07/01(日) 08:46:31.97ID:E4o6QfBe 抽象的なことしか言わなくなったんだよ
機械語のレベルと相性が悪いし
機械語のレベルと相性が悪いし
809デフォルトの名無しさん
2018/07/01(日) 11:50:23.63ID:YY7LPhac >>807
半分はその通りだが、それならc++で良くね?になるぞ。
半分はその通りだが、それならc++で良くね?になるぞ。
810デフォルトの名無しさん
2018/07/01(日) 13:30:01.00ID:TGjVBuJr 日本語でこんなに議論が行われてることに驚いた
811デフォルトの名無しさん
2018/07/01(日) 13:37:40.54 恥ずかしくて外国人には見せられない掲示板だ
812デフォルトの名無しさん
2018/07/01(日) 13:54:17.46ID:YY7LPhac そもそもcの呼び出しはメモリ管理モデルのギャップがあるんだから
どうあがいてもc++のが簡易にできるのは当然なんだよ。
どうあがいてもc++のが簡易にできるのは当然なんだよ。
813デフォルトの名無しさん
2018/07/01(日) 15:26:57.84ID:HnzLcrw0 >>810
このスレは英語推奨だぞ
このスレは英語推奨だぞ
814デフォルトの名無しさん
2018/07/02(月) 01:23:28.76ID:5g9b1rVY >ローカル関数だと外部変数キャプチャできないし、クロージャだと再帰できないし、
ここに関してはクロージャでないものをクロージャと呼ばなければ誰も驚かなかっただろうな。
javaは似非クロージャのことはラムダ式と呼んでるし。
ここに関してはクロージャでないものをクロージャと呼ばなければ誰も驚かなかっただろうな。
javaは似非クロージャのことはラムダ式と呼んでるし。
815デフォルトの名無しさん
2018/07/02(月) 01:51:37.55ID:v1kLQBFZ Haskellの「外側のシンボルを参照することによる暗黙的な部分適用」はクロージャと呼ばれてるから
アレが許されるなら少なくともJavaのはクロージャと呼んでいい
アレが許されるなら少なくともJavaのはクロージャと呼んでいい
816デフォルトの名無しさん
2018/07/02(月) 22:14:52.04ID:KKQokwkO >>815
javaのアレは元々クロージャ導入するつもりが、
仕様と実装でクソ揉めて妥協案としてクロージャ
じゃないものとしてラムダ式を作ったんやで。
だから意図的な"クロージャではないモノ"よ。
メモリ管理にgc使うからエンクロージャの束縛の解放に
制限ないから実質クロージャだし第一級関数だけど。
javaのアレは元々クロージャ導入するつもりが、
仕様と実装でクソ揉めて妥協案としてクロージャ
じゃないものとしてラムダ式を作ったんやで。
だから意図的な"クロージャではないモノ"よ。
メモリ管理にgc使うからエンクロージャの束縛の解放に
制限ないから実質クロージャだし第一級関数だけど。
817デフォルトの名無しさん
2018/07/02(月) 22:54:50.18ID:F0SAJ301 hyper使って簡単なwebアプリ描いてみたけどわりと素直に書けるのね
818デフォルトの名無しさん
2018/07/03(火) 16:24:59.60ID:ZNPbo2Ku819デフォルトの名無しさん
2018/07/03(火) 17:05:40.29ID:ZNPbo2Ku 連投になって申し訳ないが、環境をRefCellで持ち出す例を見つけた
ttps://wandbox.org/permlink/hkwccgD2oXp0fTm7
組み合わせて、802の2番目の例のstructを更にRefCellに入れたらシグネチャ変えずに行けるかな
ttps://wandbox.org/permlink/hkwccgD2oXp0fTm7
組み合わせて、802の2番目の例のstructを更にRefCellに入れたらシグネチャ変えずに行けるかな
820デフォルトの名無しさん
2018/07/03(火) 17:29:45.80ID:LuUToNY2821デフォルトの名無しさん
2018/07/03(火) 17:31:22.43ID:nNrfrM83 >>819
RefCell使うなら、Rustで書く意味ないだろ
RefCell使うなら、Rustで書く意味ないだろ
822デフォルトの名無しさん
2018/07/03(火) 18:19:36.75ID:ZNPbo2Ku823デフォルトの名無しさん
2018/07/03(火) 21:26:26.07ID:9JOKXkQl クロージャじゃないとできない用途って具体的にどういうものなの
想像つかなかったので単純な興味本位
想像つかなかったので単純な興味本位
824デフォルトの名無しさん
2018/07/03(火) 21:32:07.93ID:2DeV5pvZ 例えば最適化ライブラリなどに目的関数を渡す場合などで
引数以外からパラメータを注入する必要がある場合。
引数以外からパラメータを注入する必要がある場合。
825デフォルトの名無しさん
2018/07/03(火) 22:38:00.99ID:9ONgpSq2826デフォルトの名無しさん
2018/07/03(火) 23:58:54.50ID:6KvlcSKZ クロージャじゃなきゃできないことじゃなくて、
クロージャの再起呼び出しじゃなきゃできないことを聞きたかった
引数以外のパラメーターを差し込む場合、普通は再起は必要ないよね
クロージャの再起呼び出しじゃなきゃできないことを聞きたかった
引数以外のパラメーターを差し込む場合、普通は再起は必要ないよね
827デフォルトの名無しさん
2018/07/04(水) 00:52:48.93ID:MQVza7QA 風雲再起ぃ〜!!
828デフォルトの名無しさん
2018/07/04(水) 01:08:42.88ID:ace/1w5F 1.28はrustdocするときソースコードのlintするようになったんの?
deny属性に違反するソースコードがドキュメント生成時にエラー投げる。
>>822
クロージャがある言語は普通、関数とクロージャ区別しないからその感覚はおかしくないと思う。
でもクロージャの実装上の制約とかライフタイムとかでループで書いたほうがいいと思うコードはある。
deny属性に違反するソースコードがドキュメント生成時にエラー投げる。
>>822
クロージャがある言語は普通、関数とクロージャ区別しないからその感覚はおかしくないと思う。
でもクロージャの実装上の制約とかライフタイムとかでループで書いたほうがいいと思うコードはある。
829デフォルトの名無しさん
2018/07/04(水) 09:35:17.80ID:7aH0kDWz830デフォルトの名無しさん
2018/07/04(水) 20:54:21.49ID:1R4S9ii/831デフォルトの名無しさん
2018/07/04(水) 21:42:58.93ID:JvJNYHQo 最近rustの勉強始めたものです
この言語ってstatementなのかexpressionなのかをどういう方針で決めてんでしょう?
ifがexpressionなのはわかったけど、letはなぜstatementなんだろ?
他の関数型言語のようにexpressionでもよかろうに、と思った
この言語ってstatementなのかexpressionなのかをどういう方針で決めてんでしょう?
ifがexpressionなのはわかったけど、letはなぜstatementなんだろ?
他の関数型言語のようにexpressionでもよかろうに、と思った
832デフォルトの名無しさん
2018/07/04(水) 21:53:13.67ID:gFgZc5FG KCX
833デフォルトの名無しさん
2018/07/04(水) 23:31:21.37ID:kqLSfqeN 古いCで良く在る if ( (let a = f()) != 0 ) {} みたいなのが嫌だったんだろう。
そもそも、変数束縛が値を持つ必然性は無いよね。
そもそも、変数束縛が値を持つ必然性は無いよね。
834デフォルトの名無しさん
2018/07/04(水) 23:32:39.47ID:kqLSfqeN835デフォルトの名無しさん
2018/07/05(木) 00:07:01.10ID:wS7IFFVg 他の関数型言語のletは随分来歴が違うイメージ。
let x = ... in expはラムダ式の糖衣構文の一種なので関数型なら容易に実装できて便利に使えるのに対し、
rustのletは手続き型の変数宣言の方が近い
schemeのletとdefineが全然意味が違うのを知ってると違和感無い
let x = ... in expはラムダ式の糖衣構文の一種なので関数型なら容易に実装できて便利に使えるのに対し、
rustのletは手続き型の変数宣言の方が近い
schemeのletとdefineが全然意味が違うのを知ってると違和感無い
836デフォルトの名無しさん
2018/07/05(木) 00:16:12.98ID:OgxnbJsr >>831
この辺読めばいいかと。
https://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/functions.html#%E5%BC%8F%E5%AF%BE%E6%96%87
letは所有権移動だけど、返り値を認めちゃうと
束縛先と返り値のどちらに移動すべきか分からない、ということかな。
この辺読めばいいかと。
https://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/functions.html#%E5%BC%8F%E5%AF%BE%E6%96%87
letは所有権移動だけど、返り値を認めちゃうと
束縛先と返り値のどちらに移動すべきか分からない、ということかな。
837デフォルトの名無しさん
2018/07/05(木) 00:52:35.42ID:YJbjvjoP838デフォルトの名無しさん
2018/07/05(木) 01:22:02.41ID:DZKRf+tO えっ、毎回コピーすんの?
それ無駄じゃね?
それ無駄じゃね?
839デフォルトの名無しさん
2018/07/05(木) 03:33:15.42ID:CGu9cAAd >>837
ブロック式で let a = { let b = 1; let c = b + 1; b + c }; と書ける
けどミュータブルな変数を書けるからコードが関数型言語風になるかどうかは書き手次第
ブロック式で let a = { let b = 1; let c = b + 1; b + c }; と書ける
けどミュータブルな変数を書けるからコードが関数型言語風になるかどうかは書き手次第
840デフォルトの名無しさん
2018/07/05(木) 20:22:41.90ID:yHZEHedG841デフォルトの名無しさん
2018/07/05(木) 21:13:46.28ID:nmRduEAc あるstructもとに任意のフィールドを追加した別のstructを定義することってできる?
842デフォルトの名無しさん
2018/07/05(木) 21:35:03.85ID:wS7IFFVg イテレータ系はみんなそれやってる
mapとかfilterとか、元のイテレータ+変換・フィルター関数みたいな構造体を返してくる
mapとかfilterとか、元のイテレータ+変換・フィルター関数みたいな構造体を返してくる
843デフォルトの名無しさん
2018/07/05(木) 22:08:25.13ID:uqSz2h6E へー今気がついた
strはmutの有無にかかわらずRO領域に配置される
sliceはmutの有無にかかわらずRW領域に配置される
つまり今風のOS上だと
strをポインタ経由で書き換えようとするとメモリアクセス違反
sliceをmut無しで宣言した物でもポインタ経由で書き換えられる
リンカの設定にもよると思うけどマイコンなどで使うときは注意が必要そう
strはmutの有無にかかわらずRO領域に配置される
sliceはmutの有無にかかわらずRW領域に配置される
つまり今風のOS上だと
strをポインタ経由で書き換えようとするとメモリアクセス違反
sliceをmut無しで宣言した物でもポインタ経由で書き換えられる
リンカの設定にもよると思うけどマイコンなどで使うときは注意が必要そう
844デフォルトの名無しさん
2018/07/05(木) 22:15:27.91ID:B3fauv+j えぇ…安全に使えないじゃん。キツツキに縛りつけてる意味ないじゃんrustの存在意義が…
845デフォルトの名無しさん
2018/07/05(木) 22:46:05.11ID:5CTMsWjW 再現コードはよ
846デフォルトの名無しさん
2018/07/05(木) 23:38:48.53ID:+dwFnTVE unsafeの話でしょ
脊椎反射したいつもの人が見事に釣られている
脊椎反射したいつもの人が見事に釣られている
847デフォルトの名無しさん
2018/07/05(木) 23:53:13.69ID:uqSz2h6E もちろんunsafe中の話です
fn main(){
let s:[i32;2] = [10, 20];
println!("s[0]={}", s[0]);
unsafe{*(s.as_ptr() as *mut i32)=30}
println!("s[0]={}", s[0]);
}
実行結果
s[0]=10
s[0]=30
これそのものが問題になるケースは少ないだろうけど
ROにいるはずと思い込んでいるとハマるケースがありそう
任意の場所に配置するアトリビュートとかあるのかな
fn main(){
let s:[i32;2] = [10, 20];
println!("s[0]={}", s[0]);
unsafe{*(s.as_ptr() as *mut i32)=30}
println!("s[0]={}", s[0]);
}
実行結果
s[0]=10
s[0]=30
これそのものが問題になるケースは少ないだろうけど
ROにいるはずと思い込んでいるとハマるケースがありそう
任意の場所に配置するアトリビュートとかあるのかな
848デフォルトの名無しさん
2018/07/06(金) 00:07:24.39ID:0SVgWEm6849デフォルトの名無しさん
2018/07/06(金) 00:36:54.90ID:iypT0A6c >>842
返すんじゃなくて定義したいんだけども
返すんじゃなくて定義したいんだけども
850デフォルトの名無しさん
2018/07/06(金) 06:49:56.18ID:Sybd3k2C >>841>>849
stackoverflowとリファレンスを見た限りstruct定義の入れ子はサポートしてない
https://stackoverflow.com/questions/23629201/nested-structs-in-rust
https://doc.rust-lang.org/reference/items/structs.html
stackoverflowとリファレンスを見た限りstruct定義の入れ子はサポートしてない
https://stackoverflow.com/questions/23629201/nested-structs-in-rust
https://doc.rust-lang.org/reference/items/structs.html
851デフォルトの名無しさん
2018/07/06(金) 18:21:10.44ID:iypT0A6c どうもありがとう。でもちょっとニュアンスが違う。
struct 2d {x, y}
struct 3d extends 2d { z }
で3dが2dのxとyのフィールドと独自のzを持つようなかんじ
マクロで出来ないか精一杯やってみたが出来なかった
元となるstructごとにマクロ作ればできるんだけどそれじゃ意味ないし
struct 2d {x, y}
struct 3d extends 2d { z }
で3dが2dのxとyのフィールドと独自のzを持つようなかんじ
マクロで出来ないか精一杯やってみたが出来なかった
元となるstructごとにマクロ作ればできるんだけどそれじゃ意味ないし
852デフォルトの名無しさん
2018/07/06(金) 18:57:55.41ID:0SVgWEm6 設計見直したら?
853デフォルトの名無しさん
2018/07/06(金) 19:23:23.92ID:6zaAciaG >>851
Rust Design PatternsにはDerefでやるのはアンチパターンだと書いてあるけど、別の似たようなサイトではお勧め扱いだった気がする
https://github.com/rust-unofficial/patterns/blob/master/anti_patterns/deref.md
Rust Design PatternsにはDerefでやるのはアンチパターンだと書いてあるけど、別の似たようなサイトではお勧め扱いだった気がする
https://github.com/rust-unofficial/patterns/blob/master/anti_patterns/deref.md
854デフォルトの名無しさん
2018/07/06(金) 21:12:32.07ID:CzZn5kZZ struct A {int size; char data[];}
みたいなのをRustから読み書きするインターフェイスを考えてみた
enum PTR {}
struct A {p:*mut PTR}
impl A {
fn new(ptr:*mut PTR) -> Self {A {p:ptr}}
fn get_size(&mut self) -> i32 {unsafe {*(self.ptr as *mut i32).offset(0)}}
fn set_size(&mut self, n:i32) {unsafe {*(self.ptr as *mut i32).offset(0) = n;}}
fn data(&mut self) -> &mut [u8] {unsafe{std::slice::from_raw_parts_mut((self.ptr as *mut u8).offset(4), self.get_size() as usize)}}
}
fn main() {
let mut s:[u8;14] = [10,0,0,0,1,2,3,4,5,6,7,8,9,0];
let mut x = A::new(s.as_ptr() as *mut PTR);
println!("x.get_size()={}", x.get_size());
println!("x.data()[0]={}", x.data()[0]);
println!("x.data()[1]={}", x.data()[1]);
x.set_size(7);
println!("x.get_size()={}", x.get_size());
x.data()[1] = 225;
println!("x.data()[1]={}", x.data()[1]);
println!("s[5]={}", s[5]);
}
実行結果
x.get_size()=10
x.data()[0]=1
x.data()[1]=2
x.get_size()=7
x.data()[1]=255
s[5]=255
美しくないコードだ・・・
メインのRustコードにunsafeを書きたくないので全てstructに突っ込んだらこうなった
dataはslice経由で比較的自由に読み書き出来るけど、sizeは任意のアドレスを挿している数値型の作り方が判らないので関数が2つに
みたいなのをRustから読み書きするインターフェイスを考えてみた
enum PTR {}
struct A {p:*mut PTR}
impl A {
fn new(ptr:*mut PTR) -> Self {A {p:ptr}}
fn get_size(&mut self) -> i32 {unsafe {*(self.ptr as *mut i32).offset(0)}}
fn set_size(&mut self, n:i32) {unsafe {*(self.ptr as *mut i32).offset(0) = n;}}
fn data(&mut self) -> &mut [u8] {unsafe{std::slice::from_raw_parts_mut((self.ptr as *mut u8).offset(4), self.get_size() as usize)}}
}
fn main() {
let mut s:[u8;14] = [10,0,0,0,1,2,3,4,5,6,7,8,9,0];
let mut x = A::new(s.as_ptr() as *mut PTR);
println!("x.get_size()={}", x.get_size());
println!("x.data()[0]={}", x.data()[0]);
println!("x.data()[1]={}", x.data()[1]);
x.set_size(7);
println!("x.get_size()={}", x.get_size());
x.data()[1] = 225;
println!("x.data()[1]={}", x.data()[1]);
println!("s[5]={}", s[5]);
}
実行結果
x.get_size()=10
x.data()[0]=1
x.data()[1]=2
x.get_size()=7
x.data()[1]=255
s[5]=255
美しくないコードだ・・・
メインのRustコードにunsafeを書きたくないので全てstructに突っ込んだらこうなった
dataはslice経由で比較的自由に読み書き出来るけど、sizeは任意のアドレスを挿している数値型の作り方が判らないので関数が2つに
855デフォルトの名無しさん
2018/07/07(土) 01:32:56.18ID:odAPlBjD rustからrust-bindgenが吐いたC++のクラス使うのめんどくさいな
856デフォルトの名無しさん
2018/07/07(土) 18:52:04.06ID:Otm/KpKR ところで、全然話変わるんだけどさ、mutってどう発音してる?
自分は「むっと」ってよんじゃってて、なんか、かっこわるいんだけど。
自分は「むっと」ってよんじゃってて、なんか、かっこわるいんだけど。
857デフォルトの名無しさん
2018/07/07(土) 19:12:39.63ID:HR9VVpP9 当然、「みゅっと」でしょ
858デフォルトの名無しさん
2018/07/07(土) 20:15:18.96ID:h+p+JRvo 怒ってるのね
859デフォルトの名無しさん
2018/07/07(土) 20:19:35.52ID:Ty8z3s6n 鬼太郎のCVほっぽりだして産休に入るみゅ
860デフォルトの名無しさん
2018/07/07(土) 20:58:49.46ID:PbU76+k2 mjúːtəbl
861デフォルトの名無しさん
2018/07/07(土) 23:03:04.65ID:cEw8AP4C ミュート
862デフォルトの名無しさん
2018/07/08(日) 00:41:02.43ID:tBFClkmn863デフォルトの名無しさん
2018/07/08(日) 11:33:21.07ID:6xrO+JsL そりゃ入れないほうがいい証左になるなw
864デフォルトの名無しさん
2018/07/08(日) 13:33:35.86 みゅう太
865デフォルトの名無しさん
2018/07/09(月) 02:59:46.84ID:4B4QAQi1 >>862
いつまでtanakhなんてスパコン詐欺師を崇めるんだろうなこのスレの住人
いつまでtanakhなんてスパコン詐欺師を崇めるんだろうなこのスレの住人
866デフォルトの名無しさん
2018/07/09(月) 07:41:39.43ID:DXSSRVdR 国内の会社は大目に見てもらえないから大変だなあ
867デフォルトの名無しさん
2018/07/09(月) 09:23:25.63ID:6MpumzZl NEDOとかダメだろ
868デフォルトの名無しさん
2018/07/09(月) 22:56:35.23ID:M/GPMU7W 「nvidiaの倒し方、知らないでしょ?オレらはもう知ってますよ」
869デフォルトの名無しさん
2018/07/10(火) 08:37:04.49ID:wS3GMIgw 実際green500で倒してるんだからたいしたものだよ
870デフォルトの名無しさん
2018/07/10(火) 14:26:10.12ID:+spxUUiC871デフォルトの名無しさん
2018/07/11(水) 12:56:28.28ID:8BQ5VZH8 WebアプリをRustで書くって、どういう需要があるの?
ラズパイみたいな環境?
ラズパイみたいな環境?
872デフォルトの名無しさん
2018/07/11(水) 13:05:53.98ID:A6luu057 車買ったらムダにドライブしたくなるじゃん。すぐ飽きるのに。
あんな感じ。
あんな感じ。
873デフォルトの名無しさん
2018/07/11(水) 13:08:35.26ID:uU0OdRlq クライアントサイドとサーバサイドで同じコードが使えるって話ちゃうのん?
874デフォルトの名無しさん
2018/07/11(水) 13:30:09.56ID:QvLfDUJ3 同じ言語
だな
それはnode.js環境も同じだが
だな
それはnode.js環境も同じだが
875デフォルトの名無しさん
2018/07/11(水) 13:31:28.26ID:QvLfDUJ3 期待できる点は速くて安全
876デフォルトの名無しさん
2018/07/11(水) 16:34:41.89ID:dzRS/LEU 全部rustって需要はあんまりない気がするけど、サーバ側ならかなりマッチしてる
877デフォルトの名無しさん
2018/07/11(水) 17:15:53.86ID:NEswxD4L webassebly
878デフォルトの名無しさん
2018/07/11(水) 18:10:54.52ID:EHDLIx8N サーバーサイド → Rust
クライアントサイド → Rust
ブラウザ → Rust
完璧じゃないか
クライアントサイド → Rust
ブラウザ → Rust
完璧じゃないか
879デフォルトの名無しさん
2018/07/11(水) 18:17:02.02ID:4XcPTXi0 Yewのベンチマークって他に誰か取ってた?
880デフォルトの名無しさん
2018/07/11(水) 18:46:56.99ID:8BQ5VZH8 やたらノンブロッキングに拘ってるけど、それが本当に必要な人ってごく一部だよね
人気サービスの中の人だけ
普通はスレッド立てまくりで対応可能だし、たまに台数増やすだけで問題ないでしょ?
人気サービスの中の人だけ
普通はスレッド立てまくりで対応可能だし、たまに台数増やすだけで問題ないでしょ?
881デフォルトの名無しさん
2018/07/11(水) 18:59:32.73ID:v5sVc8KX だからそれは並列性が必要ってことでしょ
882デフォルトの名無しさん
2018/07/11(水) 19:13:29.64ID:A6luu057 真のアイルランド人はノンブロッキングなど必要としないwww
883デフォルトの名無しさん
2018/07/11(水) 20:14:09.83ID:IOg1uM7w アイルランドいつ統一するん?
884デフォルトの名無しさん
2018/07/12(木) 20:27:33.26ID:vXAFXBtg オライリーの奴予約した
885デフォルトの名無しさん
2018/07/12(木) 22:30:46.69ID:Wlqbcgdb >>884
白紙の未来を絶望に染めてやろう。
あれもうかなり古いぞ。
rust 2018で今よりさらに変わるんだぞ。
エラーハンドリングもモジュールもTraitも重要な部分全部かわるぞ。
nightlyで結構実装済みだから現行のnightlyですら違うぞ。
macro 2.0はいいぞ!
白紙の未来を絶望に染めてやろう。
あれもうかなり古いぞ。
rust 2018で今よりさらに変わるんだぞ。
エラーハンドリングもモジュールもTraitも重要な部分全部かわるぞ。
nightlyで結構実装済みだから現行のnightlyですら違うぞ。
macro 2.0はいいぞ!
■ このスレッドは過去ログ倉庫に格納されています
