1 名前:デフォルトの名無しさん [2017/05/21(日) 14:04:29.55 ID:9L9dm7b/.net] Mozillaがリリースした、プログラミング言語「Rust」について語るスレです。 www.rust-lang.org/ https://github.com/rust-lang/rust Servo https://servo.org/ https://github.com/servo/servo ◆前スレ プログラミング言語 Rust 2 echo.2ch.net/test/read.cgi/tech/1478023960
653 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 09:30:00.19 ID:DDLonIhk.net] >>637 Specialize可能な実装を表す修飾語 https://github.com/rust-lang/rfcs/blob/master/text/1210-impl-specialization.md
654 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 09:35:30.79 ID:deDFrfsy.net] rustconfのまとめ誰かたのむ
655 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 09:41:20.78 ID:C9KUE8jE.net] >>638 ありがとう。 本家ソース読んでると、ドキュメント化されてない文法とか現れて時々困惑する。
656 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 23:09:44.08 ID:SJLsCwn3.net] impl-specializationってfor T以外に具象型でも出来たのか。パラメタ型が現れればいいのか。 >>640 まだRFC #1331が出来てないから正式な文法は存在しない。 自分が使ってるrustcのソース読む以外に文法知る術はないよ。
657 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 02:50:24.84 ID:4QoHymGs.net] チルダ記号~、owned pointer が廃止されてから余ってるけど、何かに使わないのかね
658 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 07:25:27.68 ID:B+nj/ke1.net] オフラインで開発するときにどうすべきかを書いたドキュメントってないの? インストール方法とかライブラリの取得・展開方法とか
659 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 07:54:23.48 ID:4QoHymGs.net] https://www.rust-lang.org/ja-JP/other-installers.html にインストーラーあるだろ。 あるいはレポジトリからソース落として ./configure; make; sudo make install で終わらんか? 依存ライブラリは、Cargo.toml で [dependencies] foo = { git = "https://github.com/hoge/foo.git" } の代わりに、https://github.com/hoge/foo をクローンして来て、 [dependencies.foo] path = "../foo" こんな感じでパスを与えれば良い。
660 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 09:46:49.23 ID:OBNmODWh.net] 最近のpythonではpipでコンパイル済みのバイナリをダウンロードしてインストールしてくれるけど rustの世界でもこうなりませんかね
661 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 12:24:06.11 ID:18+Jkbm8.net] 前も同じ質問してたな rpmやbrew, windows storeにバイナリをアップすればいいんじゃないの ユーザ向けのバイナリ配布環境なんてrustやcargoが整備するモノじゃないでしょ どうせrustやcargoを扱うのは開発者で 開発者はバイナリよりソースの方が色んな面で助かる
662 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 13:30:39.91 ID:H3GKgLxU.net] cargoにオフラインモードってないの?
663 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 23:29:11.08 ID:iIVYU9Hy.net] >>643 ,647 めんどくせぇ話ししてんな。 alexcrichtonが頑なに拒み続けてるからオフラインでcargoは*まとも*につかえね。 依存crateが全部ローカルにあれば問題ないけど、そもそも外部crateがcargoに 依存してるせいで結局、ネットワークにアクセスする。それにapache archivaみたいなのが rustにはないからローカルで管理もできんし、cargo-vendorもcargo-local-registryも開発止まってる。 現状、依存グラフの全てを事前にローカルにダウンロードするツールがない。 cargo側のindexもcargo.lock更新する必要もないのに ネットワークアクセスしてオフラインでクラッシュする問題は そろそろ落ち着いてきたけど、rustcの依存関係調べるあたりが 腐ってるからそっちも影響してくる。これの問題は今、 インクリメンタルコンパイル実装の障害になってるからどうにかしてる最中。 海外は日本と違って無線LAN環境普及してるからか、 ちょっとオフラインになっただけでテストすら走らせられなくなったりでissue飛びまくってんだけどね。 結局replaceも糞でpatchに置き換わるし。
664 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 00:17:41.78 ID:l7HQ+RMc.net] 自宅ならともかくモバイルで開発しようとするとオンライン必須は迷惑 rustc直打ちなら問題ないけど非標準のCrateをどうするんだという話に
665 名前:デフォルトの名無しさん [2017/08/24(木) 00:28:13.68 ID:31vrvgnR.net] Frequently Asked Questions doc.crates.io/faq.html#how-can-cargo-work-offline > How can Cargo work offline? > ...(中略) > As of Rust 1.11.0 Cargo understands a new flag, --frozen, which is an assertion that it shouldn't touch the network.
666 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 02:10:25.35 ID:2y1G8HO4.net] モバイルもさることながらオフライン限定サーバとかあるしなあ
667 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 09:10:11.03 ID:7OYe0+S4.net] よく分からんけど、週末カフェでテザリングしながら開発する分には全く困ったことないけどな 海外っつーか米国は半端に無線LANが整備されまくってるから大変そうだなぁとは思う
668 名前:デフォルトの名無しさん [2017/08/24(木) 10:02:40.03 ID:N2QX0p2s.net] >>652 > よく分からんけど、週末カフェでテザリングしながら開発する分には全く困ったことないけどな 節子それはオンラインだ。 飛行機に乗ってる時とかはそれなりの時間オフラインになりそう。
669 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 10:56:17.70 ID:yyGwhDVO.net] >>653 清太よ、>>649 の「自宅ならともかくモバイルで開発しようとするとオンライン必須は迷惑 」へのレスだよ この「モバイルで開発」はテザリングを指しているのではないのであれば、どういう環境のこと言ってるんだろうね
670 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 11:36:23.74 ID:nec4MnrL.net] 移動中という状態を除外したら移動体通信ではなくて只の無線通信
671 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 18:47:05.57 ID:NSzs0jC1.net] 個人的にはcargoが色々手を回しすぎなのが問題だと思うよ ちょっと想定外だけど真っ当な使い方をしようとすると面倒が増えて、それをissueとして投げるしか無いからcargoがますます巨大になる https://github.com/rust-lang/rust-roadmap/issues/12 ↑でもちょっと出てるけど、今のcargoはインターフェイスとしてそれなりに使えるので、rustc以上cargo未満なツールを作ってくれるとありがたい 他のビルドツールとの連携とか今はかなり面倒。
672 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 06:54:52.63 ID:fv88sy22.net] struct Node<T> { data: T, } があって、 struct Container<T> { nodes: Vec<Rc<RefCell<Node<T>>>>, } のようなContainerを定義して、このコンテナから&Tに直接アクセスするiteratorを作りたい のですが、どうしたら出来るでしょうか?(そもそも出来るのでしょうか?) 雰囲気的には↓のような感じになると思うのですがライフタイムがよく分かりません。 https://play.rust-lang.org/?gist=fb73c80c4303adc14083d049de6ccf3e&version=stable
673 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 12:13:31.91 ID:wqoYH6g/.net] >>656 そういう公式ツールの増大は開発環境を複雑&巨大にするばかりだからやめて欲しい cargoサブコマンドを公式rust libよろしく外部に吐き出してしまえば鬱陶しい文句も出なくなりそう
674 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 15:09:41.26 ID:yTj1cv1p.net] >>657 この例ではRefCell::borrowが返すRef (owned)から<Ref as Deref>::derefによってRefからの借用として&Node<T>を得ているわけだけど、 <NodeIter as Iterator>::nextの末尾でRefがdropされているから借用は関数の外まで生き残らない &Tを直接返す方法があるとは思えないけど、Ref<'a, T>を返すことはできる https://play.rust-lang.org/?gist=5c4a7b0de00dcc6ec0612b8846dd6bfb&version=stable
675 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 15:38:40.83 ID:J7NBnr1n.net] >>659 Refを返すのは思いつきませんでした。 ありがとうございます。それでもよい気がするのでやってみます。
676 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 10:47:16.34 ID:O+zDlIdw.net] このスレで話題にするのはアレかもしれないが、 Servo nightly build が いつ試してみても盛大にぶっ壊れていて、開発順調なのか心配になる。 Rust で開発していると mutability で詰むことがあって、よーく考えてデータ構造なり を変更すればうまく解決できることが多いし、コードもより良くなっていることが多い。 でもその変更って毎回異なった自明でないものだし、局所的なもので済まないこともある。 Servo くらい大規模なプログラムになったとき、もうどうしようもなく詰んだりしないんだろうか。
677 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 11:32:33.62 ID:mrwT3sC4.net] やっぱブラウザ作るには向いてません てなったら悲しいな
678 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 12:07:35.67 ID:O+zDlIdw.net] 気づいたら struct のメンバがほとんど RefCell になってるとかありそう。
679 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 12:14:24.38 ID:3J5PaXHT.net] Rustに熟知してれば変更は自明であり、機能分解点を精査してれば変更は局所的なもので済むんでないかな 小規模なモノを無計画に作るにはRustは適さない言語だと心底思う Servoは長いこと開発続けてるけどあんまり精力的に開発する気なさそうだよなぁ Mozillaが営利団体として潰れそうだし・・・実際Mozilla Japanは潰れてるorz
680 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 12:48:20.45 ID:qL+5xDF6.net] キノコ雲を見上げるsteveklabnikの画像がRust界隈でにわかにミーム化しつつあって笑う
681 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 16:16:56.49 ID:1psTTOfA.net] servoで作ったモジュールがfirefoxに取り込まれていっているし、実験プロジェクトとしては成功なのでは
682 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 22:25:08.80 ID:YYTb5WfA.net] Rustに限った話ではないですけど ・構文解析 ・ハイライト ・オブジェクト追跡 ・入力補完 などの機能を持ち高速に動作するテキストエディタってないですかね? JavaやNode.jsを使った物は総じて動作が重いですし、Cなどで書かれてネイティブな物は機能性で劣る気がします
683 名前:デフォルトの名無しさん [2017/08/27(日) 01:57:19.50 ID:OZ/i8G6F.net] >>667 Node.jsで作ったエディタが重いってそれVSCodeの前で言えるの?
684 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 02:04:39.75 ID:mxFQINt9.net] ageるなアホ VSCodeつーかAtomは実際重たいからな あとスレッドぶん回すからノートPCで動かすとバッテリー消費がシャレにならん JetBrainsのCLionにRust Plugin入れたらブレークポイントも貼れるし良いぞ 誰かJetBrainsから有料版出る前にブレークポイント貼れるようにするPR出さないかねぇ 地味に高いから購入する気にはならんのだよな
685 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 02:12:16.71 ID:PbodRtd5.net] Rustプラグインを単体の製品にするとは思えんけどねえ 彼らは例えばScalaのプラグインとかも手がけているけど別に製品化している訳じゃないし
686 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 02:34:48.02 ID:SDSllFYF.net] VSCode重たくて殺意生える いちいちワンテンポ遅いんじゃ
687 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 04:11:59.30 ID:y+D9Ax/7.net] Vimすらも重いことあるんだけど俺
688 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 07:38:59.45 ID:mxFQINt9.net] vi使えよ、viの軽さに慣れたらvimはそりゃ重たいでしょ >>670 Scalaなんて10年以上前に流行った言語のIDEを今更有料化しても売れないだろうからな Rustは今現在流行ってる(?)言語だし売るんじゃねーのかね
689 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 10:25:11.28 ID:y+D9Ax/7.net] viとか使ってるやついたのか
690 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 12:17:29.76 ID:PbodRtd5.net] Xi使おうぜ
691 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 12:49:38.49 ID:PVSAtTcW.net] Atom (Electron) が Blink から Servo に乗り換えれば軽くなるのだろうか?
692 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 19:27:41.18 ID:gsqvcCn0.net] vscodeって重いよな?起動も動作も軽快とは言い難い むしろvscodeが軽快に使えているという人がいるならどのような環境で使用しているのか聞きたいわ SSDを乗せた標準電圧版Coreiモバイルノートでも結構もっさりだし
693 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 19:39:49.26 ID:PbodRtd5.net] もっさりとかいう言葉じゃ意味不明だからせめて数値で言ってくれ
694 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 19:47:01.83 ID:SLqFnPu1.net] 何を妥協して「せめて」なのか分からんが数値あげてやろう MacBookでIntelliJが6時間くらい保つ所が3時間くらいしか保たない程度に無駄処理多い プロセス上の待機スレッド数も10〜20くらい違った覚えがある 待機中でもそんだけスレッド回してるから、コーディング中、ビルド中の負荷もでかくなるよね VSCodeを愛用してるコーダーはemacs愛用してるコーダー並みにマゾだと思う(viユーザ感
695 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 19:49:16.80 ID:SLqFnPu1.net] >>678 あ、レスするならついでに「せめて」で説明要求を妥協した点を教えてくれい 確認してる範囲であれば答えるよ
696 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 23:25:25.14 ID:tvWh4D3N.net] 好きなエディタを使ったらええ
697 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 09:34:01.20 ID:A8OmMbPi.net] 全くだ、重たいと事実を指摘されても発狂することなく 重たくても他に良い所があるから使ってるんだと言い切っていたemacs愛用者は良い人たち >>675 バックエンドRust, フロントエンドSwift, 通信プロトコルJSON, プラグインサンプルPython ごった煮過ぎて笑うわw
698 名前:デフォルトの名無しさん mailto:sage [2017/08/30(水) 13:54:58.32 ID:AB0hyKA3.net] rustってやっぱりスペックいいパソコンと高速なネット回線がないと厳しいですね
699 名前:デフォルトの名無しさん mailto:sage [2017/08/31(木) 22:48:16.13 ID:agJG8fpm.net] 普通の言語だと処理の一部を関数に切り出すのとか簡単に出来るけどRustだと返り値の方が分からなくてそれが難しいことがあるよね
700 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 10:25:57.73 ID:pDFuyP/L.net] let a: () = { ... }; でコンパイラがエラーとして正しい型を教えてくれるぞ。
701 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 13:32:10.36 ID:PRuVKL7F.net] クロージャにすれば良い なあに、きっと最適化で普通の関数と同じ扱いになるさ(適当)
702 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 20:19:45.83 ID:Mxd80Z9N.net] Rustのスレあったんだね
703 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 20:51:46.56 ID:d10AKhdK.net] おい、時報はどうしたんだ?
704 名前:デフォルトの名無しさん [2017/09/01(金) 23:41:11.07 ID:62CxLGbq.net] unsafeだらけ
705 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 23:45:28.89 ID:PRuVKL7F.net] Pijulで開発されているらしきcrateを発見してrepositoryリンクを辿ってみたらNot foundが返ってきた https://crates.io/crates/futures-derive
706 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 00:14:47.90 ID:aRnAy5mn.net] スクワット中なんじゃないの, 筋力ついたらリリースされるでしょ
707 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 00:45:15.54 ID:Qzt2A3g3.net] Rustが最強のプログラミング言語である証明 https://hayato.io/2017/icfp-rust/ 遂に証明されたか……
708 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 01:24:01.14 ID:X2T/f4uE.net] Round 1の結果のみで語られてもねえ
709 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 01:50:33.08 ID:cF7LUBE8.net] なんかnightlyにPythonのジェネレータ入ったとか聞いたんだけど誰得? もうtokioつかFutureあるし。
710 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 08:16:03.50 ID:oilxAadu.net] いつまでたってもスライスパターンが標準にならないのなんで? ほかの関数型言語みたいな言語標準?のリストと、そのパターンマッチ、があればいいけど そういうつもりもないんならスライスパターンをはよ強化&標準装備してほしいんだが
711 名前:デフォルトの名無しさん [2017/09/02(土) 08:35:22.00 ID:zv/5K5Jn.net] 私は最強のRust以外のプログラミング言語で書く気はありません
712 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 08:40:19.17 ID:MacxmZWQ.net] Featureを駆使するので楽になるのはそうだが、 逐次処理的に書けるasync/awaitの方がさらに楽なので それを実現するための要素としてgeneratorは必要 あとIteratorの実装も楽になる
713 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 08:40:57.03 ID:MacxmZWQ.net] FeatureじゃなくてFuture
714 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 11:39:08.16 ID:Nnknp9qO.net] >>692 なんていうか、自分のチームの優位性を示してドヤろうとしたけど決定的な証拠がなかったから自分に有利な調整をしたという感じだな 特定のチームへの非難をしつつそのチームの人間のツイートを自分の主張の補強に使っているのもいろいろアレ まあ競技プログラミング界のゴタゴタはどうでも良いけどとりあえずRustを巻き込まないで欲しいわ
715 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 12:32:15.66 ID:3cz+aWzV.net] >>692 に対してちょこちょこマジレスがいるけど 正規化の文章の注釈[4]でウォーズマン
716 名前:理論とか引っ張り出してるからな [] [ここ壊れてます]
717 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 13:10:10.49 ID:U8pYefIa.net] マヌケは見つかったようだな…ロクにリンク先も読めないのに批判する口だけの能無しが…
718 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 17:38:03.40 ID:pn8ujE89.net] 風情のないやつらだ
719 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 19:03:59.64 ID:AHW4eZK5.net] ウォーズマン理論により各言語の普及率(PG人口比)でスコアを倍加すると 数の暴力が発揮されJavaが最強のプログラミング言語であることが証明される とでも言えば風情があるのかね?
720 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 19:58:54.78 ID:X2T/f4uE.net] 風情駆動開発
721 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 01:23:29.76 ID:KzrJfOQ0.net] ネタにマジレス以下の寒い話だな
722 名前:デフォルトの名無しさん [2017/09/03(日) 02:55:54.90 ID:8KnlJyLG.net] ネタに対する模範解答って『やはりRust最強だな!』とか?
723 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 09:50:38.50 ID:YZmIGy7N.net] >>705 風情の有無を話してるのであって、寒さ暑さを話してるんじゃないんだけど >>706 まずはageないことから始めよう、な?
724 名前:デフォルトの名無しさん [2017/09/03(日) 11:35:08.63 ID:CVrfF8Ix.net] >>702 わび・さび ですよね、わかります I know. sorry & rust
725 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 12:50:33.18 ID:E+2Ill1j.net] お前ら、associated constantsがstableになったってのにいつまで下らない話を続けているんだ
726 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 13:04:30.79 ID:Zk5wiRrT.net] 関連定数が乗ったなら、次は依存型だ!
727 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 13:07:07.67 ID:9s1YDGRT.net] 依存型はやり過ぎだ!高階型でいい!
728 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 14:56:28.19 ID:3Ui33to1.net] impl Trait と トレイト境界の特殊化の実装が先だろ…… これのせいで書けないコードあるんだぞ
729 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 14:59:38.46 ID:E+2Ill1j.net] きっとimpl periodのうちに全部実装してくれるよ(適当)
730 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 16:40:58.80 ID:Sqyt1HzW.net] async を汎用的に実装するなら モナド ( M<T> ) 的な高階型が必要?
731 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 17:05:48.88 ID:4Saw+NMi.net] emccなしでwasmれるって本当?
732 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 20:29:20.09 ID:HVXRIsjy.net] linkerとしてemcc必要では
733 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 01:02:25.35 ID:TiSfjsBP.net] そもそもwasmなんて誰が必要としてるんだという問題がある 実際現状wasm使うよりV8の方が速いだろ
734 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 02:18:35.33 ID:yWQauj9l.net] 実験的な機能に現時点での必要性を求められても……
735 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 03:38:50.42 ID:B0/qvj/R.net] JSの分野でもRust使いたいじゃん
736 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 03:56:46.84 ID:acsdbygY.net] asmjsが早いんだからランタイム側の対応が十分進めばwasmも早くなるでしょ
737 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 10:53:07.99 ID:e2EV4sJ/.net] >>719 Rustなんて実用にならない言語未満使うくらいなら、クソとはいえ言語の体なしてるJS使うわクソ
738 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 12:07:05.02 ID:Wptm5Fxj.net] 好きな言語を使ったらええ
739 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 20:51:30.52 ID:hGu6xlI4.net] お前らslackにまけとるやんけ
740 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 23:53:57.54 ID:yWQauj9l.net] いつの間に戦っていたのか
741 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 02:01:35.76 ID:a/Cb1ZW9.net] Hack&Slack
742 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 04:46:57.50 ID:kj7TSLdS.net] @seanmonstarがMozillaを辞めるとか言いだして一瞬ギョッとしたけど、次の職場ではフルタイムでRustを使うと言っているからhyperの開発はむしろ加速しそう? seanmonstar.com/post/164869651177/bye-mozilla-hello-bouyant
743 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 07:50:37.72 ID:JsNUX7wh.net] rustってまだ俺の中で実験言語だけど そろそろプロダクト作ってる人とか出てる?
744 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 10:31:25.11 ID:Xe9ypjwu.net] >>727 噂では泥箱あたりが使い倒してるとか ずっと前から言われてるけど未だにコードの一つも公開されてないからただの提灯持ちで実際は使われてないと見てるがね
745 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 10:34:56.85 ID:Xe9ypjwu.net] Rustが1.0過ぎてから今に至るまで、Rust使ってるって主張する企業は モジカス自身と個人情報おもらしの一件で何かしら話題とお金が欲しい泥箱しか見ないって時点で色々と察するべきなんだよ お前らいい加減目を覚ませ
746 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 12:37:41.86 ID:xNvKf2Ex.net] https://www.rust-lang.org/en-US/friends.html
747 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 13:37:05.48 ID:Fbd5ldy5.net] 見たことのないフレンズばかりだね
748 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 14:44:43.29 ID:Xe9ypjwu.net] >>730 そのうちモジラのフロント企業じゃないのはいくつだい?
749 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 14:48:42.01 ID:a/Cb1ZW9.net] ID:Xe9ypjwu この異常者まだ居たのか
750 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 16:16:47.13 ID:yjuOh0Qw.net] LINEはモジラのフロント企業
751 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 17:49:37.05 ID:RCCGTejb.net] dropboxやsamsungもmozillaのフロント企業の可能性が・・・? 実はmozillaってすごい会社なんじゃね
752 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 19:27:40.10 ID:JsNUX7wh.net] rustっていまいち売りがないよな。 ちょっとしたツールを作るっていうのには向いてない気がする。 Goくらいの適当言語がちょうどいい。
753 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 19:44:37.37 ID:RqVBFvg5.net] ちょっとしたではなく、きちんとしたソフトウェアを書くための言語だよ
754 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 19:51:45.33 ID:gLY7ZEwx.net] Rustは、型システムがきちんとしてないとイライラしてしまう人向けの言語だよ
755 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 23:06:17.75 ID:iU8sfTGh.net] システムに近いところを触るバックエンドのデーモン等に向いた言語だよ
756 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 00:48:38.63 ID:UIwOcimL.net] SIGSEGVに絶望したくない人のための言語
757 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 09:02:56.43 ID:Sz3zXSu8.net] パッケージのインストールだけで長時間かかるのだけ何とか改善してくれる神様たちっていないんですかね issueにそういう要望とか出ないものですかね
758 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 10:49:22.58 ID:XzXTbCma.net] 前にも出てたけど、CARGO_TARGET_DIRを設定すればさっきそれコンパイルしたじゃん!ってのが無くなる まあコンパイルそのものは遅い方だからそれは我慢する
759 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 16:57:20.79 ID:LVeCvIyg.net] Celeronの1コア、メモリ1GBなのでパッケージによっては5時間経ってもコンパイルが終了しないんですよね 例えばclippyとか。 パッケージのアップデート毎に結局更新されたものをコンパイルし直すからCARGO_TARGET_DIRの設定してもあまり変わらないような気もします Core i7やryzen、メモリ8GBとかだともっと早く終わりますかね?
760 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 17:03:33.32 ID:SQ4/Zkph.net] お前には Core 2 Duo がお似合いだ
761 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 18:26:50.13 ID:n6C9v4DP.net] コンパイラ、コンパイラドライバ、パッケージマネージャをそれぞれ独立して利用しやすくして欲しい ポストC/C++を目指しているはずなのに言語仕様と関係のない制約が増えるのは勘弁
762 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 18:51:54.27 ID:l44s4mC+.net] https://github.com/mozilla/sccache
763 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 19:10:48.28 ID:VuLMXPgk.net] >>745 java, phpが独立した3rd tools乱立でひどいことになったから 次世代は低レベルと高レベルの2レイヤーを公式に提供しようぜって現代の風潮でそれに沿ってると思うが あいつら個々に独立したビルドシステム, テスター, パッケージマネージャー, ランチャーが乱立して辛い rustやgoは公式で色んなものが利用しやすく整備されてて涙が出るよ, マジで rustの公式ツールに不満があるなら3rd toolsを自分で作れば良いよ 誰も作るなとは言ってなくて、作ること自体は止められないはず、賛同する人がどれほどいるのか懐疑的だけど
764 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 19:12:16.98 ID:VuLMXPgk.net] 低レベル:rustc, 高レベル:cargo って意味な
765 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 19:37:16.90 ID:n6C9v4DP.net] Rust=Cargoな感じになっているように思うのは俺だけなのか?とりあえずCargoを使え的な記事ばかりでrustcを活用する記事はほとんど見ない ちょっと高度な事をしようとすると絶望的に情報がない。さらにrustcの不安定性(機能しないオプションがある)が追い打ちをかけるw
766 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 20:12:23.66 ID:OeC1JAcK.net] まあ今のRustとmakeを組み合わせようとはちょっと思えないな
767 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 20:27:57.04 ID:b9fzClHU.net] ビルドにcmakeを要求するのに、エラーメッセージが分かりづらくて はっきりとcmakeの必要性が分からないcrateが結構ある 依存ライブラリ一つ一つまでreadme読まないし
768 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 20:57:11.59 ID:58f4P28i.net] cargo3兄弟
769 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 21:15:39.15 ID:VuLMXPgk.net] build.shからmake叩いて、更にmakeからant叩いてたjava全盛期に比べれば多少はね cmakeの代わりにbuild.rs(及びgcc-rs)使えば良いんだろうけど、build.rs書くの面倒でcmakeに走ってる予感 gcc-rsの機能拡張としてファイルパターンマッチ的なものが提供されたらcargoからcmakeも駆逐されるかもねー あんまりbuild.rs使わないから既にデファクトスタンダードなcrateが存在してたらすまぬ
770 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 21:32:03.27 ID:9SnBSqY1.net] そこまで分かっててなんでRust使い続けようと思うんだお前ら……
771 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 21:35:26.17 ID:5mAj6AyW.net] cargoが便利だから
772 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 22:38:49.71 ID:vuSxRzDq.net] https://blog.rust-lang.org/2017/09/05/Rust-2017-Survey-Results.html ところで夏サーベイの結果出てるな 分かってたがNightlyの使われっぷりに吹く
773 名前:デフォルトの名無しさん mailto:sage [2017/09/07(木) 01:09:15.04 ID:pG20pyYC.net] だってRust会社で使えないしー が1位でRustむずいよーこわいよー が2位か
774 名前:デフォルトの名無しさん mailto:sage [2017/09/07(木) 07:25:42.24 ID:2QTh9NrO.net] CrateがCargo前提になっていて他のビルドマネージャやrustcからは実質的に使えないよな?
775 名前:デフォルトの名無しさん mailto:sage [2017/09/07(木) 10:39:04.19 ID:S617O9ZV.net] cargoって裏でやってることはrustcのラッパじゃなくて独自の方法でコンパイルしてるのか? ひでえ仕様だな
776 名前:デフォルトの名無しさん mailto:sage [2017/09/07(木) 18:01:04.73 ID:QzkAwThZ.net] >独自の方法でコンパイルしてる そんなことはないはずだが、どこからそんな情報が出てきたんだ?
777 名前:デフォルトの名無しさん mailto:sage [2017/09/07(木) 21:46:15.77 ID:seYx4u2p.net] crateが実質cargo専用になってるってbuild.rsとかその辺のことか?
778 名前:デフォルトの名無しさん mailto:sage [2017/09/07(木) 22:56:42.47 ID:wVi6dnoF.net] crates(.ioからのダウンロード、及び、crateの依存解決/分割ビルド)が実質cargo(コマンド)専用と言いたんじゃないのかな curlでダウンロードして、rustcで.rlib作る分割コンパイルすれば出来なくはない cargoコマンドのコードは開示されてるから自分で頑張れ, https://crates.io/crates/crates-io rustcを使いこなせずcargo未満/rustc以上ツールの車輪の再発明を熱望する無能と rustのコンパイルできるコードを書けず挫折したアンチが合わさり話が明後日に向かっておるわ
779 名前:デフォルトの名無しさん mailto:sage [2017/09/07(木) 23:20:58.99 ID:Aqe6d3N/.net] cargo install に download-only オプションがつけばいい流れ?
780 名前:デフォルトの名無しさん mailto:sage [2017/09/08(金) 00:39:59.57 ID:XDOpFOHk.net] >type hello.rs fn main() { println!("Hello World!"); } >rustc -V rustc 1.19.0 (0ade33941 2017-07-17) >rustc hello.rs >rustc -v hello.rs > -vが効いていないように見えるけど仕様なの? コンパイラやリンカに与えられているオプションとかを見たいんだけどどうしたらいい?
781 名前:デフォルトの名無しさん mailto:sage [2017/09/08(金) 03:12:39.89 ID:70HlBZeV.net] rustc -Z print-link-args hello.rs https://github.com/rust-lang/rust/issues/36175
782 名前:デフォルトの名無しさん mailto:sage [2017/09/08(金) 07:52:33.56 ID:cSX02n8Z.net] それはnightly限定ですやん
783 名前:デフォルトの名無しさん mailto:sage [2017/09/08(金) 15:02:00.13 ID:2+W6iI80.net] スコープでインスタンスの寿命を静的に管理しようってのは面白いと思うのだが、 再帰的な構造とか扱う場合の簡易さをも少し考えるべきだったね。 まああんまこだわらなければ結構使いやすい気はするけど。
784 名前:デフォルトの名無しさん mailto:sage [2017/09/08(金) 16:10:21.35 ID:jNusN9J0.net] こだわるも何も木構造まともに書き下せない言語の用途ってなんだよ https://amp.reddit.com/r/rust/comments/33jv62/vecrcrefcellboxtrait_is_there_a_better_way/ この辺の問題も一行に解決してないし
785 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 00:10:13.39 ID:EaeDwKWj.net] まあ raw pointer 使えば何とでもなるし(震え声)。
786 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 15:21:33.90 ID:Z1fxPFbT.net] 木構造は書けるでしょ 難しいのは巡回するグラフ構造
787 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 16:53:04.07 ID:6IGW1QFW.net] >>770 木構造の一番いいサンプルおしえてよ
788 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 21:30:15.59 ID:/y0BRE7n.net] 木にせよ一般のグラフにせよライフタイム管理が面倒くさい
789 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 22:30:44.85 ID:/LC/x3j3.net] この辺とか? agtn.hatenablog.com/entry/2017/01/16/151745 ただ入れる操作によっても RefCell にしたり、やっぱり面倒は面倒。
790 名前:デフォルトの名無しさん mailto:sage [2017/09/11(月) 00:36:42.39 ID:xCZu5AEB.net] ぐええ、隣接リストとアリーナの違いがよく分からない
791 名前:デフォルトの名無しさん mailto:sage [2017/09/11(月) 06:43:38.80 ID:Yii5jhjx.net] 768はこれがまともじゃないっていいたかったんでしょ。
792 名前:デフォルトの名無しさん mailto:sage [2017/09/11(月) 10:26:55.85 ID:XW0rQ7er.net] CやC++ならポインタ持っておくだけで簡単に実現できるのに……
793 名前:デフォルトの名無しさん mailto:sage [2017/09/11(月) 23:14:03.66 ID:0LGm7EQD.net] C++使うか、unsafe使えば良いのでは
794 名前:デフォルトの名無しさん mailto:sage [2017/09/11(月) 23:14:47.15 ID:0LGm7EQD.net] Rc+RefCellな型を用意するだけでもマシになるか
795 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 00:26:37.00 ID:nVT3ZJzi.net] ていうか練習ならともかく実際に使うプログラムでポインタをつないでグラフを表現することなんてそんなに頻繁にあるか? 取りうる表現の中で効率性が最悪な部類じゃん Vecに対するLinkedListみたいなもんだろこれ
796 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 01:20:27.09 ID:Tl3HhyXK.net] オブジェクト指向っぽいAPIを触るときはだいたいその形にならない?
797 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 03:08:23.10 ID:CK+WAwk/.net] グラフの時だけ、ガベコレ使えるGc型が欲しい
798 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 08:30:34.06 ID:mcDW5eHR.net] じゃああんたは現実世界でツリー構造のものをどうやって表すの?
799 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 11:30:27.08 ID:u82oOWPv.net] >>779 VecじゃなくあえてLinkedList使う場面普通にあるんだが……
800 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 14:48:49.21 ID:+kMyckKw.net] linux の赤黒木の実装はポインタベースではあったな。 しかし個人的には配列
801 名前:実装のが結局速いって気はする。 [] [ここ壊れてます]
802 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 15:07:56.52 ID:yDRUgdvZ.net] Effective Hogeでそういうことは言及されてるけど Rustはどうだかなとドキュメント見たらSecond Editionで"Effective Rust"の節自体が削られとる:-( Stack vs Heapはどこかに記述されてた覚えがあるから、ツリー/リスト操作もどこかに潜り込んでるのかなぁ
803 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 17:41:48.32 ID:r07bb/MI.net] 配列ベースの実装はポインタの代わりにindex使うだけだからできることはあんまり変わらんわな 配列の方がデータの局所性高そうで速そうではある
804 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 18:02:30.56 ID:kvuESNKU.net] データ構造によって速い操作が違うという基本的な概念がない奴おるな
805 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 18:50:57.82 ID:wPca0Ysf.net] vectorのmutabilityの問題があるの理解できてる?
806 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 18:53:28.85 ID:O0/aVCto.net] >>779 効率ってなんの効率?
807 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 22:05:08.25 ID:RDvyqWgj.net] >>787 まあそういう無能がありがたがる言語なんだろうなRust
808 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 22:20:04.05 ID:SHXpQI2F.net] mutabilityはRefCell使えば良いのでは Refcell使わずにVecの中身を直接触る必要ある?
809 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 22:27:17.20 ID:wPca0Ysf.net] >>791 いや、それでいいかも rcさえなくなればborrowをユーザに書かせなくてすむからそれでいいや
810 名前:デフォルトの名無しさん mailto:sage [2017/09/13(水) 14:03:19.87 ID:K9O6G+Si.net] 低レイヤーできます!ってアピールしたい言語なんだろうけれど、 あんま向いてない言語な気はする。
811 名前:デフォルトの名無しさん mailto:sage [2017/09/13(水) 14:56:53.13 ID:6DzbMbn9.net] 低レイヤを書くにはチェッカーが強すぎて邪魔で、高レイヤを書くには全くカジュアルさがない どっちにもなれない哀れな言語よ
812 名前:デフォルトの名無しさん mailto:sage [2017/09/13(水) 18:10:30.60 ID:dAYfacw9.net] 並列で大規模で低レイヤーな領域に向いた言語だからどれか一つでも欠けてる領域で使いづらいと思うのは仕方ない
813 名前:デフォルトの名無しさん mailto:sage [2017/09/13(水) 20:06:39.58 ID:fx0j+lzd.net] 低レイヤーはやっぱC言語だな。 ポインタの習得が難しい事以外に欠点ないじゃんこの言語。 Rustはもっとポインタ扱いやすくして出直してきな。
814 名前:デフォルトの名無しさん mailto:sage [2017/09/13(水) 20:42:07.11 ID:SU8+D2f1.net] rustの並列処理って言うほど特化(最適化)されてる気はしないけどな・・・ スレッド跨いだオブジェクトの所有権譲渡も保障されてはいるけど、従来言語/ライブラリに比べてめっちゃ便利という感じはしない futures-awaitとかyieldを使うと変わるのかねぇ、無くても困りはしないしと使ってないけどfutures-awaitは使ってみるかな
815 名前:デフォルトの名無しさん mailto:sage [2017/09/13(水) 20:42:42.41 ID:K9O6G+Si.net] C だっていろいろ批判はあるだろ。 型がゆるいとか、名前空間がグローバルしかないとか。 まあそれを差し引いてもやっぱ有効な言語と思うけど。
816 名前:デフォルトの名無しさん mailto:sage [2017/09/13(水) 20:49:43.29 ID:6DzbMbn9.net] >>798 Rustのコンパイル通す実力あるならCのその辺りの問題なんてないものと同じだから Rustなんて使わずCでいいじゃんってなるんだよな
817 名前:デフォルトの名無しさん mailto:sage [2017/09/13(水) 20:52:03.57 ID:SU8+D2f1.net] とか思ってたら、yieldの方が公式nightlyにマージされたのか futures-awaitもnightly要求するし素直にyieldの方を使ってみよ, stableにはいつ来るのかなぁ
818 名前:デフォルトの名無しさん mailto:sage [2017/09/13(水) 21:19:48.43 ID:KPH4Bf/5.net] 今さら C はねえよ
819 名前:デフォルトの名無しさん mailto:sage [2017/09/13(水) 21:41:03.71 ID:6DzbMbn9.net] >>801 Rustよりはあるわ
820 名前:デフォルトの名無しさん [2017/09/13(水) 21:54:04.29 ID:8Q7unwrY.net] ID:6DzbMbn9っていつものモジラ/Rustネガキャン君だろ
821 名前:デフォルトの名無しさん mailto:sage [2017/09/13(水) 21:57:53.87 ID:6DzbMbn9.net] >>803 さすがにあのレベルの基地と一緒にされるのは心外
822 名前:デフォルトの名無しさん [2017/09/13(水) 22:09:43.33 ID:8Q7unwrY.net] いつものコンパイル通らなくて発狂してる基地外かと思ったわ
823 名前:デフォルトの名無しさん mailto:sage [2017/09/13(水) 22:45:06.07 ID:EXyWFNJX.net] コンパイラーよりも自分が信用できるならC使えばよいと思う
824 名前:デフォルトの名無しさん mailto:sage [2017/09/13(水) 23:56:44.36 ID:kEFpToCL.net] Rustのコンパイルが通るならCを使えば良い君まだいたのか 自分の言葉通りRustに拘わらずにCを使っていれば良いのに
825 名前:デフォルトの名無しさん mailto:sage [2017/09/14(木) 08:18:50.41 ID:Y4hD7kDo.net] macro_rules! make_macro { ($id:ident) => ( macro_rules! concat_idents!{test_, $id} { } ); } make_macro!{foo} こういうの無理なのか。
826 名前:デフォルトの名無しさん mailto:sage [2017/09/14(木) 11:10:13.14 ID:EE2xE751.net] EmacsでRLS使ってる人居る?
827 名前:デフォルトの名無しさん mailto:sage [2017/09/14(木) 11:12:19.23 ID:XJ7zDnIx.net] >>799 そういう根性論嫌い
828 名前:デフォルトの名無しさん mailto:sage [2017/09/14(木) 12:55:00.43 ID:NnJxH7VV.net] RustやSwiftとかの次世代言語ってOracle製品やSAPみたいな所あるよな。 無駄に抽象化して変な専門用語作って、プリミティブなエンジニアを寄せ付けない感じとか。 コマンドラインで一発で出来るようなことを、独自用語だらけのGUIでポチポチ操作させてんの。 こういう文化は本当に良くない。優秀なエンジニアはみんな逃げてしまう。
829 名前:デフォルトの名無しさん mailto:sage [2017/09/14(木) 13:54:06.68 ID:1DVuzpHn.net] >>810 コンパイル時に全部解決しなきゃいかん てな話のがよっぽど根性論だと思うが。
830 名前:デフォルトの名無しさん mailto:sage [2017/09/14(木) 17:19:47.64 ID:n0wq55dM.net] 人間が気をつけてコードを書けばバグが出ないはずというのは根性論では
831 名前:デフォルトの名無しさん mailto:sage [2017/09/14(木) 18:36:21.42 ID:DdS4QLGS.net] 人に依存するC/C++は日本的 システムが面倒を見てくれるRustはアメリカ的
832 名前:デフォルトの名無しさん mailto:sage [2017/09/14(木) 19:05:26.17 ID:1DVuzpHn.net] バグが出ないことよりも手法に熱中しちゃう方が日本的だなとか思っちゃうけど。
833 名前:デフォルトの名無しさん mailto:sage [2017/09/14(木) 19:14:58.28 ID:NxItWvHk.net] 形容詞化する国名
834 名前:デフォルトの名無しさん mailto:sage [2017/09/14(木) 20:08:31.29 ID:wsl9UgI1.net] 〜的ってつければなんだって形容詞になるの? 人に依存するC/C++はC/C++的 システムが面倒を見てくれるRustはRust的
835 名前:デフォルトの名無しさん mailto:sage [2017/09/14(木) 21:28:39.91 ID:ekPhWBa7.net] C/C++でもバグが出ないほど規模が小さい or 言語への習熟度が高いならC/C++使えばよいし そうじゃないならRust使えば良いとしか言ってないのだが
836 名前:デフォルトの名無しさん mailto:sage [2017/09/14(木) 21:51:38.65 ID:egb+Ths/.net] 単純に「巡回グラフを始めとした自己再帰型のデータ構造を書き下せない(コンパイラが通してくれない)」って時点で、書けないプログラムの存在を認めてしまってるんだよなRustは その上C言語にはValgrindやらcppcheckやら、金かかっていいならCoverityやら、いくらでもその手のツールはあるわけで、 Rustならではの点ってどこにもない割に欠点だけ目立つ訳よ 肝心の抽象化も機能足りてないしな。Nightly使えばなんぼかマシだが
837 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 00:12:38.69 ID:znUIhbu+.net] どうしても全部Rustだけで実装したいのか
838 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 00:29:00.00 ID:tkwXjMs/.net] △全部Rustだけ ◯全部safe Rustだけ Escape hatchの類は使いたくないというsafe Rust信仰の裏返しというツンデレなのでは
839 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 01:05:02.21 ID:QM7YGf64.net] How can I implement a graph or other data structure that contains cycles? https://www.rust-lang.org/en-US/faq.html#how-can-i-implement-a-data-structure-that-contains-cycles
840 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 13:00:11.59 ID:3YdKOJD0.net] できるできないレベルの話をしているのか、やりやすいやりにくいレベルの話をしているのかどっち
841 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 13:25:48.45 ID:5eAkzQwm.net] できない => できるよ => やりにくい => そうねー => 応答終了, 最初に戻る こんなのをずっと繰り返してるイメージだ モジラ/Rustネガキャン君とRustのコンパイルが通るならCを使えば良い君の二人なのかな 二人とも長いこといるし、コンパイル通せないRustが相当憎いんだろうなぁと思ってる
842 名前:デフォルトの名無しさん mailto:sage [2017/09/15(金) 23:54:50.13 ID:mfxKdXka.net] Cだって肝になるところをアセンブリで書くのはまれによくあることだし、 Rustで書きにくいところをCで書いたっていいよな
843 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 02:17:34.76 ID:lHsVDIMy.net] Rustのコンパイルが通るならCを使えば良い君は、暗黙のうちにCで完全なメモリ管理を行うことの困難さを訴えているんだよきっと
844 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 06:49:34.00 ID:bgl6NL4A.net] 変な人がわくほどメジャーな言語になったんだなぁ
845 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 12:21:42.89 ID:CDKitgfC.net] てか細かいとこ C で書いてあとは軽い言語から呼ぶとか普通してるじゃん。 一つの言語で無理やりやろうとするからどっちつかずになるんじゃないのかね。
846 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 12:23:12.97 ID:FR19qSmR.net] >>828 RustがC(++)の後継目指してるとか言わなきゃこんなに言わんよ
847 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 17:33:19.57 ID:hyq1PMdM.net] C(++)の座が奪われると危機感を感じて 「Rustのコンパイルが通るならCを使えば良い」と必死なのかw 置き換わるにはまだまだ先が長いから安心して自分の巣にお帰りに
848 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 17:34:53.66 ID:lHsVDIMy.net] Rustのコンパイルが通るならCを使えば良い(自分はできるとは言っていない)
849 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 20:08:37.91 ID:OnGiRDkA.net] 実際に使ってる人たちは本当にいつかRustがC(++)に置き換わると思ってるの?
850 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 00:38:06.21 ID:NXS5TlTy.net] RustがC/C++の後継目指してるなんて公言してるのか
851 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 09:53:24.02 ID:2FAjS2AD.net] 一応Goもc++の置き換えを想定した言語らしい。もっともgoogle社内の話だが
852 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 12:44:11.46 ID:7diltdBj.net] >>830 ×まだまだ先が長い ○先にモジカスが世界から消滅する 先が長いとか言ってる時点でモジカスのステマに荷担してると理解しろ Rustがプログラミング言語を名乗ってるのはモジラが自由をお題目にしてるのと同じレベルの害悪だ
853 名前:デフォルトの名無しさん [2017/09/17(日) 15:13:14.19 ID:9f3JHXln.net] 複数のResultのNGをXORでまとめて(途中match分岐入れず)処理するのてどうすればいい? 超極稀に失敗する変な返り値を格納しても副作用の無い処理の連なりをゴソっと捨てる方法
854 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 16:26:31.76 ID:IHBqIXQE.net] >>833 少なくとも firefox の c/c++ 部分の書き換えを想定してるだろう。 まあ c/c++ と一口に言っても結構レイヤーは広いように思う。 てきとうなサーバープロセスなら確かに go は書きやすいよ。 rust にそういうエリアがあると思えんというところが問題の焦点じゃないかね。
855 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 17:40:27.30 ID:aqlfcEMy.net] >>836 求めてるものかどうかわからんが、Iterator<Item=Result<t, E>>はcollectでResult<Vec<T> , E>などにできる
856 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 19:45:22.12 ID:0mVr+JRg.net] 相当雑いけど>>838 の実装例はこんな感じかな ttps://play.rust-lang.org/?gist=c87421997c42f0dfa8aa6ecabbb7ba3b&version=stable 性能を突き詰めるならcollectしないでfilterの戻りをnextで回すべきだけど適当に 確か100万回くらい回したら数秒の差が出るくらいのはず
857 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 23:03:20.12 ID:xQI4uTVr.net] >>839 そういや、こうやって変数のシャドウイングを積極的に使っていくのってどうなんだろうな? 俺はよくやってるけど、スタイルにうるさい人から怒られるかもとか思ったり
858 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 23:17:40.08 ID:tCD9jFlM.net] >>839 https://play.rust-lang.org/?gist=4f2e38dd8570a14eb1801137a183e40d&version=stable こういう途中Errがいたら戻り値もErr、全部OkならOk<colletion>な意図だった
859 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 23:18:40.79 ID:tCD9jFlM.net] collectも#inlineついてるなら手でfor書くのと同じになりそうだけど遅くなるのか ExactSizeIteratorとただのIteratorで違うとかならわかるんだが
860 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 23:25:16.47 ID:ks3Dkyyp.net] OCamlだと普通なんで読みにくさを感じたことは無いなあ むしろその変数はそこで終わりです、もう頭に入れとかなくても良いよってことだから脳にやさしいとまで感じる
861 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 08:30:10.39 ID:KEjrNeQk.net] >>842 collectの関数コールは最適化されて消えるけど、collect内でVectorを作る分があるからな メモリ確保して、要素をコピーしてって誤差程度だけどコストが乗っかる filterまでだとFilterは作るけど要素のコピーはしてない感じだったから 他言語, 他ライブラリのfilterメソッドの戻りで配列/リストを作り直すIF/実装に比べて比較的早そうだと思った
862 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 11:26:55.19 ID:/3RzmXHq.net] なるほど、Vec作るコストという意味なら確かにcollectはコスト掛かるね まとめて処理というのがIteratorの要素からなる配列などのデータ構造を作って何かすると理解していたけど、 そうでないならば f.map(¦x¦ {do_something(); }).collect::<Result<Vec<()>, _>>() とすれば作られるのはVec<()>で、要素サイズ0だからヒープからはメモリ割り当てられないはず これやるぐらいならfor使った方が
863 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 14:28:43.98 ID:nF8z8OFK.net] 一方C言語ならそんな面倒なこと考えずにallocしてforでいい 学習コスト高くて性能も低い言語Rust
864 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 16:37:25.22 ID:JVxZ+5NP.net] alloc?
865 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 17:16:35.57 ID:nF8z8OFK.net] >>847 mallocとcallocのことをまとめてallocって言うんだがまさかRust民そんなことも知らない?
866 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 17:40:00.45 ID:2cmO/IBQ.net] 俺たち、ついさっきまでzero-allocationな実装方針について話してなかったっけ……?
867 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 17:48:40.40 ID:/3RzmXHq.net] せんせーallocaはallocに含まれますか
868 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 18:07:06.15 ID:/S27bRBH.net] 定義による スタックから確保するものと ヒープから確保するものを どちらもallocと呼ぶなら含んでる
869 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 18:11:47.24 ID:iR2mDVT9.net] >>849 ゼロアロケーションつっても最初の一回はallocするだろ? その後forでナメながら変換すれば単純で早くてコンパイルも通ってモジカス涙目みんな幸せって言ってんの 無駄に難しく考えるモジカスシンパらしい話だな >>850 非標準関数はNG
870 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 18:15:30.06 ID:2aiOt6ta.net] 基地外って同じ言葉を連呼するからNGし易くて助かる。
871 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 19:17:59.90 ID:ndBW2Q0n.net] 要素サイズ0のVecはヒープからメモリ獲得しないと明言したはずなのですが
872 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 19:24:02.49 ID:JVxZ+5NP.net] >>846 の書くヒープアロケートするCコードはスタックアロケーションのみのRustコードより高性能なんだよきっと
873 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 19:39:48.02 ID:K4Qo/KNH.net] >>853 造語症っていうんだっけか? それはそうとRustでCのmallocやcallocと同じ操作ってBoxであってVecではないよなあ。
874 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 19:56:01.80 ID:2cmO/IBQ.net] 低級言語で書けばそれだけで性能が良くなるって勘違いはよくあるよな >>856 どっちもヒープを使ってるから同じでええやろ
875 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 01:46:56.36 ID:EmWEVfWy.net] 話が明後日の方向に行ってるけど >>844 の主点はVecを作るコストではなくVecに要素コピーするコストの方だぞ filterで除外した要素をcollect内でVecにせっせとコピーするからちょっち時間かかる ちなみにC(++)でベタに実装するとこんな感じでリスト作成、要素コピーするからドングリの背比べ std::list<char*> filter_collect(std::list<char*> v) { std::list<char*> new_v; for (auto i = v.begin(); i != v.end(); i++) { if (*i != NULL) { new_v.push_back(*i); } } return new_v; } std::list<char*> v{"Hello", NULL, "World"}; auto new_v = filter_collect(v); モジラ/Rustネガキャン君とRustのコンパイルが通るならCを使えば良い君が よりよいCコードを挙げてくれるのをちょっと待ってみようか, 流石にこれは汚すぎる
876 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 01:57:29.08 ID:yqqf+3Rr.net] (そもそもの>>836 が何をしたいのかいまいち分かっていないなんて言えない)
877 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 09:23:52.82 ID:b711gf7K.net] これをCというか いやまあC++としても酷いが
878 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 09:49:54.63 ID:EmWEVfWy.net] (大丈夫、俺も分かってない...多分>>841 さんの実装例が期待コードだったんだろうと匙投げた)
879 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 11:20:24.23 ID:yHWjYg1H.net] 仕様分からないのに実装しようとするRustの文化すげー
880 名前:デフォルトの名無しさん mailto:sage [2017/09/19(火) 18:29:28.71 ID:zYSzUAzu.net] そういえばRustってそもそもまだ言語仕様がなかったっけな(RFCが通ってない) そんな言語を良しとするモジカスとそのお友達
881 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 07:39:00.40 ID:D+wOfrtb.net] RubyやLua等も商用でも使われているけど公式な言語仕様って存在しなかった気がする
882 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 08:58:49.24 ID:q1jVsKYV.net] RFCが通るとはどういう意味だろう まさかIETFの話ではないだろうな
883 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 17:20:54.79 ID:8IyKZYzR.net] https://github.com/rust-lang/rfcs
884 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 17:30:21.92 ID:KkNJUG2l.net] https://github.com/rust-lang/rfcs/blob/master/text/2113-dyn-trait-syntax.md さすがにこのSyntaxはダサいぞ?
885 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 18:24:29.42 ID:8IyKZYzR.net] どうせならいっそ新しいepochでbare Traitのシンタックスでimpl Traitのセマンティクスを表すように変えて欲しくもあるけれど、motivationでも言われている通り互換性の観点からしてまあ無理だわな 理念には同意できるけど、うーむ……ダサい
886 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 18:24:58.43 ID:SerGpeBo.net] じゃあ討論してるIssueに行って、ダセェからこうしようぜって具体例を提案してこい 良さげだったら(y)押してやんよ
887 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 18:39:23.24 ID:Yecv0E+U.net] これがダサいとかいうならimplとかpubなんてクソの山だろ >>868 impl Traitのセマンティックスに置き換えたところで例えばVec<Display>にi32とStringを両方突っ込もうとしてエラーになるようなへまをする連中は消えないだろ >>869 もうFCP過ぎてマージされてるんだよなあ
888 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 18:42:43.35 ID:DfdXTJVQ.net] 誰か3行で
889 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 12:28:08.72 ID:47xDJ4SG.net] rustの三文字文化好き mut, str, len, vec, rev
890 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 13:46:38.85 ID:Cgi1rfOq.net] 変数名にしたかったのを予約しやがって!でもある
891 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 14:49:56.77 ID:ebiRk4qs.net] Contextual keywordって書いてある
892 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 15:11:25.15 ID:aCorn/qh.net] let str = "Hello"; let str: &str = str; これで普通にコンパイル通るしな。 変数名に出来ないのは>>872 の中じゃ mut だけだろう。
893 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 19:15:33.07 ID:nrpIGIl5.net] str, len, rev あたりは変数名として結構使うかな。 str , vec あたりは s, v くらい短くすることもある。
894 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 17:44:10.64 ID:VL5Szw+L.net] 比較演算子 ==, <, > 等って、同じ型同士でしか定義できないのか
895 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 20:16:16.24 ID:dG0lqnCY.net] それはEqとOrdの話でしょ PartialEqとPartialOrdは別の型同士でも定義できる
896 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 20:38:52.59 ID:VL5Szw+L.net] あ、ホントだ。出来たわありがとう。 use std::cmp::PartialEq; struct Foo(i32); impl PartialEq<i32> for Foo { fn eq(&self, other: &i32) -> bool { self.0 == *other } }
897 名前:デフォルトの名無しさん [2017/09/27(水) 15:23:55.91 ID:ENHC296h.net] Firefox Quantumリリースだってよ
898 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 23:11:15.94 ID:r8V8UQwO.net] Rust 1.20、関連定数などを追加 https://www.infoq.com/jp/news/2017/09/rust-1-20-released
899 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 00:21:45.83 ID:FngsmGBk.net] 時報が壊れたと思ってたら、常時一ヶ月遅れの情報サイトをソースに時刻通知がきたよ 本人じゃなく模倣者だろうけど次回からは一次ソースのサイトをトリガーにしような!
900 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 00:30:16.29 ID:fGSoqmif.net] 何でこの人こんなに怒ってるんだろ?
901 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 00:53:16.99 ID:FngsmGBk.net] 1. 時報が壊れたことに怒っている 2. 一ヶ月遅れのinfoqをソースにしたことを怒っている 3. 模倣者であることに怒っている 4. その他 どれだと思う?
902 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 02:25:57.30 ID:uh95Bh7/.net] 一ヶ月入院でもしてたんだろ 許してやれ
903 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 10:21:58.71 ID:YdXqj+6X.net] CもObjCもここ数年は仕様変更がないから、コンパイルはそのまま通る。 変なコード書いてなければ動作確認も問題なくパスする。 メンテナンスフリーって言われれば確かにそうかもな。 あとはフレームワークで非推奨にになったメソッド書き換える程度だけど、 これはSwiftと共通の作業だし、そもそもやらなくても動く。 とにかくSwift移行していない俺は毎年高みの見物してる。
904 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 10:22:21.88 ID:YdXqj+6X.net] すまん誤爆した
905 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 11:26:40.22 ID:YA9Keehz.net] これが小学生のおっぱいかよ・・・ 12歳の乳とは思えんな・・・
906 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 11:51:24.12 ID:2cPiFSeP.net] 誤爆しすぎだろ。
907 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 22:06:45.55 ID:7WUGaaf4.net] rustの前にc++とhaskellぐらいはやっておくべき?
908 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 23:43:36.68 ID:w5CvkGV8.net] C++なんてやらんでいい。haskellよりOCaml寄りじゃね? C++よりメモリ周りが「javaからgcとロック付きオブジェクトとモニタと 並列ライブラリがなくなった」代わりに低レベルなマルチスレッドコード書けば 型システムが守ってくれるモノが近い。
909 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 00:20:49.42 ID:BhtSjkD0.net] 所有権の概念はC++のmove sem
910 名前:antics回りが近いと思うけどな まあゲーム作るとかじゃなければわざわざC++やらなくてもいいと思うけど [] [ここ壊れてます]
911 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 22:05:33.32 ID:uuI0Lqz4.net] Rust言語による第一プロダクトのFirefox Quantumですが ベータ版リリースの時点でアドオンがお亡くなりになったとか、不安定でどうしようもないとか、メモリ食い潰して落ちるとか 様々なお声が聞こえてきますね これがRustという安全な言語で作ったプロダクトなんですってね おめでとうございますモジラ信者と工作員の皆様
912 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 22:25:31.06 ID:BhW5NZCu.net] アドオンが不安定ってのはRust関係なくね?
913 名前:デフォルトの名無しさん [2017/09/30(土) 22:38:45.63 ID:ATIH6GBG.net] ベータ版の意味も知らないガイジやんけ ガガイのガイw
914 名前:デフォルトの名無しさん [2017/09/30(土) 22:39:37.33 ID:ATIH6GBG.net] あそれあそれガイジが出た出たよよいのよいw
915 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 00:00:05.60 ID:HKOr6Xa1.net] >>894 API鞍替えのせいだから全く関係ない。 メモリも関係ないし、むしろ最近はバージョン上がるたびに消費メモリ減ってる。 というかパフォーマンス良くなったのは設計が変わったからで言語は関係ない。 言語関係する部分はC++よりマシだから書きやすくなったこと。
916 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 00:42:35.99 ID:5jXWEgsq.net] >>897 設計の変更って具体的に何を変えたの?マルチスレッドに強いとか?gpuぜんていとか?
917 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 23:58:38.97 ID:HtGiOKW4.net] >>898 HTMLの描画周りがマルチスレッド前提になっただけよ。 シングル前提でやるとHTML/CSSパース、DOM構築で同期取りまくりが減っただけ。 うちのmem 4g, 2core環境だとハードが足引っ張ってたから多分mem 8g, 4coreくらい要ると思う。 ここ数年のロースペックマシン以上が恩恵受けるんじゃ? gpu前提はwebrenderだからまだ入ってないんじゃない。
918 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 00:20:10.84 ID:cuHSEpt/.net] あ、悪い。webrenderもう入ってるわ。 webrenderとstyloが入ってるからもうマルチスレッドにgpu前提。
919 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 11:21:20.04 ID:pqkzvat0.net] Firefox爆速化件だけど、あのタイミングでRust化してればRustにも一気に注目集まったのにな。 もったいないな。
920 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 14:16:58.24 ID:5q9eN7RZ.net] w3mの代替になるコンソールブラウザがほしいところ
921 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 00:06:33.86 ID:eeE5kOTG.net] lynks、links、EWW(Emacs)ではいかんかった?
922 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 01:21:42.46 ID:Eb49UXKr.net] それよりAmayaの後継をwhatwgに作って欲しい
923 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 09:33:38.58 ID:xy+7bXnG.net] >>901 cssはrustになったんだよね?
924 名前:デフォルトの名無しさん [2017/10/04(水) 17:45:04.59 ID:U/p5CYqb.net] FizzBuzz を無駄にベンチマークしてみた By Nim、golang、Rust、Crystal、その他 wolfbash.hateblo.jp/entry/2017/07/25/232027
925 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 19:54:27.21 ID:eSRFZM0D.net] なんというか、、参考にならないベンチマークだな。
926 名前:デフォルトの名無しさん [2017/10/04(水) 23:17:46.14 ID:aUT+fN/H.net] 参考になるベンチマーク教えてくれ
927 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 00:04:55.49 ID:NTKdykpp.net] benchmarksgame.alioth.debian.org/u64q/performance.php?test=knucleotide ここの諸々 久しぶりに見たらC gccがついに抜き返しててワロタ C言語、頑張ったじゃん
928 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 01:11:32.12 ID:froF/td
] [ここ壊れてます]
929 名前:j.net mailto: >>909 6パターンだった頃は全部実行出来てたけど速度はバラバラでたしか#5が最速でC言語より速かった きっと最適化を人間が制御するのは難しくて頑張らないとJavaやC#にも勝てない 現在7パターンあるけど4つがmake errorになるくらい言語仕様が不安定 実に参考になる [] [ここ壊れてます]
930 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 02:42:46.62 ID:e0oopfTd.net] >>909 mem順にしてもgz順にしてもcpu順にしてもD言語出てこないの悲しいな
931 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 04:56:45.53 ID:ovcMkddr.net] d言語のメリットって何?
932 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 06:07:45.62 ID:eC/9GoxN.net] C++ではないこと
933 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 09:06:46.27 ID:NTKdykpp.net] >>910 人間が頑張って最適化した結果、C gccが上回ったんじゃないのかね D言語はプログラミング人口少ないから・・・ 2000年代の流行った頃ならもうちょっとスコアが出てたんじゃないかな
934 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 10:18:07.23 ID:KYi0aOcC.net] RustもJavaも血反吐吐くほど最適化してるんじゃないの? ポインタ扱いにくい言語でそれやると逆にコードが汚くなるから、 C言語よりも酷いコードになってるかもしれんよ。
935 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 10:41:40.98 ID:j9fazbko.net] unsafe使ったらRustは更に早くなるのか・・・胸熱 取り敢えず、各コードを読んでから批評してはどうか 本家Rust Teamが改修して今のスコアだけど 彼らが直したのはI/Oにバッファ使おうぜってだけでそこまで変態的じゃないのよね matchやmap, iterでクロージャー多用してるけど最適化コンパイルしたらif, forで書くのと同じ処理になるし Option.mapは関数コールがあるから重たいかなと以前調べたら LLVM中間コードの時点でインラインのif分岐(goto文)に展開されてベタコードと同じになるのかよと考えるのやめた
936 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 11:26:31.98 ID:291DnPVM.net] >>909 C gcc 5.38 Rust #7 5.56 C++ g++ #3 7.18 Java 8.38 ↑この並びでみると、Rustの速さよりもむしろJavaの意外な速さに驚く
937 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 12:31:31.21 ID:mvbuHBBx.net] ぼくも同じこと思った…
938 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 12:49:03.43 ID:i3OOJkl5.net] Javaは実行時最適化がはまれば速い感じ でも、カリカリにチューニングされたJavaコードは、クラスをあまり使わずArrayだらけだっりしてつらい
939 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 17:58:39.05 ID:DY6JRVMF.net] rlsもっと頑張って replも提供して😭
940 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 18:51:45.79 ID:BHTkAY6s.net] C言語の __func__ みたいなの無いのかよ〜
941 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 23:04:07.77 ID:arvYOnSy.net] Javaやら.NET等のJIT系言語は速い速い言われるけど実際のアプリケーションでその速さを体感できたことは一度もないや・・・
942 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 23:35:19.66 ID:AzAoa99L.net] >>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すればすぐに入りそう。
943 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 00:32:27.39 ID:ckjydJIo.net] >>923 >連続してることが保証されないから それはもはやデータ構造として「配列」と呼ばれるものではないのでは……
944 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 00:59:19.34 ID:PVLgxPLf.net] Dは仕様変更が多すぎた
945 名前:デフォルトの名無しさん [2017/10/06(金) 01:12:44.86 ID:aJzo16CX.net] >>923 javaの配列って連続領域の保証されてないの?
946 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 11:58:56.15 ID:R7tcOQE1.net] スレチだけど、JVMの実装仕様なんてベンダー依存でしょ, OracleとGoogleでも当然違うわ
947 名前:デフォルトの名無しさん [2017/10/06(金) 22:14:03.16 ID:aJzo16CX.net] だから言語として仕様化されてないの?ってことだろ。 c++だって実装バラバラだけど連続領域な仕様だろ。
948 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 22:51:58.93 ID:R7tcOQE1.net] Cはポインタ I/F仕様に引きづられて配列仕様も必然として明確にせざる得ないからでしょ JVMはbyte codeの解釈さえあってれば良くて、データ操作の実装仕様は知るかよって話だよ VM上では連続領域に見せかけても、実態は数チャンクに分けた配列の持ち方だってあろうよ
949 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 00:56:21.68 ID:OPYXFct1.net] いやだから、データ構造としての「配列」のデータ操作の時間空間コストと 実装がズレてたらそれはもう「配列」じゃないから
950 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 02:30:16.92 ID:tD6GhHlF.net] 一般的に配列と呼ばれるオブジェクトがメモリアドレス上でも断片化しないことを保証される処理系ってほとんど無いのでは? ミュータブルオブジェクトへ要素を継ぎ足していったらコードからは連続的に見えてもメモリ配置は断片化するだろう
951 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 04:32:31.86 ID:OPYXFct1.net] 「要素を継ぎ足していったら」がそもそもオカシイ 要素継ぎ足せるのはそもそも配列じゃなくてロープかなんかだから
952 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 08:20:38.57 ID:PzpAWNqF.net] 配列の要件ってインデックスで要素にアクセスすることくらいじゃないの? 要素のポインタをとって操作できる言語以外は実際の記憶領域が連続かそうでないか 判断する術はないと思うが。
953 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 08:39:14.98 ID:rgSj2Elc.net] ポインタ操作だって処理系依存でどんな変態実装も理論上はあり得ると思うけど C/C++の仕様を調べる気力がない
954 名前:デフォルトの名無しさん [2017/10/07(土) 09:54:16.89 ID:h9TjUWM8.net] >>933 > 配列の要件ってインデックスで要素にアクセスすることくらいじゃないの? じゃリンクリストでもいいってわけ? インデックス操作は内部でポインタたどってさ。
955 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 12:18:14.74 ID:bipqd+gM.net] 配列だとインデックスのアクセスにO(1)を期待してるが それが保証できるのかという話じゃないの
956 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 12:27:49.68 ID:FDovMcEa.net] >>936 お前は話の最初から読みなおせw オーダーのことなんか誰も気にしてないよ
957 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 12:40:30.10 ID:efrwvuZ0.net] チューニングで気にするのはメモリ配置よりCPUキャッシュに乗るかどうかでは そのとき配列のサイズが気にされるというだけで
958 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 12:44:02.10 ID:bipqd+gM.net] >>937 >>930 これの解釈は?
959 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 12:59:08.16 ID:PzpAWNqF.net] データ構造としての「配列」と言語機能としての配列は別の話だから。
960 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 14:30:31.33 ID:bipqd+gM.net] O(1)でもO(n)でも a[i]と書けるなら配列だって感覚? そう考えるのは自由だがまともな話はできなさそうだな。
961 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 15:00:19.40 ID:FL3S/Goc.net] Rustの話はないんでしょうか
962 名前:デフォルトの名無しさん [2017/10/07(土) 16:04:55.47 ID:+/+oWVUp.net] そんなの処理系によるわ 動作は変わらないからどうでもいい
963 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 17:48:20.09 ID:M+fCWBh9.net] JavaScriptのArrayを配列と呼ぶのは間違いだ! と吠えている人がいますね
964 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 19:34:14.94 ID:efrwvuZ0.net] そんなに気になるならソース見に行けで終わり
965 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 20:58:38.51 ID:PTRnmd1t.net] >>941 逆にちゃんとした定義ってあるの?
966 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 00:52:44.13 ID:riNh/ezn.net] >>943 >そんなの処理系によるわ >動作は変わらないからどうでもいい オーダーの違いはまさに動作の違い > JavaScriptのArrayを配列と呼ぶのは間違いだ! > と吠えている人がいますね データ構造としての配列じゃないのはそうだろ 配列じゃなくてハッシュマップですよねー というのがマトモなCS出身者の反応
967 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 07:38:16.10 ID:whyFhQ9X.net] 引き続きオーダー厨がフィーバーしてんなw >>946 >>926 , >>928 曰く、C言語には仕様として配列は連続領域であることが決まってるらしいよ んで、Javaでは特に連続領域で実装することを仕様と定めてないよねーって話をしてんだろ
968 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 08:29:08.64 ID:Eg4i3QFB.net] >データ構造としての配列じゃないのはそうだろ >配列じゃなくてハッシュマップですよねー 結局、それまで展開していたオーダー云々の論理はどっかにやって 「配列じゃないものは配列じゃない」ってかw
969 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 09:02:22.19 ID:p8wkQapI.net] ポインタの値が連続でも実メモリ空間のアドレスは連続とは限らないし そのあたりのアドレスの連続性の抽象化をOSでやるか言語の処理系でやるかの違いと思えば 配列の要素の仮想メモリ空間でのアドレスが必ずしも連続ではない言語処理系があっても良いと思う
970 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 09:38:42.04 ID:whyFhQ9X.net] >>949 配列とは、連続領域で確保されO(1)でアクセス可能なものと(俺の中で)定義する それ以外の仕様、実装による配列は配列とは認めない という論理で一応オーダー云々も彼の中では含まれてるんじゃないかな ポインタのポインタで配列を設計したら、それはもうハッシュであり配列ではない的なことも言ってるし 多数の言語仕様, 言語処理系で配列ではないものが配列として扱われてて大変そうだなって思うね:D
971 名前:デフォルトの名無しさん [2017/10/08(日) 10:03:07.61 ID:W71T9805.net] JSのArrayは配列じゃなくてリスト TypedArrayが配列 メモリが連続化を気にするとかどれだけ低レベルな言語使ってるんだ インターフェイスが同じなら実装とかどうでもいい 老害かよ
972 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 10:54:24.49 ID:T4FplNPL.net] データ構造の読み書きのオーダーも仕様の内だけど、メモリ上のレイアウトまで仕様という考えはマイナーじゃない? アドレスを当然のように明示的に扱う言語だと当然の範疇かもしれんし情報として提供して欲しいけど、そうでない言語ならn番目の要素へのアクセスがO(1)であれば配列でいい で、Rustはアドレス直触りは可能だけど普通はやらない。Cみたいに構造体のメモリ上の表現がはっきり決まってるわけでもないし
973 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 15:41:19.83 ID:EDHW4lpZ.net] >>951 > 配列とは、連続領域で確保されO(1)でアクセス可能なものと(俺の中で)定義する そう思うのは勝手だけどそれに基づいて他人を批判するってどんだけ独善的なんだ
974 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 18:42:51.40 ID:4PvrPlQX.net] そろそろRustの話に戻してくれ
975 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 18:57:23.11 ID:riNh/ezn.net] array data structure でググるさま
976 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 20:18:32.63 ID:whyFhQ9X.net] >>952 (配列の定義を)お前がそう思うんならそうなんだろう お前ん中ではな ちなみに、Rustスレ住民はRust言語を使ってるゾ >>953 Rustのstructメンバは連続を保証してるんでなかったかいな repr((C)で宣言した時に限ってるんだっけ、unsafe多用してる変態がいたら教えてくれ
977 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 00:25:52.32 ID:KLfOKOYK.net] >>933 それって、(一次元)
978 名前:コンテナでは。 で、コンテナの実装方法として配列やらリンクドリストやらが存在する。 [] [ここ壊れてます]
979 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 00:29:02.79 ID:KLfOKOYK.net] >>952 > インターフェイスが同じなら実装とかどうでもいい そういう目的にはrust使う必要なくね?
980 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 00:30:54.57 ID:KLfOKOYK.net] >>953 Rustがそういう態度だと言うのなら、C/C++の代わりには使えないなぁ
981 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 01:24:12.13 ID:EU3MdReC.net] >>953 システムレベル言語でそれは無い
982 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 07:09:58.47 ID:HQb3QT54.net] https://play.rust-lang.org/?gist=9e8a69e064b98d48c48e237d87d005a1&version=nightly これ、少し前の nightly-2017-09-15-x86_64-apple-darwin だと通るのに、 最新の nightly だと conflicting implementations を起こすな。 rustup update したら急にビルドに失敗して驚いた。
983 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 08:32:46.93 ID:/FMCjJgs.net] nightlyが仕様変更したりバグったりするのを逐一驚いてたら大変じゃない?
984 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 09:00:12.81 ID:CsWYGxTc.net] >>958 もともと配列やその他のデータ構造からインターフェースのみ抽出したものがコンテナなんで、 それを言語仕様の側からは単に配列と称していることはあるだろう。 仮にそれを認めないとしても、元の質問の「JVMの配列は連続しているか」が「JVMのコンテナ(?)は 連続しているか」になるだけ。
985 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 10:26:26.16 ID:EKQlpQJF.net] いるなぁC++のプロジェクトでarrayで十分なところに無駄にmap使いまくるやつ おっさんプログラマとしては看過できないんだが(少なくとも仕事では) これが時代なんだろうか
986 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 11:43:46.40 ID:iPiyLv0T.net] なにか問題でも?
987 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 14:35:43.67 ID:y6Coq1tU.net] メモリコスト、CPUコストについて定量的に説明できるかな
988 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 14:47:42.14 ID:5Wk6yJf6.net] 自分もどちらかと言えば効率厨のつもりだけど 実行コストと可読性が大差ないなら好きな方を使えばいいと思う
989 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:19:06.41 ID:ICZ1WqoM.net] コンテナ使うとコストが見えにくくてよく分からん
990 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:24:05.08 ID:65lUV9pA.net] さすがに array と map ではアルゴリズム自体違うわけだしそれはなしだろ。
991 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:49:17.20 ID:GUc1DOLO.net] Vec<f32> を Vec<f64>に変換したいのですがどうしたらいいでしょうか? やりたいのは &[f64]を引数として受け取る関数にVec<f32>の内容を渡したいのですが。
992 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 20:31:04.63 ID:2SZ05bPF.net] https://play.rust-lang.org/?gist=0cd6e0b3f8c028d720b6936505df6c9b&version=undefined 受け取る関数がTraitでf32, f64を受けろと思うけど、外部ライブラリで作ってるなら仕方ないんだろうよ
993 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 20:46:44.09 ID:g5Xwcr4f.net] >>972 ありがとうございます 今回は外部ライブラリだからしょうがないかな 普通はなんのtraitで受けとるんでしょうか?
994 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 16:41:05.41 ID:3w9jP5qe.net] 色々あるんだろうけど、こんな一例 https://play.rust-lang.org/?gist=d00fb7f7041fce1649767ecf95bb936a&version=stable AsRefとかIntoとかFromとか、なんかその辺調べたらいいんじゃないかなぁ 他人に公開する目的のpub fn以外で使うのはバイナリ容量増やす一因になるからいたずらには使いたくは無い(他人がする分には気にしない ただまぁ、枯れたおっさんプログラマの感想であって、map, arrayの使い分けに口出すおっさんは同様に口出してくると思うので注意されたし
995 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 17:46
] [ここ壊れてます]
996 名前::13.24 ID:6qFX/88z.net mailto: >>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 あたりを使えばいいんすかねぇ [] [ここ壊れてます]
997 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 20:18:32.35 ID:SdSs/e3t.net] rustって難しいって聞くけどどうなの? 数百行程度のcliツールとか作るのにも適してる?
998 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 20:36:37.19 ID:wUY7e6c6.net] 借用やライフタイムを理解できない内は難しいかもね。
999 名前:デフォルトの名無しさん [2017/10/11(水) 20:58:57.23 ID:gwIT2xqO.net] %%%%4NEL%%%% 000-SAV-&1.0888214%ML<\47MBL%0.2\MSSSS4.213> 1.8882/%B/%SB/<\2/7BL\%\%B!B%47L%Si72B>%10.2%\ 002%\B%===>>>52 .B<\rbc/2.8>>\7B<<\7LB>>\72S\<%\42%><\br>001BYON$\%7L2%3.33GHz>>>2 .3GHz<\br> 41.B%LB%"<<%11.6$%><<\86.1B>>2 LB>"B???S3>>71 $-?>6%<\br> 082@<\7L@@<\br> \LOOP>0<1Entra
1000 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 09:41:32.32 ID:cYUXFwFa.net] >>975 RealがSupersetOf<f64>を継承してるから受け取る関数がf64を扱うならTrait Realを受ける形でも良さそう Alga使ったことなくてどっちを使う方がスマートなのか分からんから、自分が取り回しやすいと思う形でどうぞ
1001 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 09:07:46.54 ID:ZLjOYpzW.net] Announcing Rust 1.21 - The Rust Programming Language Blog https://blog.rust-lang.org/2017/10/12/Rust-1.21.html めぼしい変更無し。
1002 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 15:11:36.11 ID:bp4APqrz.net] Rustの話をしないRust板の住人 言語として形になってないから言語のことを話せないんだろうなぁ 直近もまともな更新ないし、世間の話題も下火だし 工作員さんもっと頑張らないといけませんよ(ハナホジ)
1003 名前:デフォルトの名無しさん [2017/10/13(金) 17:39:13.20 ID:xbVdueHZ.net] tanakhのrustベタ褒めツイートでも列挙しようか
1004 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 17:40:12.67 ID:+y/vofi6.net] >>976 性能だすために生ポ触るとかしなければボローイングなんかも そんな難しく考えずにコード書けるとは思う。 一部の馬鹿が言語機能をドヤしたいってのが一番流行るのを妨げてる。
1005 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 17:44:57.66 ID:PbP1JTIY.net] じゃんじゃんクローンすればいいんだよ 性能に困ったときだけ再考すればいい
1006 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 18:36:57.97 ID:FAMCtm4a.net] >>980 何代目の時報か知らんけど次スレよろ あと、2年近くかかって取り込まれたrvalue static promotionをスルーするとかどうかしてんぜ
1007 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 18:45:29.22 ID:RXIUnIoB.net] ムーブセマンティクスをきちんと意識すれば借用はそこまで難しかないよね まあそこでCの経験が却って邪魔になるところがあるわけだけど
1008 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 20:29:09.18 ID:5Bkpm/HR.net] QtをやったあとでもRustの有り難みって実感出来る?
1009 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 22:43:54.95 ID:dC2M8380.net] borrowing というか mutable aliasing だけはやっぱり辛いなあ。 多くの場合 struct メンバの false sharing なんだよね…。
1010 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 14:12:57.17 ID:VwleOtKV.net] >>980 「Rust 1.21」リリース
1011 名前: 2017年10月13日16:15 末岡洋子 https://mag.osdn.jp/17/10/13/161500 [] [ここ壊れてます]
1012 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 17:39:51.15 ID:uWD69LeP.net] 次スレ プログラミング言語 Rust 4 https://mevius.5ch.net/test/read.cgi/tech/1507970294/
1013 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:37:51.04 ID:WeNwPolS.net] >>986 moveや借用は簡単なんだけど、その結果引き起こされる制限を回避していくのが面倒。
1014 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 17:36:12.11 ID:GYZBU1+2.net] >>991 その「面倒」って感じるのがまさしくCの経験の負の遺産なわけよ
1015 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 10:08:35.93 ID:ZoMoe7Af.net] 脱出しようとして墜落してるのか
1016 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 00:44:35.87 ID:2lESXdgM.net] 994
1017 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 00:45:47.02 ID:2lESXdgM.net] 995
1018 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 00:46:13.27 ID:2lESXdgM.net] 996
1019 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 00:46:56.38 ID:2lESXdgM.net] 997
1020 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 00:48:00.58 ID:2lESXdgM.net] 998
1021 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 00:48:41.67 ID:2lESXdgM.net] 999
1022 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 00:49:08.90 ID:2lESXdgM.net] 1000
1023 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 151日 10時間 44分 40秒
1024 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています