1 名前:デフォルトの名無しさん mailto:sageteoff [2016/11/02(水) 03:12:40.30 ID:MYQ7Ohex.net] Mozillaがリリースした、プログラミング言語「Rust」について語るスレです。 www.rust-lang.org/ https://github.com/rust-lang/rust Servo https://servo.org/ https://github.com/servo/servo ◆前スレ プログラミング言語 Rust echo.2ch.net/test/read.cgi/tech/1327489549/
577 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 23:27:05.57 ID:9wlFqT9C.net] >>560 JavaScript var a = [1,2,3].reduce((acc,x)=>acc+x, 100);
578 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 23:28:39.85 ID:zngwxGAX.net] Rustの良さは徹夜明けに書いたコードでもSEGVらない安心感()
579 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 23:33:26.07 ID:JrwuNkgj.net] 移植だけなら全部unsafeにすればわりと機械的に出来るような気も。 そのあとリファクタリングでunsafe取っていくかそのまま放置かは状況次第だけど。
580 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 23:35:46.51 ID:9wlFqT9C.net] nullチェック機構がどれだけ強固になろうともそれを回避する手段が容易であれば糞プログラマを排除しないかぎり糞コードは量産される
581 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 23:42:42.37 ID:UGVUxePL.net] JavaScriptなんて使うくらいならいっそCとEmscriptenで書きたいわ
582 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 23:45:15.15 ID:TLItgOP3.net] >>570 ところでRustとEmscriptenでWebasm吐くって出来るんですよね。
583 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 23:58:21.84 ID:DPtsYYmf.net] その言語にはその言語の書き方考え方というのがある 高級言語使いが低級言語を使えない言語扱いしてるのと同レベルの幼稚な文句 ただひとつ言えるのはこいつは無能でセンスもゼロ
584 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 01:32:47.64 ID:/cLlv/nZ.net] >>543 > // rust > let f = |x| x + 1; // 美しい この |x| x + 1 のどこが美しいか理解不能 この後で悲惨と書いてるC++のと50歩100歩のアドホックな書き方 Schemeなどの (lambda (x) (+ x 1)) のほうが遥かに構文が統一的で美しい
585 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 08:44:12.21 ID:F/TDaiUX.net] rustってJavaからJNIでCを呼び出すのと何が違うのっと
586 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 08:46:52.43 ID:VQegiGIK.net] 何を煽りたいのっと
587 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 10:20:37.37 ID:Lvwt6BNZ.net] >>574 1. Rustはネイティブコードにコンパイルされる 2. Rustの構文制約はJavaと比べ物にならないほどキツい(良し悪しはともかく) 3. Javaのほうが圧倒的に過去資産がある こんなもんか
588 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 11:20:14.42 ID:Eio5IVQ5.net] |x|は単純に?ってなるよな なんでここだけRubyなんだと。他はC系かML系風味なのに。激しく浮いてる C++ですらunified(笑)とか言って普通の関数とクロージャを近付けようとしているのに それとは別に、開き括弧と閉じ括弧が同じなのも後々困らねーかと思ってしまう
589 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 14:20:48.79 ID:fnwYTLZ/.net] 構文はもっとMLに寄せてほしいなあ
590 名前:{ } とか見たくない [] [ここ壊れてます]
591 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 17:22:18.52 ID:sBRqP5fz.net] do end よりは {} のほうがマシ (個人的に)
592 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 17:24:16.93 ID:t5bNNBCg.net] シンタックスの話をしだすと結局好みの問題に落ち着く
593 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 18:23:00.24 ID:Eio5IVQ5.net] C++がtemplateと<< >>演算子で散々苦労しているのを見た後で わざわざそれを踏襲したりするのは悪い方の好みじゃね?
594 名前:543 mailto:sage [2017/02/24(金) 18:39:46.43 ID:zaWF9UZ/.net] 手のひら返し:クロージャの表現はやっぱML系のほうが優れてる可能性 クロージャを返すクロージャというふうに、連なったときの表現を見る (* OCaml ウルトラスムーズ。呼び出し部分もシンプル *) let f = fun x -> fun y -> fun z -> x + y + z;; print_int (f 1 2 3);; // rust move無しで書けたならよかった? // |x| |y| |z| x + y + z; ←うーん? let f = |x| move |y| move |z| x + y + z; println!("{}", f(1)(2)(3)); # ruby こうして見ると意外な統一感を感じなくも無い f = lambda {|x| lambda {|y| lambda {|z| x + y + z}}} p f.(1).(2).(3) >>573 rustのが断然シンプルだと思うけど(構文の統一感とやらについてはさておき) あとlisp系言語の中でSchemeだけがクロージャの扱いが自然なんだっけ? ちなみにまったく理解してないし、しかも聞きかじりで、多分記憶違いだけど >>577 そもそもはSmalltalkのブロックの中の縦線なのかなぁ
595 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 23:22:20.10 ID:yM4uvxXG.net] >> 582 > そもそもはSmalltalkのブロックの中の縦線なのかなぁ それならこうした方が自然。 let f = :arg1 :arg2 arg1 + arg2; let f = :arg1 :arg2 { arg1 + arg2 }; それよりこっちの方が良い let f = (a, b) -> a + b; `-> T`が戻り値の型の宣言だからこれはないだろう。 こうもならないだろうね。 let f = [ :a :b | a + b ]; 無名関数の引数が:arg1で空白区切りは発狂するやつが出る。 matzがなぜ無名関数の引数リストにSmalltalkのブロックの引数リストの構文じゃなくて 一時変数の宣言の構文を使ったかはわからん。
596 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 00:07:58.70 ID:jGQ3Wak9.net] `:arg1` は型注釈と混同する ラムダ計算風に `let f = \x y. x + y` はどうかな
597 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 01:20:07.77 ID:hUBRL+mA.net] パラレルワールドのrust文法を議論してて草生える お前らは何年前に分岐した世界線にいるんだw
598 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 04:54:52.43 ID:nJl4hm2p.net] 何で新しい言語が創られるかといえば、それはもう、C++コードのメンテから解放されたいという宿願のためでしょ
599 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 19:53:48.61 ID:jxiHI5n5.net] しかし名前が良くないなこの言語は なんでまたこんな名前にしたんだろうか
600 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 20:15:31.45 ID:FTYjcOZq.net] 俺は名前は好き 四文字でさえあればいいと思ってる それよりも嫌なのはifの波括弧 短く書きたいときCなら if (cond) foo(); else bar(); で、目に優しい if cond {foo();} else {bar();} これはたまらなく苦痛 C方式に戻してもらうか三項演算子の導入をしてほすい
601 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 20:19:33.66 ID:FTYjcOZq.net] https://doc.rust-lang.org/book/if.html let y = if x == 5 { 10 } else { 15 }; // y: i32 ↑これよりはやっぱ↓ let y = x == 5 ? 10 : 15;
602 名前:デフォルトの名無しさん [2017/02/25(土) 20:37:24.76 ID:gF7KaGBm.net] >>588 それがC言語でどれだけのバグを生み出してきたか考えたら有り得ないと思うのだが。 ”俺は間違わない?” だったらC使ってればいいんじゃね?
603 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 20:39:21.20 ID:FTYjcOZq.net] >>590 どれだけのバグを生み出してきたの?
604 名前:デフォルトの名無しさん [2017/02/25(土) 20:42:35.76 ID:gF7KaGBm.net] >>591 qiita.com/tomohisaota/items/e6995e89b843e1295c08
605 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 20:43:00.57 ID:AAACSty6.net] 適用の順序が一見して分からないケースがあってクソ
606 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 20:48:49.11 ID:FTYjcOZq.net] >>592 ほえー あーifに波括弧大事、これがあるからやっぱ波括弧大事だなぁ 波括弧ないからこそこんなことになっちゃうんだなぁ 波括弧さえあればこれ避けられたのになぁ 波括弧無しのifなんてあり得ないよなぁ ってこと? あとはどれだけのバグを生み出してきたの?
607 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 20:58:23.81 ID:AAACSty6.net] >>592 を一般化した if (cond) foo(); bar(); の形式(ただし全角スペースはインデントの代わり)のバグはAppleの例に限らず普遍的なものだろ
608 名前:デフォルトの名無しさん [2017/02/25(土) 21:03:09.97 ID:gF7KaGBm.net] >>594 多くのコーディング規約で禁止されてる。(例えばGoogle C++ Style Guideとか)。 わざわざそういう項目がある理由は、まぁ言わなくても解るよね?
609 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:04:36.43 ID:OjMnqw5o.net] 僕はそんなコード絶対に書かないしレビューでも見落とさないんですうううううう!!!!! 万一紛れ込んでもテストで拾うしっ!!!!!!!!!!
610 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:08:17.05 ID:FTYjcOZq.net] >>596 ちょっと茶化したけど、理屈は分からないというわけではないよ 実際にrustのifがこうなってる経緯は知らないけど 現状について少なくともそういう視点で支持する意見があるのは正直驚いた 勉強になりました
611 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:11:22.58 ID:ihKm/PIs.net] ifのやらかしは有名なプロジェクトでもあったりするよね
612 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:16:11.60 ID:oY1Z/R8w.net] 別に見づらくないじゃんって意見のほうが多数な気がするけど https://github.com/rust-lang/rust/issues/1698
613 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:17:27.66 ID:A0aZ5Z9S.net] ブレインファックじゃないんだから、人間に読めるコードとなる言語仕様が必要
614 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:20:30.53 ID:AAACSty6.net] まあ実際のコードでは無理に一行にまとめず5行に分けろってことだな let x = if cond { f() } else { g() }; もしf(cond ? g() : h())みたいな形で使おうと思っていたのなら、そもそもそれ読みづらいから一旦バインドしてからその結果を使おう let x = if cond { g() } else { h() }; f(x);
615 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:22:26.82 ID:oY1Z/R8w.net] あと波括弧外せるようにする提案はここにあるから+1しとけ https://github.com/rust-lang/rfcs/issues/1616 めっちゃ劣勢だけど
616 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:30:13.94 ID:FTYjcOZq.net] >>602 一点だけ let x = if cond { g() } else { h() }; f(x); ↑これよりやっぱ↓これが読みやすい(個人の感想です) f(cond ? g() : h())
617 名前:デフォルトの名無しさん [2017/02/25(土) 21:51:13.57 ID:gF7KaGBm.net] f(cond ? g() : h() ? q() : r() ) と書く奴が現れるデメリットの方がでかいと思うわ
618 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 21:53:07.56 ID:OjMnqw5o.net] そしてfだのgだのが本当にただの関数呼び出しであるケースは少ないという
619 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 22:40:54.42 ID:Cjys9ebm.net] 波括弧外せなくてもいい派だけど、 三項演算子は何かいい感じのやつを追加してくれ
620 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 22:48:27.45 ID:jxiHI5n5.net] if式なら三項演算子はいらないよ
621 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 23:00:24.91 ID:BrkcZ5hg.net] if-elseの波括弧外したらtype ascriptionが曖昧になる。
622 名前:デフォルトの名無しさん [2017/02/25(土) 23:54:27.38 ID:+Hmh+RyZ.net] >>604 ioでも使ってろ
623 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 23:57:17.74 ID:jxiHI5n5.net] f( if cond { g() } else { h() } )
624 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 23:58:32.04 ID:0X9bWbPB.net] 3項演算子とか、関数型の基本のif式(if文じゃないよ)なんだけど、サポートしてねえのかよ
625 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 02:13:52.49 ID:Xq2/OYkK.net] 三項演算子なんてifが文になってる言語でようやく存在を許されるものじゃねえか 波括弧をダサいというのは分かる
626 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 02:26:37.59 ID:kIbkRe9i.net] if x > 0 { x } else { -x } if (x > 0) x else -x 個人的にはブレースなしだとelseの前後1トークンの範囲の視認性が低く感じる
627 名前:デフォルトの名無しさん [2017/02/26(日) 02:27:19.95 ID:hKGUofZ0.net] if文はSwiftやGoとの差別化をしたいってこと?
628 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 11:17:28.79 ID:dRlELnWs.net] 波括弧省略はLinuxカーネルの連中が使い続けてる。 奴ら頭良いからあれでも上手く回ってるんだろうな。 逆に、波括弧省略するなって言われてる奴らは信用されてないってことなんだよ。
629 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 11:28:50.68 ID:kIbkRe9i.net] そうだね 俺は当然ながら、例えばGoogleの人たちなんかよりよっぽど頭が悪いからブレースは省略しないよ
630 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 12:56:41.32 ID:ilyf8Ugu.net] 自覚があるのはよろしい 頭の悪い人は無理に波括弧省略しなくていいんだぞ だれもそれを咎めはしないし止めもしない
631 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 13:14:04.69 ID:j+1S0ikr.net] ソース管理がしっかり運用されてると 空の波括弧さんありがとう!!と感謝する機会が多くなる
632 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 13:42:37.90 ID:n9+kiTzj.net] if文の波括弧は例え1行でも省略すべきではないな
633 名前:デフォルトの名無しさん [2017/02/26(日) 13:57:31.18 ID:AijJH6kn.net] >>616 残念だけど常に付ける派だが省略するななんて言われたこと無いからそんな煽り無駄 それに自分だけじゃないんだよ。信頼出来るメンバーだけで開発するならRustを使う必要なんてない。
634 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 14:37:50.15 ID:8fV4SlqM.net] >>588 激しく同意
635 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 14:55:00.32 ID:IwI2aqEg.net] ifの波括弧強制は多いに賛成 Rustは設計思想からして堅牢性が重視する言語なので むしろ波括弧無しは設計思想に反する構文
636 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 18:31:01.83 ID:3oI2dcr0.net] SwiftもGoもモダンな言語のifは{}必須だからRustもそうなんだろう
637 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 19:58:29.36 ID:LZ77JUIB.net] ちなみにOCamlだと ttps://ocaml.org/learn/tutorials/if_statements_loops_and_recursion.ja.html#beginend let max a b = if a > b then a else b;; でありウルトラシンプル 複数にしたいときは丸カッコかbegin-end if 1 = 0 then print_endline "THEN" else begin print_endline "ELSE"; failwith "else clause" end;; if 1 = 0 then print_endline "THEN" else ( print_endline "ELSE"; failwith "else clause" );; こういう世界だと波括弧よりもbegin-endがシックリきてるように見えなくもない
638 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 20:06:13.47 ID:zLpKV4Hz.net] 英数字が多過ぎて慣れてないと通常の識別子と瞬時に弁別できない
639 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 21:47:19.08 ID:C84dJOXo.net] 慣れ慣れ 冷静に考えてみ?中括弧だって別に見やすい記号じゃない
640 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 23:55:54.57 ID:/1/jo1+J.net] シンタックスハイライトの有無で全然違う
641 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 00:02:16.49 ID:JC90/ck5.net] >>627 俺も慣れだと思う 括弧あった方が統一性があって俺はむしろ見やすい
642 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 00:20:31.68 ID:hQ8vIQRp.net] wwwww
643 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 13:27:14.36 ID:dbhoX2Op.net] 今の日本のRust界隈って、LT会を開いて100人は集まるくらいの規模なのか https://rust.connpass.com/event/48826/
644 名前:デフォルトの名無しさん mailto:sage [2017/03/01(水) 14:13:16.39 ID:SH8mWFxK.net] >>631 そういうのに集まるのって、入門が趣味の人でしょ
645 名前:デフォルトの名無しさん [2017/03/01(水) 22:45:28.30 ID:gWF4n/wu.net] 誰だって最初は入門から始まる。 臆するな、前へ進めよ。
646 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 17:47:06.67 ID:5xdornxH.net] Rust Language Server alpha 2がリリース。かなりインストールしやすくなってる https://github.com/rust-lang-nursery/rls
647 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 18:10:52.07 ID:io4sIXyE.net] C++とかから来た人はrustでも波括弧使わせられるの?やだーwのイメージ
648 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 19:04:04.08 ID:u/9aEmwY.net] sever-clientモデルのコンパイラってどうなんだろうね 一周回ってクライアントモデルが良いなってことにならなければ良いけどと心配してる
649 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 19:24:21.19 ID:dGAZp2xa.net] 文字セットが貧弱でCのトライグラフ使ってた時代を思い出せ、とか
650 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 22:21:45.15 ID:TuErB/Pj.net] >>636 language server protocolはコンパイラじゃない。 rustだけのものじゃないし。
651 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 23:53:09.94 ID:unB1K5KY.net] ビルドツールって言い回しでもいいけど、結局そういうモノが使えるのかという疑問なんだが MSが切った規格っぽいけど、MSは使ってて流行ってるのかねぇ
652 名前:デフォルトの名無しさん mailto:sage [2017/03/02(木) 23:58:57.23 ID:5xdornxH.net] 流行るかどうかは知らんが、使って見た感想としては、racerで不十分だったエラーチェックやgo to definitionとかもあってそれなりに快適 不満があるとすれば、初期化に時間がかかる(ただし2回目以降は少し速い)のと入力の度の解析に少し時間がかかる(ただしcargo checkよりは速い)のとキャッシュがクソでかいところかな
653 名前:デフォルトの名無しさん [2017/03/03(金) 02:48:30.02 ID:NOi6E2uI.net] Rust(錆) 流行ることなく誰にも使われず錆びていくプログラミング言語、それがRust ルストハリケーン
654 名前:デフォルトの名無しさん [2017/03/03(金) 02:50:44.93 ID:8SEA7Mtt.net] language server protocolはビルドツールでもない。 エディタでコード補完とかフォーマットとか(VisualStudioのIntellisenseのようなもの)を実現するためのプロトコル。 エディタの機能拡張のためのものだよ。
655 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 05:22:56.35 ID:Mo/AGisi.net] Ryzenなら、rustcも爆速になる? https://twitter.com/FuAnTaJi/status/837313090190467072
656 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 05:26:52.91 ID:bMgzQydB.net] Rustスレで語るほどの話題でもないな
657 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 05:46:13.37 ID:Dlw1K2JE.net] >>642 話がズレてんぞ 「Rust Language Server」(ソフトウェア)の利便性/実用性を問うているのであって 「language server protocol」(プロトコル)の利便性/実用性を問うているんじゃない >>640 ああ、キャッシュはクソでかいのか... 元コードや依存crateに比例するだろうけど多少の利便性のために使って良いものか微妙なのかなぁ
658 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 06:25:02.22 ID:bMgzQydB.net] まあクソでかいと言ってもdebug buildのキャッシュに少し欠けるくらいだけどね 逆にいえばdebug buildと同等のオーダーで容量を食うということだが
659 名前:デフォルトの名無しさん [2017/03/03(金) 08:53:13.29 ID:8SEA7Mtt.net] >>645 ビルドツールとかいって何に使うものかも解ってない >>639 みたいなのが居たから書いたのに話がずれてるって…
660 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 09:37:43.14 ID:NTvASRIg.net] それでもその程度(debugビルド)か 提供体系変えたからってそれ以上は減らないだろうから 結局は、サーバクライアントモデルにメリットがあればって所なのな, 情報thx
661 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 10:21:19.53 ID:Ufz5V5uO.net] LSPをサポートしてれば、エディタ/IDEそれぞれに特化したプラグインを作らなくていいところが良い まあracerもそうだけど。後は非同期的なのも重い処理にはいいかもね
662 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 18:34:23.36 ID:NTvASRIg.net] IntelliJのRustプラグインはRLS対応メンドイから当分見送りな!とか言ってるんだよねぇ エディタ/IDEのフロントエンドは作り込み必要だし、LSP共通でできることって結構薄いレイヤーなんだろうな
663 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 23:51:37.58 ID:JBnTbtYi.net] Rainicorn開発して自前でon the fly error checkやってたRustDTが LSPが発表された途端にRustLSP開発始めたのにRLSがでてきて完全に沈黙中。 (´・ω・)カワイソス LSPはリファクタに使える問い合わせもできるから RLSとIDE側が対応すればrustのツールで初めてのリファクタ機能が現れるかも。
664 名前:デフォルトの名無しさん [2017/03/08(水) 03:21:51.70 ID:DeDFMxZF.net] i.imgur.com/WTFdXwM.png Rustのメモリ管理が良く分からないので 脳内整理してみたけどよく分からない
665 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 07:03:46.86 ID:jgMpoXzS.net] このごちゃごちゃで整理とか笑える。
666 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 07:23:54.02 ID:CjJNAnlh.net] コメ返してるのウケる
667 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 07:26:21.29 ID:fOyT060n.net] こ、コメ
668 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 10:47:45.16 ID:6Gp+/qzY.net] よく分かってないから脳内整理もぐちゃぐちゃになってるのではなかろうか rustはマルチスレッドに影響受けることはないし、他にも理解が出来てない所が多そう 公式ドキュメントが分かりやすいからきちんと読み直したら? https://doc.rust-lang.org/book/ >>654 ワロタ
669 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 13:45:42.21 ID:68sDUGxJ.net] 何が分からないのか分からない状態。borrowじゃなくてownershipが分からないのか、スタックとヒープが分からないのか。
670 名前:デフォルトの名無しさん mailto:sage [2017/03/08(水) 13:59:22.48 ID:jMX+hATM.net] >>652 java臭い
671 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 08:50:25.22 ID:mPQwWGXM.net] >>455 JavaにはJapanese Eraあるな
672 名前:デフォルトの名無しさん [2017/03/11(土) 03:15:58.35 ID:ls0F4O8F.net] Rustで作ったプログラムを公開するとき Rust自身のライセンス文書と crateで含めた各パッケージのライセンスと各パッケージが依存するパッケージのライセンスを 含める必要があると思うんですが それらのライセンス文書をかき集めるcargoのコマンド等あったりしますか? ( ~/.cargo/registry/src/ 下にパッケージのソースファイルやライセンスファイルがあるのは分かってるんですが手動で集めるのは面倒なので・・・)
673 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:13:55.49 ID:kL5whW8F.net] HyperのTokio化が間近まで迫っているわけだが、かなり仕組みが変わってて対応が面倒臭い
674 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:15:11.10 ID:x2OoeTeG.net] DASH言語
675 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:16:44.20 ID:hkT0qMWn.net] そういえばhyperってcharsetから自動でデコードしてくれないのかな
676 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:19:31.82 ID:qKzUYLvE.net] >>662 まずは言語を動かすプロセッサーを作るための半導体から調達するのかな
677 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:24:05.78 ID:kL5whW8F.net] Charsetはhyperの領分からはかなりかけ離れてるんじゃないかねえ。reqwestですら対応しなさそう
678 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 08:46:49.37 ID:qKzUYLvE.net] charsetは別に良いけど、Content-Encodingは対応してくれないのかなぁ
679 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 09:04:48.56 ID:kL5whW8F.net] >>666 gzipに関してはreqwestのupstreamで既に対応している https://github.com/seanmonstar/reqwest/pull/61 いつリリースされるのかは分からん
680 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 12:10:28.94 ID:nSjuwCRc.net] reqwestにモリモリとFeature Request投げつけて肥大化したライブラリにすればいいんじゃないかなぁ! それを横目に、reqwestに代わる極最低限の機能をピックアップできるライブラリの登場を期待したい tomlのoptionalで切れるのでもいいんだろうけど、crate分けてくれた方がrustらしい気がする
681 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 13:51:15.74 ID:oPHiMgG4.net] Rayonの1.0 milestoneが残すところドキュメント関連のみとなって1.0が秒読みという感じでとてもよろしい SerdeだのHyperだのRayonだのという目玉crateが軒並みpre-1.0なままなのは気持ち悪いからなあ
682 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 15:37:08.34 ID:O3/Gyy1q.net] Windows版はVisual C++ 2015 Build Toolsをインストールする必要があるってことだけど、 これのライセンスってどうなってるの? Communityと同じだったらうちの会社じゃあ使えないことになるけど、はっきり書いてある ところが見つからない。
683 名前:デフォルトの名無しさん [2017/03/12(日) 15:41:23.49 ID:U4Jjwa7O.net] >>670 インストーラーが表示しないの?
684 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 17:13:31.76 ID:O3/Gyy1q.net] なるほど。ライセンス条項を表示して「同意する」にチェックを入れさせるいつもの奴じゃないから スルーしそうになったけど、いちおうリンクが見つかった。ありがとう。
685 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 00:27:55.78 ID:olV+TTff.net] #[allow(unuseed_variables)] じゃなくgolangみたいに let _ = hoge; とプレースホルダでコンパイル通したりする?
686 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 00:32:20.78 ID:UwSzXh4Z.net] >>673 それでも良いし、let _piyo = hoge;でも良い
687 名前:デフォルトの名無しさん mailto:sage [2017/03/14(火) 22:39:18.78 ID:pGPNuxtq.net] ていうかallow(unuseed_variables)とプレースホルダはぜんぜん違うぞ
688 名前:デフォルトの名無しさん mailto:sega [2017/03/14(火) 22:54:53.45 ID:UwSzXh4Z.net] まあ確かに、unuseed_variablesなんてlintはないしな
689 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 09:52:08.89 ID:65dLeHL5.net] うぬ種(unuseed)、、、これには深い秘密が unused_variablesとプレースホルダ、ワーニングを消すために使うなら同じバイナリ出力するがな traitのインターフェース切る時はプレースホルダ使ってる
690 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 22:41:36.30 ID:KeMWtB7g.net] そういえばC++だとリリースビルドで消える変数はmaybe_unusedいるんだよな。rustかしこい!
691 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 03:23:47.24 ID:bRwtX1Af.net] Announcing Rust 1.16 https://blog.rust-lang.org/2017/03/16/Rust-1.16.html ・staticとconstのlifetimeがデフォルトで'staticになった(RFC 1623) // つまりこれが const ENC: &'static [u8] = b"0123456789ABCDEF"; // こう書ける const ENC: &[u8] = b"0123456789ABCDEF"; ・consider using an explicit lifetime的なメッセージを廃止(不正確な内容を吐くことがあるから。将来安定すれば復活の可能性あり) ・cargo checkが追加(実際にコンパイルせずにコンパイルが通るかの検査だけを行う。cargo buildより時間の短縮が見込める) ・Cargo.tomlのpackage.categoriesがstableでも有効に
692 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 21:17:58.70 ID:OBbyZsQw.net] b‘\x0a‘を”a”に一発で変換する関数ってライブラリにある?自分で書かないと無理?
693 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 21:33:20.90 ID:bRwtX1Af.net] format!("{:x}", b'\x0a')
694 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 22:53:52.43 ID:OBbyZsQw.net] >>681 マジでありがとう こういうときはformatなのね
695 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 00:10:31.46 ID:c1jSzzlC.net] cargo checkサブコマンド、エラー内容によっては挙動がおかしいんだよね。 cargo test --no-runなら完走する。それかrustcは問題ないから直接rustc叩く。 infinite typeが循環してるとrustcが止まらないのと組み合わさると rustcがcargoに制御返さない→cargoが無言決め込むになって何が起こってるのかわからなかった。 >>682 自前で弱い動的型付け言語並みのto_string()実装しても良いんだぜ?
696 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 01:29:52.32 ID:ZU/olwx/.net] 標準ライブラリでは任意の記数法(62進数とか)を扱えないから自前でフォーマッタを定義してちょいちょいする羽目になることがある std::fmt::fmt_radixは1.9で消えちゃったから、この手のものを公式で提供する気はなさそうだし
697 名前:デフォルトの名無しさん [2017/03/18(土) 02:04:48.97 ID:sCZDN2Pv.net] Hideyuki Tanakaさんのツイート: "https://t.co/EoxWy8cSvV 多くのベンチでRustがC++より高速なコードになってきたみたい。" https://twitter.com/tanakh/status/842326121647505408?p=p
698 名前:デフォルトの名無しさん [2017/03/18(土) 10:03:15.93 ID:cTWPUp3Z.net] >>685 いいね
699 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 10:48:58.61 ID:HHPgXzoi.net] vec![“data”,“chou-data” ...みたいなのがあって 出現する要素の数をカウントする一番賢い方法ってなんじゃろ?
700 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 10:53:52.98 ID:ZU/olwx/.net] vec.iter().filter(|&&s| s == "predicate").count() とか?
701 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 11:13:48.52 ID:HHPgXzoi.net] 要素全てのカウントで “data”は3回 “chou-data”は20回という情報が欲しいです mutなHashMapでシコシコカウントですかね?
702 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 11:26:04.35 ID:G5NG4rX0.net] multisetは使えない? 外部クリートを使うことになるけど
703 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 11:36:10.64 ID:Y4C9s3ir.net] てかそもそもどういう操作にどのくらいの計算量を要求しているのか言ってくれないと答え損にしかならないというか
704 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 11:40:29.03 ID:DBFuVmGN.net] 要素→int のマップを用意して、配列の頭から走査して行って出現ごとにインクリメントが正道じゃね。
705 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 11:49:38.08 ID:HHPgXzoi.net] ありがとうございます とりあえずmultisetのソース見て勉強してきます
706 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 18:38:07.11 ID:zyxHQlVL.net] “data”と“chou-data”の2種類しかないなら一方だけ数えて全体の要素数から引けば両方求められるんじゃね
707 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 19:49:33.18 ID:PBtATWqK.net] ゲームとか作るのにはまだつらい感じ?
708 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 22:51:11.48 ID:kQkqB4BZ.net] ss
709 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 23:36:17.52 ID:Cy4FObwW.net] そういえばコレクション操作で統計用の述語足りてないよね。 他にもあらゆる標準ライブラリ的なものが足りてないからそういうライブラリばかり作られてるんだけど。 >>695 pistonに一通りある。
710 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 06:16:46.07 ID:Q49RXSlY.net] Nightlyでcargo updateをしようとしたら thread 'main' panicked at 'called `Option::unwrap()` 云々とか出てきて何事かと思ったら、どうやらRust TeamがGitの操作をミスってnightlyが壊れてたらしい https://github.com/rust-lang/rust/pull/40625
711 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 23:01:00.46 ID:hxyeHBes.net] 高階関数に渡す述語のinline属性の指定にかかわらず そこだけ必ずインライン化するか必ずインライン化しないか指定する方法ない? Option::map_or_elseに渡すdefault引数とf引数がinline属性付いてるけどインライン化させたくないんだけど。
712 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 07:34:18.46 ID:yNGhLANb.net] Stack Overflowの調査でまたしてもRustが最も好まれている言語になった https://stackoverflow.com/insights/survey/2017#technology-most-loved-dreaded-and-wanted-languages が、エンタープライズでの採用例が少ないのだからユーザのうち好んで使っている人の割合が高まるのは当然っちゃ当然だわな
713 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 08:53:30.74 ID:mOA6Vf99.net] みなさんfloatのベクタのソートについてどう思ってるの?
714 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 14:35:58.01 ID:pHNq00OZ.net] >>683 こば?
715 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 19:39:57.65 ID:YSCc9yI+.net] >>700 良い言語なんだけどまだ安定感が足りない感じなんだよなぁ、web系だとclojureがイミフな位安定感あるのと違って rustはもっと期待されている分バージョン間の差違に敏感な用途が多いからじゃないのかと思うけど。
716 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 03:50:37.57 ID:BrrX4e7P.net] Tokio-minihttp is number 4 in TechEmpower Round 14 Preview : rust https://redd.it/615sjf
717 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 16:59:39.44 ID:mKbsz9A+.net] // 例1 if let Some(ref mut x) = self.x { // ... if x.is_hoge() { self.x = None; // borrowck激おこ } foo } else { // ... bar } // 例2 let ret; if let Some(ref mut x) = self.x { // ... ret = foo; if ! x.is_hoge() { return ret; } } else { // ... return bar; } self.x = None; // おこらない ret
718 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 17:03:13.41 ID:mKbsz9A+.net] >>705 ミス // 例1 if let Some(ref mut x) = self.x { // ... if x.is_hoge() { self.x = None; // borrowck激おこ } foo } else { // ... bar } // 例2 let ret; if let Some(ref mut x) = self.x { // ... ret = foo; if ! x.is_hoge() { return ret; } } else { // ... return bar; } self.x = None; // おこらない ret
719 名前:デフォルトの名無しさん [2017/03/30(木) 18:52:42.70 ID:mCoqxFE9.net] え?それが何だというの?
720 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 19:02:31.30 ID:VKjElo3D.net] ボローチェッカーのせいで読みづらいコードを書かされるって話じゃね? てかこんな風に書けるのか。今までunwrapで無理矢理対応してたわ
721 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 19:45:59.94 ID:Gp+R1RG2.net] >>708 borrowckなしの状態よりむしろ危険になってて悲しい
722 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 21:09:15.78 ID:JBiI28RD.net] C++だとprivateにしてアクセサ付けろって言われるのに rustだと必要なときだけ、って感じなのってなぜ?
723 名前:デフォルトの名無しさん [2017/03/30(木) 22:29:46.32 ID:s+CP+YQd.net] >>710 C++でも言われないよそんな事
724 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 23:51:37.90 ID:UVGuKdEr.net] ");
//]]>-->726 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 06:52:30.38 ID:QiEPt976.net] >>710 大昔:public/privateの概念なく、どこからでも何でもアクセスあり 一昔前:public/privateで公開域を超強力に限定(極端に縛る文化 最近:public/privateはそこそこにね(極端に走りすぎてやりすぎたと反省 どの言語も最近は必ずしもpublic/privateなどの公開域を指定する修飾詞をつけないといけないって感じではなくなってるよ 怠慢 => 厳格 => 適度 って時代の流れよな >>712 がそういう時代の流れが知らないのか、あえて無視してるのか知らんけど
727 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 08:03:04.47 ID:kyVktr8w.net] www.textdrop.net/google-styleguide-ja/cppguide.xml?showone=%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E5%88%B6%E5%BE%A1#%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E5%88%B6%E5%BE%A1 https://google.github.io/styleguide/cppguide.html#Access_Control これとかは一昔前ということ?
728 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 08:31:32.16 ID:kyVktr8w.net] c++スレで聞けって感じだね ここの住民のように最近の言語しらんのだ。ありがとう
729 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 09:35:15.35 ID:CFLp8HcF.net] >>710 rustのラッパー系が持ってるget_ref/get_mut/into_innerはアクセサとは目的が違うよ。 それと、他言語のprivateなフィールドはrustだとinterior mutabilityになるけどこれは必要だから。 >>713 >大昔:public/privateの概念なく、どこからでも何でもアクセスあり 俗にカプセル化の一言で説明される全ての隠蔽は60年代〜70年代からあるよ。 >>714 C++はストラウストラップのオブジェクト指向の聖遺物。rustは宗教(パラダイムと設計思想)が違うし、 「ストラウストラップのクラス嫌やねん」が今の主流派だからそれに属するrustを見てC++の流儀が古いかどうかは言えない。 たとえば、最近のJVM言語がフィールド定義すればアクセサ自動定義するのは「メソッド記法面倒くさい」と 「C++系の流儀のjavaとシームレスに通信するため」の二点を同時に満たせるからであって、 こういうJVM言語はイマドキな考え方とC++系の昔からある考え方を両方備えてるからまだ古くなってない。
730 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 12:21:13.04 ID:8wrz3vyb.net] >>714 言語自体はもう新興言語というほど新しくもないC++やJavaは修飾詞つけるのが正義なんじゃない それ自体は別に文句ないし、自分もそれらの言語を使う時は率先して付けてる rust, go, swift, nim, kotlinみたいな最近隆盛してる言語は付けないのが文化だと思う デフォルトのアクセス権限がprivateだったりするヤツもいるから複合的な理由だけど
731 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 09:03:12.10 ID:xsH2QUDo.net] コンパイル通すのに必死で、最適化まで考える余裕がない
732 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 11:27:53.05 ID:xsH2QUDo.net] xml parseしたいけどserde使えばよい?
733 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 11:37:09.88 ID:yqxqzJbW.net] serdeってDOMじゃなかったっけ DOMでいいならserde一択だとは思うけど
734 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 13:13:16.49 ID:dZXDeDc3.net] serde_xmlってあまり活発に開発されてる感じはしないよなあ。いまだにserde 0.8に依存してるし まあ、DOMツリーを得たりstructに読み込んだりするにはserde_xml、ストリームを扱うのならxml-rsってところじゃないかねえ
735 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 13:25:53.82 ID:ShBKdKpe.net] domでおけ <
736 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 14:14:43.48 ID:yqxqzJbW.net] Issues読んでたら、serde 0.9はこっちで対応してるからいいんじゃねって雰囲気でワロス ttps://github.com/RReverser/serde-xml-rs
737 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 20:06:49.50 ID:xsH2QUDo.net] やっぱ現代的言語としては標準ライブラリが弱すぎじゃない? C++よかましだろうけど
738 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 20:35:17.04 ID:/2Cak4ys.net] 探せばあるけど野良クレート頼りな感ある C++よかましだけど
739 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 21:26:19.10 ID:xsH2QUDo.net] 雰囲気的にnodeとかに近い感じかなぁ
740 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 22:33:38.44 ID:cPS3ohZQ.net] 標準ライブラリは最大公約数的な最小限のパーツに押さえるというポリシーだしcrates.ioの使用が前提になってる
741 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 22:45:09.77 ID:dZXDeDc3.net] 0.x時代はnumもrandもlogもstdの一部だったしね。こっちの方が破壊的変更がしやすいとかなんとか 今のstdですら、@alexcrichtonがio::Cursorの実装を後悔していたりするし(↓) https://github.com/carllerche/bytes/issues/75#issuecomment-287145718
742 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 00:14:26.80 ID:4ErkdvW9.net] >>724 弱すぎるけど既存の標準ライブラリの設計も実装も結構ひどいところがある。 だけど、rustはcoreライブラリ書くのに向いてるから結局必要なら自分で実装しちゃう。 ネイティブスレッド一々作らせずにthread poolくらい標準で用意しろと思うけど。 >>727 ,728 cargoで一番センス悪いのがcrates.io前提とalexcrichtonだと思う。
743 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 00:47:10.72 ID:YQEfEn7s.net] Alex Crichtonになんの恨みがあるんだwww
744 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 08:00:17.30 ID:GW9gqzFE.net] no_stdをデフォルトにしようという極右派もにいてそうw 標準を強化しろってのも、標準は要らないってのも宗教だから無宗教の日本人らしく遠目に眺めてる
745 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 10:12:44.61 ID:PP0pKPr+.net] >>730 TOKIOの名を騙った恨み
746 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 10:23:41.85 ID:wHW/bvWX.net] > cargoで一番センス悪いのがcrates.io前提 自前のcrate作る時は名前の競合とか考えるの面倒だから [dependencies] hoge = { git = "https://github.com/hoge/hage.git" } で済ましてるわ 今時、crates.io前提だけで組み上げる輩もおるまい
747 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 23:14:29.59 ID:SJJzQWRj.net] >>733 マルチプロジェクトで依存crateの数が多いとか、 他言語にも依存するとか、ローカルにしか無いcrateとオンライン上に あるcrateの両方に依存するとか、 他エコシステムとの協調苦手(他エコシステムと連携するadhocで泥臭いcrate書いて cargoでラップする構造にして隠蔽する必要がある)とかあるからそれだけじゃ上手くいかんよ。 実際にServoが色々壁にぶつかってissue投げまくってそっち優先で対処してるからServoはなんとか出来てる感じ。 言語は良いのに他がダメだから自分で対処できる人以外置いてきぼりで学習コスト高いと言われるんだと思う。 言語仕様もextnt,region,effect,zone(arena)とか一切説明なしに全部の文脈でlifetimeとかいう謎の語を使ってるしね。
748 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 01:00:40.90 ID:JUppntkg.net] 他エコシステムとうまく連携できる言語見たことない
749 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 01:23:46.19 ID:UPf59owC.net] 言語ごとのエコシステムなんて、OSのパッケージマネージャの邪魔しかしてねーだろ ユーザーから見たら迷惑千万
750 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 05:55:
] [ここ壊れてます]
751 名前:44.20 ID:u5wlFHfm.net mailto: ディストリ毎に異なるパッケージマネージャーがあるのに無体なことを言うユーザ(笑)もいるもんだなw ユーザはビルド済みのバイナリだけ使えばいいじゃんね servoチームに魔改造受けたbindgenを使いこなせるようになりたい と思ったら最近upstreamがservoチームのものについに切り替わったのか これは大手ふって使わねば [] [ここ壊れてます]
752 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 10:11:16.31 ID:8UfIZmop.net] >>735 build.rsに他エコシステムと連携するプラグイン書けるrustはマシな方よな Javaのgradleも頑張ってる方だけど言語公式じゃないし、gradleの本質はJavaじゃなくgroovyだし
753 名前:デフォルトの名無しさん mailto:sage [2017/04/06(木) 22:50:56.99 ID:optS43ym.net] Libs teamが何かissueを投げまくってる https://github.com/search?q=%22Library+evaluation+tracking+issue%22&type=Issues
754 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 11:31:26.42 ID:mTwYWLsL.net] Rustはライブラリ戦略で失敗、2.0を迎えずにUbuntuのUnityと同じ運命を辿ると断言しよう。
755 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 11:40:03.17 ID:GbqpuLIm.net] そうですか
756 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 12:53:41.18 ID:R3xK1J5N.net] mozillaってのが心配すぎる
757 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 12:59:38.91 ID:8ssaps+e.net] クソモジラはブランドにならないと思ったら容赦なく捨てるからな。
758 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 13:40:25.63 ID:ZW/CIt37.net] FirefoxOSは命名の時点で失敗が見えていた かといってよりマシな名前も思いつかない
759 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 14:37:09.60 ID:59elDVKi.net] GoogleだとMITやApacheに譲渡するし、Appleだと何事もなかったように切り捨てるけどな Mozilla Thunderbirdみたいに迷走した後にまた統合するんじゃないのw 個人的にはコミュニティベースのOSSで生き残ればどうでもいいわ Apacheは斜陽だからあそこへの譲渡はちょっとなぁと思う
760 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 14:42:54.10 ID:GbqpuLIm.net] クソ言語くん最近見かけなかったから心配してたけど、健在なようでなんか安心したわ
761 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 15:18:48.99 ID:59elDVKi.net] そうですか
762 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 16:24:57.82 ID:1hxGv39C.net] 低級言語として発展してくれる事を願う
763 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 16:35:35.04 ID:GbqpuLIm.net] WebAssembly向け言語としても推しているみたいだしその辺も期待できそう 既にCに慣れ親しんだシステムプログラマと比べて、Webのフロントエンジニアの方が訴求しやすそうだし
764 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 16:35:48.93 ID:Ay5kOBNO.net] ぶっちゃけシステムプログラミングでも組込でもなく wasm向け言語として定着しそうな感ある>Rust
765 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 17:04:37.50 ID:mTwYWLsL.net] Rust以外の"新興言語"でwasmをまともにサポートできてる言語ってあるの?
766 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 17:06:01.24 ID:mTwYWLsL.net] げ、ID被った アウアウカーなのかよお前!!!
767 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:23:15.91 ID:R3xK1J5N.net] ここまで出来てればコミュニティーベースでもいけるのかなぁ。 お金ないとオープンソースなんて無力なイメージなんだが
768 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 00:35:44.07 ID:C+4/Iu4N.net] 趣味で使ってる人はRustで何作ってるの
769 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 01:13:01.86 ID:yAkJU/wS.net] >>754 トランプ52枚を4人に配るってのを作りたかった 乱数生成で挫折した
770 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 01:34:48.16 ID:+eXxcQKg.net] メルセンヌツイスタが有名
771 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 01:49:57.91 ID:+k4JWPSD.net] えっそっから作るの
772 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 09:24:07.59 ID:Q8Fz6A4a.net] >>754 某Web APIを叩いてる
773 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 09:43:37.83 ID:T4S+/aed.net] mscgenをrustで作り直し、、、たかった 画像扱うライブラリで良い感じのものがなくて停滞なう
774 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 18:08:30.92 ID:DtNkLoh6.net] 結局でかい口叩いといて誰もRustでまともなもの書けてねえんだろ? 欠陥言語であることの証明だな
775 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 19:05:47.56 ID:4Oj8Cnsa.net] iOS, Androidの共通ライブラリに使ってるわ Cはイマイチだし、C++じゃ機能不十分で、他新興言語は動きます程度で使えん
776 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 08:59:38.76 ID:GDyCY+n8.net] #[doc(hidden)]をprotectedの代用とする因習
777 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 16:20:24.40 ID:RqOHyrbz.net] pub(restricted)で代用できないのか
778 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 02:06:18.61 ID:hFdmRMY+.net] Rustの萌えマスコットキャラはまだかい?
779 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 05:26:24.28 ID:YGNFjvB7.net] Ferrisがいるじゃない www.rustacean.net/assets/rustacean-orig-noshadow.png
780 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 18:18:05.18 ID:XPIrDgkS.net] カニなのには意味あるの?
781 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 18:21:50.61 ID:XPIrDgkS.net] crustacianか
782 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 21:57:25.49 ID:yg0Uq9Gu.net] tree構造作るのがほんと厄介なんだけど、どうにかやりようあるの? https://github.com/SimonSapin/rust-forest https://github.com/saschagrunert/indextree
783 名前:デフォルトの名無しさん mailto:sage [2017/04/12(水) 06:31:23.82 ID:zsOpQD26.net] 厄介なりにできてるんならやりようは存在してるんでないの 個人的にはDOM(Tree Object)は所有権を複数者に要求するRustに合わない構造だと思ってるから使わないけど
784 名前:デフォルトの名無しさん mailto:sage [2017/04/12(水) 16:58:14.00 ID:JkQ01euR.net] 物理的にツリーなものでもデータ構造はツリーにしなきゃいいのかなぁ
785 名前:デフォルトの名無しさん mailto:sage [2017/04/12(水) 20:11:46.82 ID:UgFGccH2.net] Servoの中の人みたいにDOMでないと色々困るならDOMを作るけど、JSON, XMLをパースして操作するだけならツリーは辛い ツリー操作に適した他言語を使う方が幸せじゃないかな、DOM操作は苦行だけど他のメリットを鑑みてRustを使うのも良いよね
786 名前:デフォルトの名無しさん mailto:sage [2017/04/13(木) 13:41:01.33 ID:eTJjP5LI.net] 先生、rustが使いたいです、、
787 名前:デフォルトの名無しさん [2017/04/13(木) 23:00:29.13 ID:DmaD3ZLh.net] >>768 ツリーさわるのに直接、arenaとancestor意識しないといけないのか。 まあ、俺もこんなんだけど。 最近、tracing gc使ったら簡単なんじゃないかと思ってる。 stntax treeみたいに事前に全部の構造わからないとrustはつらいね。
788 名前:デフォルトの名無しさん mailto:sage [2017/04/14(金) 18:06:23.00 ID:4vbREvue.net] 一応日本のコミュニティーらしきものあるんだね
789 名前:デフォルトの名無しさん mailto:sage [2017/04/14(金) 23:18:47.00 ID:l3/xlJJH.net] 英語話せない原人特有文化
790 名前:デフォルトの名無しさん mailto:sage [2017/04/15(土) 11:23:25.59 ID:7FkW2H/i.net] あなたも原人なんでしょ?
791 名前:デフォルトの名無しさん mailto:sage [2017/04/17(月) 10:19:07.90 ID:Vk3u//l+.net] Rustなんてクソステマ言語使ってる時点でみんな等しく原人だから安心しろ
792 名前:デフォルトの名無しさん mailto:sage [2017/04/17(月) 12:47:03.78 ID:2mekMRo4.net] >>777 それはおかしい。 >>775 や>>776 は英語を話せない人という文脈で原人という語を用いている。 したがって、rust使用者であることと原人であることの間に関連はない。
793 名前:デフォルトの名無しさん mailto:sage [2017/04/17(月) 13:27:03.58 ID:Vk3u//l+.net] 俺から見ればクソステマ言語Rust使ってる時点で原人なの。 原人同士が英語喋れるかどうかで原人認定(原人視点)してるのが滑稽なの。 おーけー?
794 名前:デフォルトの名無しさん mailto:sage [2017/04/17(月) 13:45:45.69 ID:kHe1qBP+.net] 完全に基地外でワロタ
795 名前:デフォルトの名無しさん mailto:sage [2017/04/17(月) 14:00:48.95 ID:NJsGU
] [ここ壊れてます]
796 名前:HFQ.net mailto: まあ>>775 の"原人"の定義を採用しないとするのなら論理的に妥当っちゃ妥当 [] [ここ壊れてます]
797 名前:デフォルトの名無しさん [2017/04/17(月) 21:43:12.25 ID:5RBrgFiu.net] 昔pc原人てゲームあったよな?
798 名前:デフォルトの名無しさん mailto:sage [2017/04/18(火) 14:25:16.72 ID:avtppHhA.net] RLS now available on nightly www.jonathanturner.org/2017/04/rls-now-in-nightly.md.html
799 名前:デフォルトの名無しさん mailto:sage [2017/04/18(火) 23:28:49.61 ID:isZ+RH85.net] リリースニュースをコピペする奴がずっといるけど、それをどうしたいのか・・・ わざわざ過疎スレに貼らなくても、知りたい奴は普通に一次情報を追ってると思うよ
800 名前:デフォルトの名無しさん mailto:sage [2017/04/19(水) 06:39:40.15 ID:iVXI/rsk.net] >>784 お前のコメントよりは役に立つ
801 名前:デフォルトの名無しさん mailto:sage [2017/04/19(水) 17:45:36.14 ID:T5JpYnfb.net] 一次情報追ってるやつからすると単純にマルチポストなんだよな 使った感想があるわけでもなし、タイトルとURLじゃなんの役にも立たん
802 名前:デフォルトの名無しさん mailto:sage [2017/04/19(水) 18:55:17.11 ID:6t85zhKK.net] Twitterの@rustlangとか雑多な情報が多いから、めぼしい情報を並べてくれるだけども十分
803 名前:デフォルトの名無しさん mailto:sage [2017/04/19(水) 23:28:25.20 ID:QKWiY+xs.net] 1次情報追ってる奴よりそうじゃない奴の方が多いんだからいいんじゃね 何も書き込み無いスレだとユーザ居ない様に見えるし ここ2chだよ?
804 名前:デフォルトの名無しさん mailto:sage [2017/04/20(木) 00:46:43.55 ID:Vb04xDKl.net] ここtwitterじゃないよ?
805 名前:デフォルトの名無しさん mailto:sage [2017/04/20(木) 08:56:40.43 ID:Cjpsv+ZG.net] >>784 しね
806 名前:デフォルトの名無しさん mailto:sage [2017/04/20(木) 09:02:46.45 ID:5tsEknBd.net] >>782 高橋せんせい、20年遅れのステマですか?
807 名前:デフォルトの名無しさん mailto:sage [2017/04/20(木) 16:14:47.79 ID:zhxiAG0o.net] >>768-773 ツリーとグラフを作る記事があった。 グラフとアリーナ型メモリアロケータ hazama1616.blogspot.jp/2016/03/crust-11.html Rust でグラフ構造や木構造を作る agtn.hatenablog.com/entry/2017/01/16/151745
808 名前:デフォルトの名無しさん mailto:sage [2017/04/21(金) 08:10:49.54 ID:OiVWjQVQ.net] いつの間にかSerdeが1.0になっててビビる Lifetimeを用いたzero-copy deserializingとか胸が熱いな https://github.com/serde-rs/serde/releases/tag/v1.0.0
809 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 17:11:05.67 ID:H4akHqoq.net] この言語, 普及すると思いますか? 自分は Scala と C++ やってたんですが、そういうバックグラウンドがない人がすぐ理解できるとは思えないのですが。
810 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 00:17:32.58 ID:7O6+7hGx.net] >>792 arena使うとarena解放するまでnode残るから無駄にメモリ使うのよ。
811 名前:デフォルトの名無しさん [2017/04/24(月) 00:32:48.88 ID:6h5JoTUe.net] >>794 キラーアプリが出ればねぇ。 ちなみに俺は力不足・勉強不足でrustは使えない。 それこそ広まってからもっと真面目に勉強しようかなぁってところ。 でもほんと期待はしてる。
812 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 01:17:18.29 ID:iqgOzto7.net] Firefoxがキラーアプリなんじゃないの?
813 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 02:32:17.00 ID:Uhs7fpwP.net] ripgrepって高速grepがあるぞ なお、早い理由のrust正規表現の中の人はGoogle製C++ Libの模様 dockerがgoで出来てても別段当時流行なかったし、rust適所を求めたい所存
814 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 10:05:04.89 ID:Ce/YXV/H.net] grepがキラーアプリ…
815 名前:デフォルトの名無しさん [2017/04/24(月) 10:45:03.83 ID:wWNCwbd3.net] 必要なのはキラーアプリではなくキラーフレームワークでしょ、Rubyにお
816 名前:けるRuby on railsみたいな。例えば色んな意味で扱いやすく高パフォーマンスなRust製ゲームエンジンとか出たら流行るかも? [] [ここ壊れてます]
817 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 11:21:49.38 ID:jmbJ/xCv.net] Web関連ではDieselがなかなか良さげなんだけど、MVCのMだけ優秀でも仕方ないしなあ……
818 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 12:54:52.94 ID:7aHDyTtY.net] ブラウザはメモリバグらせるとすぐexploitされる魔境だからRustになったけど他にそんなところってないだろうし
819 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 13:51:36.49 ID:37xJWuQr.net] rustで速く書くのってむずいよね
820 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 14:41:05.37 ID:H47kwRKj.net] >>802 ブラウザに限らず不特定多数と通信するソフトウェアは攻撃される。 サーバソフトウェアやP2PソフトウェアもRustの安全性が役立つと思う。
821 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 14:44:54.65 ID:YsR3dDij.net] てとはいえ大抵は「GCで良くね?」ってなるしなあ…… ブラウザはまさにそのGCと相性の悪い分野だからRustになるわけだけど
822 名前:デフォルトの名無しさん [2017/04/24(月) 16:32:01.09 ID:tbvSkh68.net] 言語の特性は組み込みに最適ではあるんだけど、動きが鈍い業界だからねぇ IoT絡みでスタートアップ企業が開発言語として採用とかあればもしかしたら一部ではやるかも。
823 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 17:56:13.42 ID:RtQoS8U2.net] そういや、ライブラリとしてGCを提供する話はどうなったの?
824 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 18:20:04.27 ID:A5CADFQV.net] 機械学習で流行んないかな? と思ったら leaf はもう開発停止してた。残念…
825 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 23:01:27.18 ID:Af0Uvivz.net] regionによるメモリ管理自体が「tracing gcと併用しましょう」で結論出てるけど、 real-time javaくらいでしか実用化されてない代物だから rust特有のメリットというと低レベルでも抽象度の高く書ける事と、 data raceをコンパイラが防いでくれることじゃない? ただ、interior mutabilityは自分で面倒見るのと、 実際にはsemaphoreとRWLockだけじゃ使い物にならなくて non-blockingやconcurent collectionやfuture・fork/join、 SIMDを利用しないといけないけどrustはライブラリ弱いのが弱点。 datetimeみたいな何やっても揉めるようなライブラリはいらないけど、 io streamやtext encode/decodeの様な汎用のもないから他人のgithubみてると再開発しまくってる。 こういう標準ライブラリにあるようなものすらなくていいとなるとやっぱり組み込みだよ。 bare metalやろうぜ!
826 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 00:11:02.98 ID:Pw354+ah.net] >>754 ファミコンエミュ
827 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 01:15:27.81 ID:82uAhcwa.net] >>801 Rocket良さそうじゃん まだまだ発展途上だけど
828 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 05:04:32.67 ID:o3HY2tae.net] 何も作らず競技プログラミング
829 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 07:52:50.89 ID:kOLZL9DX.net] ツリーで悩み続け、アリーナでツリーしてたけど、Rc<RefCell>にしたらかなり楽になった。(ボローチェッカー的に) でも下手したら実行時に死ぬなんて、全然安全な言語じゃなくなってるのつらい
830 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 09:58:03.56 ID:vpLTFLqL.net] >>813 コンパイルは目的じゃなくて手段だぞ 取り違えないように注意だ
831 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 14:03:28.41 ID:JVsqiSk/.net] 実行時に不具合起こすくらいならコンパイルで止められた方がマシ
832 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 13:02:01.11 ID:UU6zBZQ+.net] Rust向きのデータ構造を学べそうな本
833 名前:が発売される。 ただしコードがSMLなのでSMLを読める必要がある。 純粋関数型データ構造 https://www.amazon.co.jp/dp/4048930567 "Purely Functional Data Structures" の邦訳『純粋関数型データ構造』が発売されます http://d.hatena.ne.jp/ku-ma-me/20170316/p1 関数型言語での最適を考える:純粋関数型データ構造、Chris Okasaki http://www.injpok.tokyo/4048930567-functional-data-structure [] [ここ壊れてます]
834 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 14:46:59.61 ID:1aP1zib4.net] Rustで面倒なのは所有権が曖昧だったり循環参照の可能性があるようなデータ構造でしょう その本は、破壊的変更が無いorマイナーな関数型言語で効率の良いデータ構造をどう実現するかっていうのが主題のはず Rustは破壊的更新もできるしinterior mutabilityもCellやRefCellで実現できるし、逆にGCが無いから対象領域からずれてる 面白い本だけど、Rustに直接役立つかは微妙
835 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 17:37:30.60ID:xrM2MxeD.net] なるほどー 気になってたけど買わんでいいかな
836 名前:デフォルトの名無しさん mailto:sage [2017/04/28(金) 02:50:31.12ID:mEZ3JB/W.net] Announcing Rust 1.17 https://blog.rust-lang.org/2017/04/27/Rust-1.17.html
837 名前:デフォルトの名無しさん mailto:sage [2017/04/28(金) 07:59:12.67ID:Z9SVt9YO.net] >>819 くじけないなww 邪魔だからそろそろコテハン名乗れよ
838 名前:デフォルトの名無しさん mailto:sage [2017/04/28(金) 08:13:14.38ID:zzlMZhy4.net] ↑なんなのこの変な人?
839 名前:デフォルトの名無しさん mailto:sage [2017/04/28(金) 09:13:20.43ID:HrVNNKWr.net] マルチポストがうざい
840 名前:デフォルトの名無しさん mailto:sage [2017/04/28(金) 16:35:55.80ID:QjsjY1pw.net] わざわざ出張してくるアンチって必ずいるよね
841 名前:デフォルトの名無しさん mailto:sage [2017/04/28(金) 18:50:38.30ID:VS+BUfpC.net] >>820 しね
842 名前:デフォルトの名無しさん mailto:sage [2017/04/28(金) 19:44:43.43ID:wIDo3kGW.net] 何でお前らはわざわざ構ってちゃんに構っちゃうんだろうね
843 名前:デフォルトの名無しさん mailto:sage [2017/04/28(金) 23:26:08.53ID:7tdFyaEw.net] Rustの作り手っつーかServoチームがどうやって木構造を実現してるか気になるな。 木が作れない言語とかCの置き換えになる訳がないから、どっかにカラクリがありそう。
844 名前:デフォルトの名無しさん [2017/04/28(金) 23:29:09.90ID:EB1hHvLp.net] pfdsはモナドとかそっちの話 ML系はtracing gc載ってるもんだと 考えていいからrustで苦労する部分は関係ない。
845 名前:デフォルトの名無しさん mailto:sage [2017/04/28(金) 23:54:26.38ID:7tdFyaEw.net] つーかRustの中の人が「Data Structure in Rust」みたいな記事書けば解決する気がした。
846 名前:デフォルトの名無しさん [2017/04/29(土) 01:08:36.27ID:JJtwNZEl.net] Haskellみたいなイミュータブルなツリーを作ればいいんじゃないの?
847 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 02:09:39.72ID:rB0Fvmgg.net] >>828 データ構造に関わるRust言語仕様については詳しい記事がある。 でも>>203 によるとRustのデータ構造は発展途上だから 「Data Structure in Rust」は記事よりWikiの方が良いと思う。 Interior mutability in Rust: what, why, how? https://ricardomartins.cc/2016/06/08/interior-mutability
848 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 06:52:18.73ID:gpBNKKlw.net] 話題ないからって荒れてないで誰か>>819 に構えよ ずっとコピペしてんだぞ...
849 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 06:54:38.46ID:itnDcJNc.net] 時報みたいなもんだと思ってるし、特に必要ないけど別段いらないと騒ぐほどのものでもないし
850 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 07:23:49.26ID:ml8UsgdM.net] SPAMとしても頻度的にたかが知れてるし
851 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 08:21:53.98ID:rB0Fvmgg.net] >>831 Rust blogは巡回してないから新バージョンを知らせてくれるのはありがたい。 でも新バージョンに関するコメントを読みたければredditも読もう。 Cargoの新機能をコントリビュートした人が来ている。 The Rust Programming Language https://www.reddit.com/r/rust/ Announcing Rust 1.17!! https://www.reddit.com/r/rust/comments/67x46l/announcing_rust_117/ Announcing Rust 1.17 https://www.reddit.com/r/programming/comments/67x48c/announcing_rust_117/
852 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 08:59:42.66ID:odlCpz4e.net] >>831 メンヘラ臭い拒否反応だな。
853 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 09:25:50.46ID:4GuMMMYu.net] "foo" + "bar" はOKな糖衣構文にしちゃえばいいのに
854 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 14:34:05.02ID:TTyY7fIa.net] 時報とは言い得て妙だな。6週間のリリースサイクルだし。
855 名前:デフォルトの名無しさん [2017/04/29(土) 16:57:12.44ID:S/2IADGO.net] >>836 それは意見がわかれるところじゃね? 暗黙の型変換は、知っている人には便利だけど、知らない人には解析困難な不具合の元になるじゃん?
856 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 16:59:38.96ID:G5FLqmyn.net] 型変換じゃなくて、リテラルに限ってはconcat!で置き換えるという意味じゃない? どちらにせよ混乱の元には違いないが
857 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 17:20:18.00ID:wKCke3eM.net] >>838 Scalaとかまさにその辺(implicit)で死に体だな。 rustもderefで似たようなことになるけど。
858 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 17:51:01.81ID:KCJQ+KNC.net] 前はderef先のメソッドがドキュメントになかったから結構阿鼻叫喚だった Vecのiterってどこに定義されているのか分からなくて悩んだ記憶がある
859 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 22:41:34.26ID:XAi4G4Te.net] rustdoc使いもんにならんから。だいぶマシになったけど。
860 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 22:48:33.12ID:kikbE+mq.net] ドキュメントに嘘書いてる言語って早晩滅びる印象があるから 言語に機能足すより重要だと思うんでなんとかして欲しいところではある。
861 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 14:13:59.03ID:dMKT6vJn.net] 今のCargoの仕様だと、serdeとserde_deriveに依存する"serde" featureを作る、みたいなことが出来なくてクソ Issue rust-lang/cargo#1286は放置されているし
862 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 15:06:58.47ID:zu6P/YtU.net] 自分でPR作っていいのよ?
863 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 15:10:11.47ID:dMKT6vJn.net] Pre-RFCレベルで議論が止まってるのにPRを出しても、ほら、アレじゃん?
864 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 15:25:28.02ID:yC307k3w.net] Rustという存在がそもそもクソなのにたかが1feature取り上げてクソっていうの滑稽だと思いません?
865 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 15:30:18.21ID:dMKT6vJn.net] げ、召喚しちゃった
866 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 15:36:13.13ID:yC307k3w.net] >>848 あんたも本当はRustなんて使い物にならないって分かってるんだろ?
867 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 16:10:58.91ID:zu6P/YtU.net] 議論進んでないけどissueではalexもいいじゃんって言ってるし、コードPR出したら話進むんでね 実装難易度を計ってないから実装大変なら議論をせっつくしかないけども
868 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 21:51:06.29ID:cg8WUYRD.net] 2017年のロードマップ見る感じ、 今はどっちかっていうと敷居下げるための開発がメインになってて、 細かい融通の効かないところを直す作業に回してるリソースは少なそうな印象。
869 名前:デフォルトの名無しさん mailto:sage [2017/05/01(月) 11:29:01.79ID:hzoMRY/L.net] 裾野広げようとしたり敷居下げたりするとろくなことにならない
870 名前:デフォルトの名無しさん mailto:sage [2017/05/01(月) 13:37:42.52ID:DeKBxqzS.net] 一昔前は閉鎖的、独善的にOSS作って製大
871 名前:にやらかしたPJが多かったし、裾野を広げてくれた方が良いよ GNU周りなんて焼け野原ってレベルじゃねーぞ [] [ここ壊れてます]
872 名前:デフォルトの名無しさん mailto:sage [2017/05/01(月) 14:12:45.45ID:KtAp36Sz.net] Guileはmakeやgdbに組み込まれたしRは大成功じゃん__
873 名前:デフォルトの名無しさん mailto:sage [2017/05/01(月) 14:53:36.49ID:Hs34Q6fD.net] 裾野広げると大火傷するのはその通りだが、敷居下げるのは必要じゃないのか?元が高すぎるって意味で。 そのためのLanguage Server Protocolだったり、コンパイルメッセージの改善だったりだと思ってるが。
874 名前:デフォルトの名無しさん [2017/05/01(月) 23:46:06.84ID:ZiZ/DZmA.net] rustcのエラーメッセージは親切すぎてjsonフォーマットで取得したときの短い説明くらいでもいいと思う。 javacの仕様に忠実で簡潔なメッセージみたいなのが仕様覚えた時最強よ
875 名前:デフォルトの名無しさん [2017/05/02(火) 00:05:58.80ID:Wqf9gHHS.net] プログラミング業務に従事する人の全てがプログラミング得意ではないってことだから最大の安全策(ヘボが1人でもいたら死ぬので)
876 名前:デフォルトの名無しさん mailto:sage [2017/05/02(火) 01:06:19.38ID:C2K+k/F2.net] 今のメッセージはだらだらと出力垂れ流し過ぎで 注目してほしい所がどこか分かりづらいから コード書けない人は元から解読不能じゃないの?
877 名前:デフォルトの名無しさん mailto:sage [2017/05/02(火) 06:32:24.31ID:hjAzwlgs.net] rustc --verbose-error みたいなオプション付与するFR出そう(迷走感
878 名前:デフォルトの名無しさん mailto:sage [2017/05/02(火) 18:52:28.66ID:ul1GfwIs.net] error:の行だけgrepすれば
879 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 18:44:17.67ID:joqUnMHM.net] リリースノートにある Stabilized APIs ってどういう意味?安定化? API仕様は固定化されて、今後変更ありませんってこと? それとも実装が改善されて、より安定しましたよってこと?
880 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 18:47:35.13ID:joqUnMHM.net] あ、失礼 どうも単に「そのバージョンから追加されましたよ」って感じぽいね
881 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 19:08:10.33ID:SEHmhXUn.net] nightlyで実装しててstableに入った感じ? 破壊更新ないとは言え、変わる/代替するAPIはあるんだろうねぇ
882 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 19:44:38.59ID:joqUnMHM.net] > nightlyで実装しててstableに入った感じ? [This is a nightly-only experimental API.]からのパターンもあるのかな? [Unstable]が外れたとき Stabilized API ではあるみたい 例: 1.14から[Unstable]として存在してて 1.16からStabilized APIとされたstr::repeat https://doc.rust-lang.org/1.14.0/std/primitive.str.html#method.repeat fn repeat(&self, n: usize) -> String Unstable (repeat_str #37079) Create a String by repeating a string n times. ↓ https://doc.rust-lang.org/std/primitive.str.html#method.repeat fn repeat(&self, n: usize) -> String 1.16.0 Create a String by repeating a string n times.
883 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 22:57:01.88ID:K7D8UWDQ.net] unstableだとAPIが変更される可能性があって、nightlyのrustcで明示的にfeature宣言しないと使えない、つまり、unstableなの覚悟して使うことしかできない stableになるとnightly以外でも何もしなくても使える、かつ、rust 1.xの間は互換性が保たれることが保証されてる
884 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 22:58:45.11ID:K7D8UWDQ.net] 新しいAPIはunstableで入れていろいろな使い方を試し すことでAPIの問題を洗い出す 問題がなさそうならstableにする、と言う流れでAPIは追加されていく
885 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 23:39:38.56ID:pt3eTQQ5.net] 変更されうるのだとしたらもはや"stable"じゃないわな
886 名前:デフォルトの名無しさん [2017/05/03(水) 23:53:59.46ID:+mfvcDBb.net] >>862 > 「そのバージョンから追加されましたよ」 追加されるタイミングはnightlyだからそれはない。 unstable feature-gateいらなくなったって意味だと思う。 [] [ここ壊れてます]
888 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 06:16:36.53ID:RKPYINUc.net] 破壊的変更に興奮するのはD言語erだけだしな。
889 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 15:59:11.46ID:pmL645Ea.net] 言語仕様を破壊的に変更します
890 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 20:57:36.19ID:evgWhU4H.net] OpenGLまわり調べたんだけど、gliumという有力なやつが死んでて悲惨な感じ。
891 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 23:50:31.44ID:YwW9QOYO.net] お前らもちゃんと回答しとけよな Launching the 2017 State of Rust Survey - The Rust Programming Language Blog https://blog.rust-lang.org/2017/05/03/survey.html
892 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 00:09:45.35ID:ia8ugx7T.net] >>871 古い。glとglutin使え
893 名前:デフォルトの名無しさん [2017/05/06(土) 10:48:00.25ID:RxOQwEqu.net] >>865-866 などと油断しているとマナーの悪いライブラリが現れて既成事実化パンチを食らわす
894 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 10:56:40.09ID:KOSYyPxU.net] >>873 glutinも同じ作者だからしんでんじゃないの?
895 名前:デフォルトの名無しさん [2017/05/06(土) 20:14:14.95ID:2tqhhaHc.net] [u8](ただの数値の配列)とバイナリデータ(画像とか動画とか)で別の処理をしたいのですが、バイナリ型みたいなものってないのでしょうか?
896 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 22:37:18.12ID:MU54dFC0.net] >>876 rustは直接Read実装する設計だからStreamの概念そのものがないからない。 当然、その設計ではダメだからそこら辺やってるのはあちこちで車輪量産の重複祭りの無駄まみれ。
897 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 23:44:29.00ID:btijA/Fa.net] これひとつとってもいかにRustが使えないかわかってくれるかな
898 名前:876 [2017/05/07(日) 00:00:41.87ID:8fnm7svP.net] >>877 えぇ…ないんですか…
899 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 00:53:05.68ID:/2PQHse0.net] [u8]とバイナリって何が違うの?(無知)
900 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 01:39:18.20ID:Qw7Hyr2c.net] >>876 struct Binary(Vec<u8>) みたいに強いtypedefするのが良いと思う
901 名前:876 [2017/05/07(日) 01:39:29.33ID:8fnm7svP.net] MessagePackみたいなやつを作ろうと思っているのですが、例えばMessagePackの場合こんなふうになると思うのですが [1u8].to_msgpack() -> 0x91|0xcc|0x01 binary.to_msgpack() -> 0xc4|0xcc|0x01 こんな感じで出力するデータ(型情報の部分)を変えたいんです。 [u8]をラップする型を作るしかないのでしょうか?
902 名前:876 [2017/05/07(日) 01:43:28.96ID:8fnm7svP.net] >>881 やっぱりそうなってしまいますか… 標準ライブラリとかで代わりになる型とかがあれば良かったのですが…
903 名前:876 [2017/05/07(日) 01:46:59.72ID:8fnm7svP.net] あ、>>882 の0xc4|0xcc|0x01は0xc4|0x0f|0xcc|0x01の間違いです
904 名前:876 [2017/05/07(日) 01:48:17.83ID:8fnm7svP.net] また間違えた… 0xc4|0x01|0xcc|0x01です…
905 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 02:03:35.41ID:/2PQHse0.net] >>881 の言う通り、newtype patternの典型的な適用対象だな
906 名前:876 [2017/05/07(日) 02:55:21.52ID:8fnm7svP.net] >>881 の方法でやってみます!皆さんありがとうございました!
907 名前:876 [2017/05/07(日) 03:06:56.11ID:8fnm7svP.net] 何度もすみません、struct Binary(Vec<u8>)をVec<u8>に戻すにはどうやればよいのでしょうか?
908 名前:876 [2017/05/07(日) 03:14:36.88ID:8fnm7svP.net] std::mem::transmuteを使ったら変換できたのですが、unsafeを使わずに変換できる別の方法はあるのでしょうか?
909 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 03:22:21.66ID:/2PQHse0.net] l
910 名前:et bin = Binary(vec); から戻すには、 let Binary(vec) = bin; または let vec = bin.0; 後者のletはなくても良い https://doc.rust-lang.org/book/structs.html#tuple-structs [] [ここ壊れてます]
911 名前:876 [2017/05/07(日) 03:52:33.92ID:8fnm7svP.net] >>890 ありがとうございます!タプルだったのですね!
912 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 11:17:30.56ID:VPDa5WUk.net] https://blog.rust-lang.org/2017/05/05/libz-blitz.html 「電池同梱はめんどくさいから代わりにAPIガイドライン作るぜ!お前らの書いたもの公式に認めて欲しいならこの通りに書けよ!」だってよ。 ほんとモジカスは傲慢の極みだな
913 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 11:22:13.82ID:14wasV+G.net] 普通だろ。
914 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 11:34:54.97ID:VPDa5WUk.net] >>893 え、どこが? 最近の言語では当たり前になった電池同梱放り投げて自分でライブラリ書かず、 あまつさえ人に丸投げしておいて、その人の書いたものに文句つけるって最高に傲慢だろ。 Google(Go)だってそこまで傲慢なことしてねえよ。 そんで成果はSerdeみたく背乗りするんだろ? ただのショバ代やみかじめ料で懐肥やすヤクザじゃねえか。
915 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 11:45:28.65ID:VPDa5WUk.net] あーでもこれ元々のモジカスの商売のやり方だし、いつも通りっていえばいつも通りか。
916 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 12:04:33.68ID:ddnrmDhK.net] Google社員はお帰りください
917 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 12:29:03.87ID:0mnoYXCa.net] 電池てなに
918 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 12:39:58.75ID:/2PQHse0.net] Serdeといえば、dtolnayがlibs teamに入るってよ https://internals.rust-lang.org/t/announcement-david-tolnay-joining-the-libs-team/5186 以前からlibs teamっぽいことしてるなとは思っていたが。これとか https://github.com/rust-lang-nursery/lazy-static.rs/issues/70
919 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 13:41:03.47ID:yFu/STaX.net] 人様の言語にただ乗りしてる奴がなんか言ってら
920 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 13:41:52.62ID:Ca8+Q/ub.net] >>897 Rustを持て囃してるバカって電池同梱すらしらないで言語語ってんのか
921 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 13:47:52.30ID:zdh+Rbcj.net] え、Rustって電池同梱じゃないの?ゴミじゃん
922 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 14:04:46.63ID:T2T4uK8j.net] まさかRustがLLだとでも言うつもりか?
923 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 14:10:00.16ID:0LwsXYr3.net] Goはコンパイル言語だけど電池同梱に近いよね。
924 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 14:31:33.96ID:sD8ZUjOP.net] (電池ください)
925 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 14:38:38.33ID:4a4zif1L.net] >>904 Rust team「自分で作れ」
926 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 15:35:02.86ID:VGI2seLS.net] 最近はなんでも充電池内蔵が主流になったから、買ってきたはいいけど乾電池切らしてて今すぐ使いたいのに使えねえええええええ、っていうアレは今どきの若者には例え話として通じにくいのかもしれない
927 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 15:42:01.72ID:f0nSghKy.net] それが語源なのか 古いな
928 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 16:13:07.60ID:sZJnoCfs.net] 「電池付属してなかったから星1つ」なんてレビューはAmazonでたまに見る。
929 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 17:26:47.52ID:4ZC1qsBr.net] 今時電池ついて言語使うのなんて言語マニアか通常では考えられない程の最適化が必要かつ、自分で出来る人だけ 本当にCの
930 名前:代替なんだな [] [ここ壊れてます]
931 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 19:00:23.38ID:6aDVTTpe.net] >>892 つーかこのリンク先読んだら「電池同梱はめんどくさいから代わりにAPIガイドライン作るぜ!」なんて言ってない件。 - 使いやすい&見つけやすいライブラリは必要だが、それを標準ライブラリにしてしまうと言語が硬直化するよ(Scalaが昔はバージョンが上がるたびに標準ライブラリの破壊的変更でコードが壊れるとか言われてたなそういえば) - なのでRustチーム内でライブラリチーム立ち上げて、それ系のライブラリをcargoのcrateとして提供するプロジェクトやるよ(crateなら言語のバージョンとライブラリのバージョンを独立に運用できる) - 同時にAPIのガイドライン作って、標準crate内のライブラリとサードパーティのライブラリの使い勝手を揃えられるようにするよ - crate cookbookとしてユースケースに対応したドキュメントまとめるよ 「電池同梱はめんどくさいから」なんてどこにも書いてないんですけど?それどころかめっちゃ至れり尽くせりなんですけど?
932 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 19:30:33.62ID:/vTxYTBW.net] 意外と大事な話だと思うんだよなこれって 素晴らしい言語だと書きやすくて保守もしやすいやろ? プログラマの負担が下がってるはずやろ? 標準ライブラリなんてその気になれば どんどん充実させるくらいわけないはずやろ?
933 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 19:31:06.86ID:OLmdvIig.net] cargoって、依存ライブラリ(の依存ライブラリ)のバージョン指定が衝突したときはどうなるの?
934 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 22:54:21.84ID:n+lNXLOL.net] >>912 同一のバイナリに別々のバージョンが混在することになる ただしCargo.tomlで同一のlinksキーを持つパッケージ同士は混在させられないという制約があるから、foobar-sysみたいなcrateは別バージョンを混在させることができない また同一crateの別々のバージョンの型同士の互換性はない(例えばserde 0.9でDeserializeをimplしてもserde 1.0からdeserializeできない)
935 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 00:17:48.86ID:j5FwBoSL.net] >>913 へー、参考になるわ。ありがとう。 C用のリンカが絡んで来ない限りは混在できるって理解でいいのかな? staticな変数を書き換えてると想定外なことが起きそう
936 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 01:43:09.71ID:jo26XFAE.net] ラスト製看板ソフト is 何?
937 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 10:56:13.54ID:0hFJ5UkD.net] >>915 Servo Dropboxの内側 この二年間判子でも押してんのかってくらい これしか出てきてないやで。
938 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 11:13:52.88ID:mMhExRU7.net] まじかよripgrepアンインストールするわ
939 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 11:15:57.02ID:0QYEWDu4.net] rustが出たのってもっと前だろ... 1.0から始めたにわか知識でモノを言うのはどうかと
940 名前:デフォルトの名無しさん [2017/05/10(水) 12:47:54.37ID:nbHcOJ7d.net] >>917 それって中身c++?
941 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 14:46:02.55ID:5JQ8qpGt.net] >>918 それ1系になってからまともなキラーアプリ出てないことの擁護になってねえぞ。 0系から脈々と続いてるキラーアプリって例えば何だよ
942 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 17:37:23.36ID:rVDKC26c.net] ripgrepの速さの秘密はrust部分に無いって、誰か書いてなかったっけ?
943 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 19:19:59.40ID:XATnWRVq.net] ripgrepの基盤であるregex crateはRE2から一部設計を借りているが実装そのものはpure Rust そしてそのRE2との比較ベンチマークでは概ね優位な結果を出している https://github.com/rust-lang/regex/blob/master/bench/log/05/re2-vs-rust まあこれだって、速さの秘密は設計であってRustではないと言えなくもないが、それを言い始めたらどんなものだってそうなるわけで……
944 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 20:29:48.23ID:qFSf2ut1.net] ripgrepまじはやいな
945 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 22:15:45.77ID:vC5mCQJ8.net] とはいえ導入の手間考えたらag使うわけでな?
946 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 00:31:42.38ID:1trPjqZb.net] 配布してるバイナリ使えばよいのでは
947 名前:デフォルトの名無しさん [2017/05/12(金) 22:13:56.60ID:/qNs0s39.net] ビルドが成功せず困っています。 トレイトをVecに入れることはできないのでしょうか? よろしくお願い致します。 https://play.rust-lang.org/?gist=71800494b0fd1c3e6e01319033d02ccb&version=stable&backtrace=0
948 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 22:24:41.25ID:ePjXpOIy.net] >>926 ほい https://play.rust-lang.org/?gist=9322e2e43abda0ffdf9c3622b0458295 TRPLのtrait boundのあたりを再読することを勧める https://doc.rust-lang.org/book/traits.html
949 名前:926 [2017/05/12(金) 22:41:29.54ID:/qNs0s39.net] >>927 ありがとうございます! できるんですね!安心しました! もう一度読み直してみます!
950 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 08:06:40.42ID:xsq9/VMj.net] >>927 3.19. Traits https://doc.rust-lang.org/book/traits.html 4.19. トレイト https://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/traits.html 章番号が違うと思ったら翻訳の方は1章がIntroductionだった。
951 名前:デフォルトの名無しさん [2017/05/14(日) 08:52:33.34ID:fadi1QDK.net] impl From<_> for XXXを実装した型をimpl From<ここ>に入れたいのですが、どのようにやれば実現できるのでしょうか? 昨日の夜からずっとやっているのですが解決方法が見つからずにいます。 よろしくお願い致します。 https://play.rust-lang.org/?gist=a375fc6be8b1fe372b37b2c6016a8f21&version=stable&backtrace=0
952 名前:930 [2017/05/14(日) 12:26:08.29ID:fadi1QDK.net] よく考えてみたら>>930 でFromを実装しているのはXXXなんだからFrom<ここ>にいれることはできないですよね…
953 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 13:36:42.22ID:pJQIemEX.net] >>930 やりたいのはこんなこと? https://play.rust-lang.org/?gist=409ea391ea26bedd99815cfd5321f329
954 名前:デフォルトの名無しさん [2017/05/14(日) 13:37:18.02ID:Md4a44U8.net] >>931 fromの中身をJSON::Array(v)にすれば???=JSONで通るよ 俺も初心者だからよく分かんないけど enumをコピーしたいんだったら#[derive(Clone)]を使えばいいのかな?
955 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 14:39:39.74ID:zrHRjUcE.net] >>932 T: Cloneは不要 https://play.rust-lang.org/?gist=653a0583d14c167d30db66a8e4c2fb6f どうせならFromIterator<T>も実装しておくべきかかもな
956 名前:930 [2017/05/14(日) 14:42:29.11ID:fadi1QDK.net] >>932 ありがとうございます!これです!これがやりたかったんです! 多分できないんだろうなと思って完全に諦めていました! ありがとうございます!
957 名前:930 [2017/05/14(日) 14:45:46.69ID:fadi1QDK.net] >>934 Clone無しにできるんですね!ありがとうございます!勉強になります!
958 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 14:46:26.59ID:ZMLrc75/.net] てかserde_jsonで良くね?
959 名前:930 [2017/05/14(日) 15:05:42.81ID:fadi1QDK.net] >>937 新しいシリアライズフォーマットを作っていたのですがどう実装していいかわからないところがあり、質問する際に回答しやすいかなと思ってJSONにして質問してみました! serde_jsonは型情報が事前にわかってないとシリアライズ/デシリアライズできないと思い込んでいましたがそんなことないんですね!serde_jsonのソース見てみます!
960 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 19:26:14.20ID:Tf+uq8In.net] cargo-cake - Cargo: packages for Rust https://crates.io/crates/cargo-cake >A cake for celebrating Rust's birthday
961 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 21:11:51.51ID:bY/Wnlnx.net] そろそろRustの誕生日なんだっけ?
962 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 09:57:29.68ID:pE9H07RL.net] >>939 一番好きなOSSライセンスで配布されてて、入れねばと思った次第 このライセンス、もっと流行ってほしい
963 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 10:06:00.24ID:f88CfZw6.net] こんなライセンスあるんだ GPL股間でケツみたいなロゴ
964 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 19:45:14.25ID:1qJaUFOe.net] WTFって what the fuck かよって笑ったらホントにそうだった。
965 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 19:52:14.49ID:KhU24P3y.net] NYSL(煮るなり焼くなり好きにしろライセンス)てのもあったなー
966 名前:デフォルトの名無しさん [2017/05/18(木) 19:53:40.57ID:/+P5IoOC.net] 夏かC
967 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 20:36:37.70ID:38KyjAHn.net] crate見てると、MITとApache-2.0のデュアルライセンスが多いね なんか理由あるのかな? 単に他の人がそうしてるから? ほかの言語のライブラリと比べると、BSDライセンスやGPLがもっと多くても良さそうな気がするんだけど
968 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 20:53:08.58ID:fOFaQvk5.net] BSDって厳密には「BSD風」でないと権利元が違う所に行くんじゃないのけ 最新のBSDライセンスは変わってるのかもしれんけど BSD風 = MIT な条項になるはずだからBSD風にするならMITで済ます方が楽だと思う APLは広告表示を伝播させるウィルスライセンスだからGPL並みに嫌いだ... だから、BSD風やMIT、しいては好き勝手を許すWTFPLを愛してる
969 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 21:56:20.62ID:kFoUD79v.net] さすがにBSDっていったらnew BSDだよw いつの時代からきたの
970 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 22:08:12.07ID:H9PBwwNn.net] rustのオフィシャルcrateがMIT/Apache2.0にre-licenseしたときに core teamの人がいろんなcrateにrelicenseしないかとissueたててたからきっとその影響
971 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 22:09:14.25ID:ohXqIolz.net] これだな https://github.com/sfackler/rust-openssl/issues/331#issue-125839119
972 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 22:17:01.68ID:38KyjAHn.net] へー、ただの偶然や、なんとなくじゃないんだな
973 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 22:32:31.37ID:38KyjAHn.net] もっと読んだら、こういう事か Rustの主要ライセンスはApacheライセンスだけど、GPLv2互換にする為におまけとしてMITライセンスも付けてる だからRustエコシステムの一環として、このcrateもデュアルライセンスにしてね 俺の中では、Apacheライセンスの方がマイナー感あるけど、こっちがメインらしい
974 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 22:43:24.79ID:fOFaQvk5.net] >>948 new BSDという存在がなかった時代から来たよw 今はそんなライセンスになってんのな、流石に「BSD風」の面倒さはいつまでも保たなかったか Apacheがまだ元気だった頃、Apache製のJava LibがAndroidなんかで大量に使われて一気に流行ったよな > APL GPLv2だと商用で使えないけどBSD風/MITだと売名できないからって00年代にはよく使ってたわ
975 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 09:05:07.26ID:r5Vu9+iD.net] Apacheはpull reqの著作権が譲渡されるのが便利だから使われてる
976 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 12:16:11.47ID:Cc5/b8RU.net] Apacheの方が企業で使いやすいと聞いたことある 広告表示の伝播って何?
977 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 14:23:28.33ID:7dSH5YZb.net] GPLと違ってソースコード開示義務がないから、クローズドソース企業でもAPLソースを利用できる MITと違って権利元の紹介/参照表示義務があるから、APLソースを作った企業は広告塔として利用できる 利用側、提供側の両方の企業にとってWin-Winだねぇ PRの著作権が譲渡されるのが便利ってのは意味わからんけど PR受領側がAPLにしてても意味ないし、PR発行側がAPLにしたら権利譲渡されないでしょ
978 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 16:01:37.09ID:YSFiOlnd.net] https://www.viva64.com/en/b/0324/ 古い記事だが俺がずっとRustはクソ言語未満って言ってるのは正しかったと確信できた。 ここにいるクソモジラの工作員は百万回読んで反省しろ。
979 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 16:17:53.03ID:00885lZ8.net] 工作員とか言い出す辺り電波ちゃんか。
980 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 16:19:17.30ID:YSFiOlnd.net] >>958 クソ言語を流行ってるように見せかけて害悪を撒き散らしてるのが工作員じゃなくて何なんだ? 実際に雇われてなくても工作員には変わらない。
981 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 17:19:26.35ID:uFlt+gQT.net] >>957 確信出来たけどまたここに来ちゃうんでしょ〜?
982 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 17:37:02.20ID:YSFiOlnd.net] >>960 うっかりステマに騙されてこのスレに来た奴に本当の情報を教えて救う仕事があるからな。
983 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 20:18:17.49ID:ICcQ+KKA.net] >>957 半分くらいで読む気なくしたけど序盤からグリーンスレッド云々とか言ってて「は?」って感じだし 途中でD言語の衰退とかに触れてるのはあまり関係ない話だし、 引き合いに出されてるベンチマークの結果は最新版では順調にC/C++に近づいてて色々笑える
984 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 21:05:47.66ID:rqeuDXpP.net] 二年も前の記事なんて引用するもんじゃないなww
985 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 22:56:06.99ID:myVq12PI.net] >グリーンスレッド云々 C++の後継狙ってないなら絶対切ってない機能だから、これ切った時点でC++の置き換え狙ってないとか口が割けても言えないよな??? でこの体たらくかwwwwwww ってことな。 >D言語の衰退 かつてCやC++の後継を狙った言語がことごとく結局技術的負債になってるが、Rustがそうならない理由どこにもないけどそれでも使うの??? ってことな。 >引き合いに出されてるベンチマークの結果 ソースなし擁護乙。
986 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 22:58:39.55ID:ICcQ+KKA.net] >>964 箱ひげ図くらい読めるよな? benchmarksgame.alioth.debian.org/u64q/which-programs-are-fastest.html
987 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:42:10.72ID:R52jpALp.net] >>957 Vec<Rc<RefCell<Box<Trait>>>> に爆笑したわ 別名つけるなり構造体に押し込むなり色々やりかたがあるって自分の示したソース(しかもRedditて)で書かれてるし そんなんC++でもやるだろ つか個人的にはC++のテンプレートの方が記述ひどいわ あと記事の最後の 「C++erは(中略)必要とあればRustを習得するのはすぐできるが、逆はほとんどありそうもない」 っていうのは全力でダウトぶつけたいわ。簡単なのは闇の軍団くらいだろ 逆に言えば「闇の軍団くらいになればRustなんていらない」っていうことなのかもしれんが
988 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 00:27:26.97ID:Ff6K3/VM.net] >>965 Cの箱が潰れてただの線になってるのほんと笑う C++にはかなり追いついている(というか中央値はほぼ同率か)が、Cだけは越えがたき壁だな
989 名前:デフォルトの名無しさん [2017/05/20(土) 01:16:59.18ID:FvSbl/DO.net] >>964 「ない」ばっかり、君日常会話も否定から入るタイプ?
990 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 07:19:30.94ID:ByT4iV18.net] >>964 グリーンスレッドにあたるものってC++にはないよ。だからよりC++に近付いたんだよ。 もっとRustとプログラミング言語勉強しないとくそ言語かどうか判らないね〜。 またRust勉強したら帰ってきてね
991 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:08:32.95ID:POYpVYoy.net] goスレの俺のレスを工作員だと思って来たんだろうから、あっちでrustをディスっておいた 「ずっとRustはクソ言語未満って言ってる」のに確信持ってなかったとか驚いたゾ 根拠なくクソ言語未満って言ってたとかお前は原人かよぉ
992 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 17:57:16.26ID:QYvr2rA8.net] >>969 そもそもの>>957 の文が「グリーンスレッドを切ったんならC++の置き換えを狙ってるってことだよな?」という内容だからその点に限っては>>964 は間違っていない
993 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 18:18:03.04ID:FvSbl/DO.net] そもそもグリーンスレッドなんていらん
994 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 19:47:44.68ID:FUP6GO5Q.net] グリーンスレッドのいる理由もいらん理由もわからなくて辛い
995 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 20:02:52.38ID:yXBDkmxu.net] グリーンスレッドある=へーrustやるじゃん ない=まぁ無くても…別にねぇ?
996 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 20:31:44.28ID:HYrvvmg5.net] そりゃ要らんだろ。 擬似スレッドなんて。
997 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 21:08:20.63ID:NqXZxUdZ.net] > グリーンスレッドある=へーrustやるじゃん この頃はどういう背景だったんだろうねぇ、goroutineを真似てみたかった感じなのかね 同じものを実現することは不可能なわけで、それでグリーンスレッドイラネになったのなら必然だわな
998 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 21:29:09.33ID:1hsFVVTl.net] グリーンスレッドがあればGoと勝負する位置の言語としての存在価値ができた。 グリーンスレッドを捨てた結果、愚かにもC++に弓引くドンキホーテになった。
999 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 23:31:32.24ID:FvSbl/DO.net] どんどんcpuコアが増えていくのにグリーンスレッドとか、、、
1000 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 23:38:34.66ID:QYvr2rA8.net] よく分からんのだけど、グリーンスレッドが解決しようとしている問題ってコア数を増やせば解決できるような問題なの?
1001 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 23:57:14.86ID:FvSbl/DO.net] >>979 あーそんなことは言ってない。cpuを有効活用してかないといけないのに今更グリーンスレッド持ち上げてもアレだよと。
1002 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 01:41:54.52ID:DDrTaXD8.net] if let Some(a) = x && let Some(b) = yみたいに書きたい
1003 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 04:11:14.25ID:cLRuMlqp.net] if let (Some(a), Some(b)) = (x, y)
1004 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 06:52:28.40ID:9L9dm7b/.net] >>977 このドンキホーテも真っ青な的外れな指摘よ グリーンスレッド載せてもGo(goroutine)との勝負の土俵に上がれないってばよ >>982 ぱっと見、()が多くてタイプ面倒そうでもっとシンプルにならんかなと思ったけど letや&&なんかを何度もタイプするより短いんだな
1005 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 11:03:41.44ID:HTknFc4w.net] システムプログラミング言語としてネイティブスレッドのサポートは必須なんだけど 標準ライブラリのIO系関数をネイティブスレッド、グリーンスレッドのどちらでも使えるようにすると ネイティブスレッドで使ったときのオーバーヘッドが大きすぎると問題になった グリーンスレッドとネイティブスレッドにそれぞれ別のIO関数用意するのだったら 標準ライブラリでやらなくても良いよねということになって グリーンスレッドサポートはドロップされた
1006 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 11:21:50.34ID:rlx7fyr1.net] https://crates.io/crates/trip trip finds 2channel-style tripcodes 2ch用ツールがcrates.ioに上がってるね。
1007 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 12:22:45.36ID:HwsOwdy1.net] Rustには可愛いマスコットキャラいないの?
1008 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 12:47:53.53ID:cLRuMlqp.net] >>985 もうメンテナンスされてないっぽいけどこっちの方が多機能そう https://github.com/Huton/tripcode-rs
1009 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 12:50:18.66ID:cLRuMlqp.net] ……と思ったけどよく見たら>>985 は探索ツールか
1010 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 12:51:09.59ID:hU2RwKDa.net] >>986 おれもユニティーちゃんみたいなのほしいんだが
1011 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 12:51:29.25ID:hU2RwKDa.net] カニの擬人化
1012 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 13:07:17.24ID:rlx7fyr1.net] >>986 カニのフレンズがいるって、このスレで見た
1013 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 13:09:35.76ID:cLRuMlqp.net] Ferris the Crabは今のままでも十分可愛いよ
1014 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 13:30:02.02ID:hU2RwKDa.net] フェリスたんがかわいく見えないのはまだラスタシアンになりきれてないからなのか
1015 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 13:32:15.48ID:HwsOwdy1.net] いるのかと思ったらそのカニ非公式じゃねーか
1016 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 13:47:49.18ID:rlx7fyr1.net] borrow checkerのマスコット blog-imgs-10.fc2.com/k/a/n/kaniking/shanghaigani070107.jpg
1017 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 14:04:48.14ID:9L9dm7b/.net] 次スレ ttps://echo.2ch.net/test/read.cgi/tech/1495343069/l50
1018 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 14:08:51.46ID:hU2RwKDa.net] 誰か絵心あるやついないのか
1019 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 15:13:30.59ID:2E7Z41P0.net] へ____ミ へ..........ミ へ____ミ
1020 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 15:13:59.69ID:2E7Z41P0.net] 失敗
1021 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 15:14:22.40ID:2E7Z41P0.net] 穴があったら埋めたい
1022 名前:1001 [Over 1000Thread.net] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。 life time: 200日 12時間 1分 43秒
1023 名前:1002 [Over 1000Thread.net] 2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。 運営にご協力お願いいたします。 ─────────────────── 《プレミアム会員の主な特典》 ★ 2ちゃんねる専用ブラウザからの広告除去 ★ 2ちゃんねるの過去ログを取得 ★ 書き込み規制の緩和 ─────────────────── 会員登録には個人情報は一切必要ありません。 月300円から匿名でご購入いただけます。 ▼ プレミアム会員登録はこちら ▼ https://premium.2ch.net/ ▼ 浪人ログインはこちら ▼ https://login.2ch.net/login.php
1024 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています