1 名前:デフォルトの名無しさん [2017/10/14(土) 17:38:14.04 ID:uWD69LeP.net] Mozilla発のプログラミング言語「Rust」のスレです 公式 https://www.rust-lang.org/ https://blog.rust-lang.org/ https://github.com/rust-lang/rust 前スレ プログラミング言語 Rust 3 https://mevius.5ch.net/test/read.cgi/tech/1495343069/
331 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 18:18:12.38 ID:Q+QzpY2X.net] >>319 MPIは不変性は並列化に必ずしも必要じゃないって話の例に出しただけだから、 さわった上で不変性が必要って主張するならまあそうなんだろう データを不変にして触るノードの分だけコピーすりゃそりゃデータ競合は起きないだろうが、 その分ノードへの転送量だってかかるし、メモリも食う だから富豪的で、額面上の並列度は上がっても性能には寄与しないと言ってる 俺が知らないだけでもっと良い最適化が不変変数にかかるなら完全に俺が無知晒したでめでたしなんだが
332 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 20:36:19.23 ID:nHLuJ5vk.net] 業務のDBとかででっかいBeanやテーブルさわってるとImmutableこだわると死ぬ気がする ライブラリレベルだとImmutableすごいよさそうなんだが
333 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 20:40:51.18 ID:7DSslbhb.net] immutableがいいのはソースの可読性が高まるのと、マルチスレッド化したときにリソースアクセスに問題ないのが保証できることでしょう。バグらなない自信があるなら効率を求めてmutableにするがよろし。
334 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 21:07:28.65 ID:LCKhcLzq.net] mut にするのもそこまで困難な言語設定ってわけでもないし、 デフォルトが immutable でもいいんじゃねとは思う。 まあ大規模に作ったことはないからその際の困難はわからんけど、そこまで問題にならんのでは?
335 名前:デフォルトの名無しさん [2017/11/28(火) 21:37:26.40 ID:RsLfLMGU.net] let mutって書くのめんどくせーしvar
336 名前:デフォルトの名無しさん [2017/11/28(火) 21:37:34.07 ID:RsLfLMGU.net] 追加してほしい
337 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 22:58:48.40 ID:91xy27Pm.net] mutにするのをめんどくさくするというのが let mut構文を採用した理由なので varはよっぽど何かない限り入らないと思う
338 名前:デフォルトの名無しさん [2017/11/29(水) 00:16:55.36 ID:ZRmpNQ2i.net] Haskellのイミュータブルは永続データ構造?参照の使いまわし? Rustのイミュータブルは?コピーしないと使いまわせない?
339 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 00:58:38.85 ID:RLTBNHC0.net] wasmに出力するのって、依存ライブラリも全部pure Rustじゃないとダメなの?
340 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 03
] [ここ壊れてます]
341 名前::28:58.51 ID:wq9Dycsx.net mailto: 1.22でOptionにも?使えるようになって、haskellのMaybeモナドっぽく使えて捗るわ ブロック内だけでも使えたら良いんだけど仕組み的に無理そうか [] [ここ壊れてます]
342 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 12:04:01.36 ID:TbD0G3jq.net] try catchみたいな構文検討されていたような
343 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 19:35:23.16 ID:PZaIONIl.net] Rustを叩いている奴ってミラーレスカメラを叩いている一眼レフカメラ信奉者と同類に見える 大抵の場合は合理的な方が最終的に選択されるけどな
344 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 20:42:06.07 ID:FCGUeU3g.net] mutable変数扱うなバーカ、というメッセージだと思ってる 必要なら再宣言させるようにして人為バグを減らそうという魂胆は分かるぞ(Javaのfinal教徒感
345 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 20:50:40.91 ID:wq9Dycsx.net] BufReaderとかReadするStringとかにもmut必要何だからmut禁止とか無理じゃね? 不要なmutだったらワーニング出るでし、必要だったらコンパイルエラーになるでしょ 必要な形で使えば良いだけなのに一体何を議論してるんだ? ミュータブルが気に入らないならhaskellおすすめ
346 名前:デフォルトの名無しさん mailto:sage [2017/11/29(水) 22:01:09.26 ID:pXSSowmn.net] Readした結果はmutableでいいのにlet mutと書かなければならんの面倒 人によってはletで再宣言するのかな
347 名前:デフォルトの名無しさん mailto:sage [2017/11/30(木) 01:36:34.69 ID:zpCxrqzF.net] 例えばさ mutな変数1つ宣言してそこに足し上げていくのと、 非mutな計算結果同士を足して新しい非mutな計算結果を作るのと 素朴に考えれば前者の方が省リソースだよな 別にその程度コンパイラの最適化やレジスタ割り当てでどうとでもなるだろうとも思うが
348 名前:デフォルトの名無しさん mailto:sage [2017/11/30(木) 02:16:29.28 ID:ypA28Khv.net] https://qiita.com/koji_mats/items/62e85a87cc580e225796 これ見たんだけど、なんでwinがlet mut winじゃないんだろうって不思議に思った。 let win = gtk::ApplicationWindow::new(&app); win.set_title("Vanilla Text"); で、コードを調べてみたら、こんな感じにFFIを呼んでるだけだから、 概念的にはオブジェクトを変更してるけどRust的にはmutが要らないという仕組みらしい。 ちょっと違和感無い? fn set_title(&self, title: &str) { unsafe { ffi::gtk_window_set_title(self.to_glib_none().0, title.to_glib_none().0); } }
349 名前:デフォルトの名無しさん mailto:sage [2017/11/30(木) 02:51:13.41 ID:AHSKxIeg.net] ポインタの先がどう変更されようが、ポインタを持ってるだけの側は不変。
350 名前:デフォルトの名無しさん mailto:sage [2017/11/30(木) 03:27:18.42 ID:NyMSxVXi.net] gtkはgoのほうが簡単
351 名前:デフォルトの名無しさん mailto:sage [2017/11/30(木) 07:37:17.88 ID:YOUdxrbO.net] Cellもしらんのか
352 名前:デフォルトの名無しさん mailto:sage [2017/11/30(木) 13:33:26.57 ID:2d5TEUTF.net] Rust的な設計の指針というかコツみたいのって無いですかね… 勉強のつもりで外部のCのライブラリとの間に入るちっちゃなFFIのラッパーを書いてみたんですが、Cの感覚で書く->コンパイラに怒られてあーなるほど修正ってのを繰り返してとりあえずは動くようになったんだけど 何をするにも let foo = xxx ; { let bar = foo.xxx() ; bar.yyy() ; } { let baz = foo.zzz() ; baz.www() ; } { let bar = foo.xxx() ; bar.yyy() ; } みたいに書かないといけなくて書いた本人でも「何やねんこのウンコ!」ってなってる(´・ω・`) (Rustがって意味じゃなくて自分の書いたものがって意味で)
353 名前:デフォルトの名無しさん mailto:sage [2017/11/30(木) 15:21:22.37 ID:AHSKxIeg.net] どんなエラー出してそんな醜いコード書いてるのかを説明してくれないと。
354 名前:デフォルトの名無しさん [2017/11/30(木) 19:20:57.05 ID:dqSyxXgg.net] >>342 RustがRustで書かれてるのだからRustのリポジトリのコードを読んで参考にすれば勉強になるのでは? https://github.com/rust-lang/rust/search?l=rust
355 名前:デフォルトの名無しさん mailto:sage [2017/11/30(木) 19:27:22.21 ID:uu2PxLG/.net] >>342 cと触れる部分はしょうがないんじゃないの? その何回も触ってる部分をcで書いてインターフェイスを最小化した後で rust から呼び出す方が正解なんじゃないかね。
356 名前:デフォルトの名無しさん mailto:sage [2017/12/01(金) 00:02:21.38 ID:9zBEgLMI.net] Rustに限らず他言語で書かれたライブラリを利用するときは呼び出し元言語の作法に適合するように改修しないと使いにくいことが多いような
357 名前:デフォルトの名無しさん mailto:sage [2017/12/01(金) 00:53:10.98 ID:+mBQRpP6.net] >>342 > Rust的な設計の指針というかコツみたいのって無いですかね… 私も知りたいです!
358 名前:デフォルトの名無しさん mailto:sage [2017/12/01(金) 18:20:32.47 ID:MEq6f57k.net] >>342 見た感じFoo::xxx : &mut Self -> BarとかFoo::zzz: &mut Self -> bazとなっているのでbarやbazが生きてるとfooにアクセスできないのが直近の原因だと思うけど、 xxxやzzzが本当にFooの変更を伴わないといけないのかを考えないといけない CellやRefCellを使ってinterior mutabilityを導入したらFoo::xxx: &Self -> Barというメソッドにできる可能性がある まあ実際のソースがどんなもんなのか知らないから適当だけど
359 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 18:50:17.68 ID:LUcOy7p3.net] https://doc.rust-lang.org/book/first-edition/crates-and-modules.html japaneseってrust作成者らって日本語好きなの?
360 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 19:17:25.64 ID:XMmE+FVV.net] トーキョー、サムライ、ハラキリ、ゲイシャ!
361 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 21:21:37.22 ID:nhUA9ni6.net] >>349 公式Twitterアカウントをフォローしてみれば、リツイートに含まれるアニメ画像の多さで分かるだろ
362 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 21:26:24.08 .net] ジャパニメーション
363 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 23:06:36.11 ID:LUcOy7p3.net] プログラマ=アニメオタクの構図は海外でもデフォか
364 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 23:25:28.54 ID:IvGxcnlE.net] アニメに限らずエンジニアのオタク率は高い
365 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 02:23:51.05 ID:o8sHMMD+.net] そもそもエンジニアの時点でPCオタみたいなもんだろ
366 名前:デフォルトの名無しさん mailto:sage [2017/12/03(日) 15:14:02.84 ID:nF9LHZwo.net] 標準ライブラリAPIリファレンス見てるけど難しいなぁ。
367 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 20:49:12.68 ID:Guj0xD4V.net] map: HashMap<String, usize>をメンバーに持つ構造体Fooを作りHashMap::getをラップするメソッドを定義したいんだけど、 型表記をどう書けばStringとstrの両方を受け取れるようになれるの?
368 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 20:51:25.15 ID:Guj0xD4V.net] 自己解決。AsRef<str>を使えば良かった
369 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 00:26:24.15 ID:9T1+J47W.net] panic!で終わらすのでなくErr()を返してエラー時の挙動は呼び出し側に任せる・・・?
370 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 01:46:51.82 ID:Z65eXqg0.net] get で使うなら AsRef じゃなくて Borrow
371 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 08:09:29.16 ID:qtUVw02h.net] >>360 こういうことかhttps://play.rust-lang.org/?gist=2b7d7c7aa544cc2dde43c2aa06533c87&version=stable こんなの行けるんだな。doc見てもよう分からんかったありがとう
372 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 09:27:16.18 ID:hHacdpPt.net] Mercurialも、Python/CからRust/Pythonに切り替えるのか > Python is also hindering us because it is a dynamic programming language.
373 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 18:20:02.95 ID:zRXsR4tV.net] >>362 ソースどこだよデマ乙 歴史あるVCSがRustみたいなゴミつかうわけねえだろ
374 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 18:38:54.65 ID:lkNfeWcr.net] >>362 なんでそれでpython残すんだ?
375 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 19:47:27.34 ID:qtUVw02h.net] https://www.reddit.com/r/programming/comments/7hesom/mercurial_oxidation_plan/ ・hg本体がpythonなんで起動時のラグが気になる、特にスクリプトからhg呼び出す場合に重いからネイティブにしたい ・python2.7のGILのおかげで高速化のための並列化が面倒 ・メモリ安全と並列化をCや古めのC++でやるのはキツい 何故まずpython3に移行しないのかは分からんかった。Rustで書き直すより先にやった方がいいんじゃないかと
376 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 20:16:52.30 ID:Z65eXqg0.net] > For Mercurial, Rust is all around a better C. > It is much safer, about the same speed, and has a usable standard library and modules system for easily pulling in 3rd party code. >>363 みたいな基地外君発狂しそう。
377 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 21:03:22.04 ID:zRXsR4tV.net] ソースはRedditwwwwwwwww ソースは2chよりひでえwwwwwwwwwwww
378 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 21:16:31.60 ID:qtUVw02h.net] 一次情報はmercurial oxideなんだけどこれが公式mercurialとどんな関係があるかがRedditのスレで言及されてるんだが モジカス連呼基地外君は発狂中だとurlしか読めないのね
379 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 21:18:53.28 ID:gT8tzSz1.net] >>364 mercurialにpythonで書かれた拡張機能がいっぱいあるからだろうかね
380 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 21:42:01.40 ID:4Jhqan/B.net] HN見ないんだ?https://www.mercurial-scm.org/wiki/OxidationPlan# ていうかモジカス君固定ハンドルつけてくれない?名声もつくよ
381 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 22:45:09.30 ID:H7tXCLyD.net] 言語が錆でプロダクト名が水銀だから、プロジェクト名が酸化ってのもうまいことつけたな Python3化を優先しないのは、斜め読みした感じだと「hgコマンドをPythonスクリプトから(必要に応じてPythonインタプリタを埋め込んだ)バイナリにしたい」ってあったから、順番的には確かにそっちは後だな
382 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 22:52:10.21 ID:H7tXCLyD.net] あとは、GILの性能自体はPython3で向上したとはいえ、GILそのものがなくなった訳ではないから、 それで得られる速度向上は並列化と比べてたいしたことないってのもあるんじゃね? あとPython3はそもそも単純なベンチでは2より遅かった気がする
383 名前:デフォルトの名無しさん [2017/12/06(水) 00:11:41.11 ID:aEHwTVhz.net] なるほどね。 個人的にはgitよりmercurialに頑張ってほしい
384 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 01:15:02.87 ID:6LacDPiL.net] VCSは自身の機能や性能も大事だけどそれを使った開発プロセスの整備と提示が大切なんだなあとgithub見て思う pijulにはちょっと期待してる
385 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 03:56:18.90 ID:sNDBG4Pk.net] 公式がマジで言ってんのかこれ。多分gitに負け続けて資金調達のためにモジラに泣きついた感じか。そこまで落ちぶれてたんか けどまあwikiの他のNewFeature見てみた限り放置も多いみたいだし、これもそのまま忘れ去られる系だな
386 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 08:49:40.91 ID:7Z4PG9ak.net] 資金調達のためにモジラに泣きついた感じかキリッ
387 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 09:15:41.98 ID:o9r2lFwR.net] Rustで大きなプログラムは書けない →Firefoxにしか使われない →Mozilla以外はまともなプロダクトでは使われない →負け組プロジェクトしか使われない 進化を楽しみにしてるぞ
388 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 09:25:54.43 ID:J6ceqlJH.net] >>377 上から目線で言ってるけど無能そう
389 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 09:28:53.95 ID:dVNrL5aP.net] 効いてるやん
390 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 11:24:37.38 ID:g4tVD/U6.net] 374 自体も上から目線でワロタ
391 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 11:48:39.53 ID:F7bxA/jW.net] 5chでマウント取りは当たり前だからな
392 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 13:03:02.39 ID:C/GcjX4C.net] コンパイル通せない事がそこまで彼のプライドを傷つけるとは…… コンパイルエラーが発生したときに、自動で「大変申し訳ありませんが、」の文字列を追加表示する コンパイラプラグインを誰か開発すべき
393 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 17:33:11.66 ID:Zd+Z66A3.net] Rustつかって書き直すなんて、言うだけはタダだし、言ったことでモジラから金がもらえるなら言うだろうね、落ち目のプロジェクトなら 個人的にはgitより好みだったけどな そもそも言語変えて書き直すとか非現実的なことできると思ってんのお前ら チャットワークは記憶に新しいぞ
394 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 17:35:26.67 ID:mFCLg4Qg.net] モジラから金がもらえる(キリッ
395 名前:デフォルトの名無しさん [2017/12/06(水) 18:02:57.09 ID:CoVGsVpS.net] いい加減コテつけろガイジ
396 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 19:19:06.35 ID:enrVe2xz.net] rust ならこういう問題は解決できんの? https://qiita.com/i_yudai/items/3336a503079ac5749c35
397 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 19:34:24.15 ID:LlbO+WJR.net] それを解決できるのはスレッドの類をGC対象にできる言語のみだろう Ponyはできたような気がする
398 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 11:46:55.50 ID:4fQhnjSw.net] ponyってあれか。スポンサー企業が一抜けしたやつか
399 名前:デフォルトの名無しさん [2017/12/07(木) 16:49:06.35 ID:e6grhN6X.net] これからやるのにGUIでいいプログラム言語教えてください。Microsoftは無しで。
400 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 17:14:54.82 ID:3Pu9MQ/V.net] なんでこのスレで聞く? Java
401 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 18:42:24.96 ID:wb2m4Sd2.net] >>389 おじいちゃん、GUIはブラウザってきまったでしょ?
402 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 18:57:24.40 ID:DAqiucIC.net] 実際マジで綺麗なGUI作ろうと思ったらブラウザ使った方が良かったりするからなあ wasm/WebGLのみターゲットにしたGUIツールキットcrateを作る人も出てくるんじゃないかね
403 名前:デフォルトの名無しさん [2017/12/07(木) 19:10:54.37 ID:aNywij93.net] VueとかReactが便利すぎる
404 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 20:40:39.18 ID:hv/QEVwp.net] 簡易なもんつくるなら react をてきとうにいじるのが一番覚えること少ない気がする。
405 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 20:40:53.05 ID:Hyaivhp0.net] wasmって使えるのcoreライブラリだけ?
406 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 21:20:46.84 ID:7uR0ShQv.net] しばらくreact+reduxやってから久しぶりにC#に触ったらやっぱり.NET楽だと思ったわ。 Webアプリ前提ならReact一択でいいけど、スタンドアロンでいいならわざわざ選ばんなぁ。
407 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 22:04:12.67 ID:hv/QEVwp.net] .NET は何がどう依存してるかわかりずらくてデプロイするのが面倒じゃん。
408 名前:デフォルトの名無しさん mailto:sage [2017/12/08(金) 18:13:41.90 ID:wmniiGfA.net] Rustは何がどう依存してるかわかりずらくてプログラミングするのが不可能じゃん。
409 名前:デフォルトの名無しさん [2017/12/08(金) 19:09:50.20 ID:eb9UBXrx.net] >>398 よ、クソモジラ君
410 名前:デフォルトの名無しさん mailto:sage [2017/12/08(金) 21:32:53.09 ID:Zo2thUux.net] >>398 > ずらく お前はまず日本語を学ぼうな。
411 名前:デフォルトの名無しさん mailto:sage [2017/12/08(金) 22:30:24.09 ID:4nIOqmyr.net] >>397 >ずらく ついでにお前もな
412 名前:デフォルトの名無しさん mailto:sage [2017/12/08(金) 23:14:50.34 ID:tq7RAj6Q.net] rust使う前に日本語を正しく習得しないとな
413 名前:デフォルトの名無しさん mailto:sage [2017/12/09(土) 00:27:43.89 .net] 英語やった方がいいと思う
414 名前:デフォルトの名無しさん [2017/12/09(土) 05:14:49.50 ID:GA23pAhd.net] https://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/dining-philosophers.html このArcってやつはマルチスレッド以外でも使ったりします?
415 名前:デフォルトの名無しさん mailto:sage [2017/12/09(土) 10:29:41.27 ID:YwIpfF9w.net] 日本語マニュアルなんてあるんだな。 相当本気なんだなRust。 Swiftなんて公式は未だに英語だけだぞ。
416 名前:デフォルトの名無しさん mailto:sage [2017/12/09(土) 10:59:59.55 ID:XSUSRhS+.net] 日本語のやつは1.9時代のやつな?
417 名前:デフォルトの名無しさん mailto:sage [2017/12/11(月) 22:26:30.27 ID:6IPQBxXz.net] そういえばPEZYが自分とこのcpuでrust動かしてたな。
418 名前:デフォルトの名無しさん [2017/12/11(月) 22:32:24.37 ID:s6/Bk6Rt.net] これ? tanakh.jp/posts/2016-12-20-rust-pezy-sc.html
419 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 13:19:02.69 ID:wxlBGx5A.net] Cの代替として使ってるみたいだけど、mutとかunsafeとかめんどくさすぎて話しにならないな
420 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 18:14:51.93 ID:x1rOBdPo.net] やっぱRustは詐欺だな。詐欺会社同士モジラとは馬が合うんだろうな 普通の感覚持ってたら>>409 と同じように使い物にならないって感想持てるよなあ
421 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 19:44:02.91 ID:r7OHvt42.net] RustはSmallTalkと並び称されるべき言語 Rustは死んでも血脈は残り続けるだろう
422 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 19:50:08.37 ID:guPPPE2T.net] 死ぬのは決まってるのかよ草
423 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 19:50:40.56 ID:r7OHvt42.net] >>409 主要部分丸々Unsafeにした挙句 インラインアセンブラを書いてやればいいですとか なんでもなさそうに書いてあってわろw
424 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 19:53:48.14 ID:QKUZj3QB.net] プログラミングに限らず安全はタダで得られるはずがないのだが理解出来ない日本人は多い
425 名前:デフォルトの名無しさん [2017/12/12(火) 20:36:13.29 ID:jqGL6fhm.net] >>410 なぜRustの苦手分野で語ろうとするのか? これはJava等の高級言語では絶対に出来ないこともRustなら不格好にはなるものの 可能だということを示しているのであってRustで書いた全てのコードがこうなるわけではない。 低級なことをするときはこういう書き方が必要になるというだけだ。 Rustのいいところは低級なところをすべてunsafeでラップすることで、 それより上位層のコードに低級な部分を持ち込まなくて済むようになることだ。 そして、Rustの最大の特徴は高度な型システムとゼロコスト抽象化等の機能であり、 C++, Java以上の賢い抽象化の仕組みを実現しつつC++並みの実行速度で実現できる点である。 unsafeに関しては、あくまでC++の後継を狙っているので低級なコードを書く手段も用意しているというだけに過ぎない。 CやC++にRust程の抽象化や型安全、メモリ安全を保証する機能はあるだろうか? 「そうまでして安全性や抽象化を追求する必要があるのか?」と問われればそれは作るシステムや個人の趣向にもよるだろう。 欲しいと思う人もいるし、それはやりすぎだと思う人もいる。 Rustが苦手としている部分をとりあげて「ほらダメじゃん」とか言われても、 「Rustの得意なところじゃないんだから当たり前じゃん」としか言えない。 要約して一言で言うならば「論点がずれている」。 以上だ。何か反論はあるか? 長文失礼した。
426 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 20:49:42.49 ID:r7OHvt42.net] ようわからん unsafeでくるまれたところでデータ変な風にいじくられたら 結局上までおかしくなるんじゃないの?
427 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 20:57:21.36 ID:yKSYAIcd.net] こういうの
428 名前:ヌむ度にやっぱ大物専用だよなあと思う [] [ここ壊れてます]
429 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 21:00:36.03 ID:gOiBnq4b.net] >>416 要件に合わせて方式選択できて、必要であればその範囲を狭めることができるのがメリットでは?
430 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 21:07:19.45 ID:x1rOBdPo.net] >>415 詐欺師の長文は読むつもりもない 以上だ
431 名前:デフォルトの名無しさん mailto:sage [2017/12/12(火) 21:13:22.11 ID:x1rOBdPo.net] モジラも一緒に逮捕されればよかったのに