Mozilla発のRust言語のスレ
公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
Web上の実行環境
https://play.rust-lang.org
前スレ
Rust Part5
http://mevius.5ch.net/test/read.cgi/tech/1518347244/
探検
Rust Part6
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/07/28(土) 03:04:38.63ID:kAX50nYD450デフォルトの名無しさん
2019/02/09(土) 16:31:54.37ID:meE2rnNy 詳細知らんけど低レイヤーに適した言語が出てくること自体は歓迎できるんじゃないの
451デフォルトの名無しさん
2019/02/09(土) 16:35:04.90ID:k8PbCSOR 言語は言語の良さだけでは流行らないんだよ
RustもGoもまあまあ悪くない言語である上で十分なステマを行ったから流行った
RustもGoもまあまあ悪くない言語である上で十分なステマを行ったから流行った
452デフォルトの名無しさん
2019/02/09(土) 17:19:45.83ID:XHVbx6Kw それ使ったアプリがよほど良くて、開発者をうまく集められて、コミュニティが育たなければ無理だろうな
ソース非公開のうちは勝負にもならん
ソース非公開のうちは勝負にもならん
453デフォルトの名無しさん
2019/02/09(土) 17:48:14.48ID:F2V9krnu 幾ら優れていようと後ろ盾がなきゃD言語の二の舞だろ
454デフォルトの名無しさん
2019/02/09(土) 17:55:50.24ID:Sm9Jadj9 コンパイルが速いならジェネリクスも無いんじゃないかね。安全性については対nullしか無いっぽいし
455デフォルトの名無しさん
2019/02/09(土) 19:21:01.69ID:6Levbbby OCamlとかジェネリクスあるけどgoよりコンパイル速いよ
っていうか21世紀のOCamlが欲しかった(OCamlはそんなに古い言語ではないけど)
っていうか21世紀のOCamlが欲しかった(OCamlはそんなに古い言語ではないけど)
456デフォルトの名無しさん
2019/02/09(土) 21:38:40.47ID:ifttyEGf Rustほど丁寧なエラーメッセージ出してくれる言語もないでしょ
そういうのを捨てて速度を取った言語とは比べられない
そういうのを捨てて速度を取った言語とは比べられない
457デフォルトの名無しさん
2019/02/09(土) 21:42:08.79ID:7AbylfKm > Rustほど丁寧なエラーメッセージ
冗談だよな? って思ったけど最近のは丁寧なのかな
冗談だよな? って思ったけど最近のは丁寧なのかな
458デフォルトの名無しさん
2019/02/09(土) 22:39:24.66ID:+053I9at 全然だぞ。
459デフォルトの名無しさん
2019/02/09(土) 22:57:48.30ID:zYIj7/GJ Vってvoltのことか。あれgoに毛が生えた程度の言語よ。
>>457
今のはコマンドプロンプトのバッファが足らなくなるくらい丁寧だけど
答えそのものを教えてくるから書いたコードがだめな理由が初学者に理解できないのは変わらないと思う。
>>457
今のはコマンドプロンプトのバッファが足らなくなるくらい丁寧だけど
答えそのものを教えてくるから書いたコードがだめな理由が初学者に理解できないのは変わらないと思う。
460デフォルトの名無しさん
2019/02/10(日) 01:50:55.52ID:z2TxZpHI >>449
どうググるとそれ出てくるの?
「volt プログラミング言語」でググって出てくるのこれなんだけど
Volt Programming Language ・ GitHub
https://github.com/VoltLang
http://www.volt-lang.org/
どうググるとそれ出てくるの?
「volt プログラミング言語」でググって出てくるのこれなんだけど
Volt Programming Language ・ GitHub
https://github.com/VoltLang
http://www.volt-lang.org/
461デフォルトの名無しさん
2019/02/10(日) 02:45:34.58ID:rzMRhZmV 大体はGoとかと一緒で言語名+langで検索するのがいいんじゃない?
四文字もあって他の情報が上に来るのも珍しいが
四文字もあって他の情報が上に来るのも珍しいが
462デフォルトの名無しさん
2019/02/10(日) 23:16:47.25ID:Unf9n64i googleで言語名+langで検索するとgoを検索結果にねじ込んでくるから-go必須
463デフォルトの名無しさん
2019/02/11(月) 13:29:57.41ID:/IKdpkbc rustでググってrustってゲームがトップに来なくなったのはグーグルさんが僕の検索履歴から判定しているだけ
464デフォルトの名無しさん
2019/02/11(月) 14:57:29.32ID:cihDmqOc https://trends.google.co.jp/trends/explore?geo=JP&q=%2Fm%2F0zm_2_r,%2Fm%2F0dsbpg6
https://i.imgur.com/7uP3Dl5.png
https://i.imgur.com/7uP3Dl5.png
465デフォルトの名無しさん
2019/02/11(月) 16:58:29.92ID:icbaaHgE Rust初心者です。
リスト構造を使ったスタックの実装で躓いてます。
なぜ間違っているのか教えてください
https://gist.github.com/rust-play/e54d15602fa8a1d8f7a17521f85d1133
リスト構造を使ったスタックの実装で躓いてます。
なぜ間違っているのか教えてください
https://gist.github.com/rust-play/e54d15602fa8a1d8f7a17521f85d1133
466デフォルトの名無しさん
2019/02/11(月) 18:46:05.84ID:T+XDi7pv >>465
http://cglab.ca/~abeinges/blah/too-many-lists/book/first-push.html
かいつまんで言うと、&mutなオブジェクトが一瞬でもinvalidな状態になるから。
mem::replaceを使うと、self.listの値を取り出して代わりに別の値を置く、という処理が一度に行える
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=8d12416b3f7bc4aa44bf360df11de1be
http://cglab.ca/~abeinges/blah/too-many-lists/book/first-push.html
かいつまんで言うと、&mutなオブジェクトが一瞬でもinvalidな状態になるから。
mem::replaceを使うと、self.listの値を取り出して代わりに別の値を置く、という処理が一度に行える
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=8d12416b3f7bc4aa44bf360df11de1be
467デフォルトの名無しさん
2019/02/11(月) 21:46:27.46ID:icbaaHgE >>466
ありがとうございます。
変更可能な"参照"で持ってきたもの(&mut self)から所有権をムーブさせることはできないという解釈で大丈夫ですかね。
置き換えるときはmem::replaceを使うようにします。
ありがとうございます。
変更可能な"参照"で持ってきたもの(&mut self)から所有権をムーブさせることはできないという解釈で大丈夫ですかね。
置き換えるときはmem::replaceを使うようにします。
468デフォルトの名無しさん
2019/02/11(月) 23:01:54.99ID:9ECrAI8Q クソコード教えるんじゃねぇ。Optionの中身をNoneと入れ替えるならOption::take使え
469デフォルトの名無しさん
2019/02/11(月) 23:36:00.41ID:T+XDi7pv アアン?Option::takeのソース見ての物言いだろうなあテメェ
470デフォルトの名無しさん
2019/02/13(水) 00:06:54.91ID:VVnL6iyQ 中身見たのならなおのことOption::take使うべきでは
471デフォルトの名無しさん
2019/02/14(木) 19:10:47.01ID:25E3pTeL472デフォルトの名無しさん
2019/02/18(月) 21:15:10.76ID:0Vx/m/dz インデントのスペース幅は2が良かったなぁ
clang-formatもprettierも2がデフォだし
C#でさえ2を結構見かけるようになってきた
rustに強く影響を与えたであろうocamlもhaskellも2が多い
世界的に2が標準になりつつある気がする
clang-formatもprettierも2がデフォだし
C#でさえ2を結構見かけるようになってきた
rustに強く影響を与えたであろうocamlもhaskellも2が多い
世界的に2が標準になりつつある気がする
473デフォルトの名無しさん
2019/02/18(月) 21:29:43.93ID:trvxFZJG 漢なら8
474デフォルトの名無しさん
2019/02/18(月) 21:30:52.44ID:etvvcICH Pythonをインデント2で書く奴だけはマジで死ね
あれはガチで読めない
他の言語なら好きにしろ
あれはガチで読めない
他の言語なら好きにしろ
475デフォルトの名無しさん
2019/02/18(月) 21:33:40.63ID:TCe7B/Jv インデントはTABキー派だな
476デフォルトの名無しさん
2019/02/18(月) 21:43:29.91ID:G3oZ5oVt ocamlからリスト引き継いでくれたらよかったのになあ
しかしそうするならもはやocamlそのものでいいってことになりかねないかな
しかしそうするならもはやocamlそのものでいいってことになりかねないかな
477デフォルトの名無しさん
2019/02/18(月) 22:43:31.80ID:7ubWqY/W >>474
それだとgoogle連中には全員死んでもらわんとならんな。
それだとgoogle連中には全員死んでもらわんとならんな。
478デフォルトの名無しさん
2019/02/18(月) 23:22:04.58ID:H1db3n/w noto sansにindent 3をわかってくれるのはねねっちだけか。
今は源真ゴシック等幅+Source Code Proだけど。
Source Han Codeはちょっと違うんだよ。
今は源真ゴシック等幅+Source Code Proだけど。
Source Han Codeはちょっと違うんだよ。
479デフォルトの名無しさん
2019/02/18(月) 23:32:13.04ID:MF1SsBZy Cica派です
480デフォルトの名無しさん
2019/02/19(火) 02:33:20.94ID:ztl4bw1Y googleのstyleguideではスペース幅4を推奨してるのにgithubのgoogleのpythonレポジトリはスペース幅2が多いな
pythonはpep8を重視してるイメージがあるけど堂々と無視出来るのは凄い
rustもrustfmt.tomlでtab_spaces = 2を設定してる人が結構いるわ
https://github.com/search?l=TOML&q=tab_spaces&type=Code
3にしてる人さえいる
pythonはpep8を重視してるイメージがあるけど堂々と無視出来るのは凄い
rustもrustfmt.tomlでtab_spaces = 2を設定してる人が結構いるわ
https://github.com/search?l=TOML&q=tab_spaces&type=Code
3にしてる人さえいる
481デフォルトの名無しさん
2019/02/19(火) 09:43:14.31ID:+VeRQQni ちんこことゴッドエイムあきらを探しに来ました。
482デフォルトの名無しさん
2019/02/19(火) 12:32:05.79ID:1Fqwt8so なんでtab2だとみにくいんだ?
483デフォルトの名無しさん
2019/02/19(火) 13:27:47.37ID:D8b3v+Fo インデントで制御構造を表現する言語だと、深いネストから戻るときにどのレベルに戻ったのか識別できなくなる
484デフォルトの名無しさん
2019/02/19(火) 20:11:35.55ID:8ne5Wfny タブ2で見ずらくなるようなネストの深さと関数の長さになるのが悪いと
言いたいところだがgoogleのオフィシャルコードは結構ど汚くて上の条件を無視してる。
個人的には3が視認性の上では一番良いと思ってはいるが、流石に2,4と互いに素な数だと
プログラム的になんか嫌なこと起きそうで自分では使ってないな。
言いたいところだがgoogleのオフィシャルコードは結構ど汚くて上の条件を無視してる。
個人的には3が視認性の上では一番良いと思ってはいるが、流石に2,4と互いに素な数だと
プログラム的になんか嫌なこと起きそうで自分では使ってないな。
485デフォルトの名無しさん
2019/02/19(火) 21:05:35.97ID:xEsYUfd7 タブ幅小さくして、その分変数名を分かりやすく長くするんだよ
486デフォルトの名無しさん
2019/02/19(火) 23:16:38.92ID:8Y/JNp+N >タブ2で見ずらくなるようなネストの深さと関数の長さになるのが悪いと
2派と4派の対立は4が深すぎるか、2が浅すぎるかなのに「2で見ずらくなる深さ」って想定おかしくね?
3派は間とって3だよ。こっちは普及してないのが問題。
2派と4派の対立は4が深すぎるか、2が浅すぎるかなのに「2で見ずらくなる深さ」って想定おかしくね?
3派は間とって3だよ。こっちは普及してないのが問題。
487デフォルトの名無しさん
2019/02/19(火) 23:29:48.61ID:5Qp7yTUV Scalaみたくスタイルガイド作っちゃえばいいのに
そうすれば「スタイルは公式に従うように」の一言で済む
そうすれば「スタイルは公式に従うように」の一言で済む
488デフォルトの名無しさん
2019/02/19(火) 23:31:07.48ID:DbU8mxgP ハードタブなら各自好きな幅にすればいいから揉めないのにね。
489デフォルトの名無しさん
2019/02/19(火) 23:44:16.88ID:/QLumg1k 回りの多数派にあわせるだけの話
こういうのにこだわるやつは大抵バカ
可読性w
こういうのにこだわるやつは大抵バカ
可読性w
490デフォルトの名無しさん
2019/02/20(水) 00:10:42.00ID:PUv5Mo1S なんてここでタブ・スペース論争してんだ
どうせ一人でしか書かねえくせによ〜
どうせ一人でしか書かねえくせによ〜
491デフォルトの名無しさん
2019/02/20(水) 00:20:53.21ID:tgLGxeUk インデントってrustfmtの話?
492デフォルトの名無しさん
2019/02/20(水) 09:53:44.02ID:+ywZrRmq493デフォルトの名無しさん
2019/02/20(水) 15:04:45.66ID:NsAPC4E4 エディタファシストなのでエディタを開発したことないやつは駆除されるべきなのではと考え始めて来た。やばい
494デフォルトの名無しさん
2019/02/20(水) 15:58:40.55ID:agArr1lp 昔々学生の頃に学校のワークステーション使ってXlibでドット編集してXPMファイルで出力するなんてものを作った覚えがある。
あらから29年。時の経つのは早いものぢゃ。
あらから29年。時の経つのは早いものぢゃ。
495デフォルトの名無しさん
2019/02/20(水) 19:43:00.89ID:v7iPz90J 29年前にRust使えたんだ
すごいな
すごいな
496デフォルトの名無しさん
2019/02/20(水) 19:44:18.14ID:sr7oPl81 読み込んで表示するより出力の方がはるかに簡単だしな
498デフォルトの名無しさん
2019/02/21(木) 11:19:20.33ID:TingKcVp XlibってCの悪いところを煮詰めたような設計だったな
Rustとの相性は最悪だろう
Rustとの相性は最悪だろう
499デフォルトの名無しさん
2019/02/21(木) 13:00:40.17ID:1Gw0PDsD 日本語の参考書はX11R5の大昔に出た本ぐらいじゃないかな
500デフォルトの名無しさん
2019/02/22(金) 15:32:44.85ID:bcwEHSMY うん。新しいXlibの本は知らないなあ。
探す気も起きないから知らないだけかも知れないが。
探す気も起きないから知らないだけかも知れないが。
501デフォルトの名無しさん
2019/02/22(金) 15:35:39.38ID:bcwEHSMY >>498
なんというか、オブジェクトを作って操作するような感じなので今時の言語用のオブジェクト指向に合わせたラッパーは作れると思うが、需要はほとんどないような気がする。
なんというか、オブジェクトを作って操作するような感じなので今時の言語用のオブジェクト指向に合わせたラッパーは作れると思うが、需要はほとんどないような気がする。
502デフォルトの名無しさん
2019/02/22(金) 16:19:45.55ID:aMjiHo6w xlibの使いやすいラッパーとしてはgtk+などなどがあるんわけで…
503デフォルトの名無しさん
2019/02/22(金) 17:04:13.83ID:PtH+29Wq GTKはクソ
504デフォルトの名無しさん
2019/02/23(土) 05:53:32.47ID:jUbY9V9a ちゃんとgtk-rsあるやん
505デフォルトの名無しさん
2019/02/23(土) 22:01:15.49ID:0ZfqWIIS >>465です
スタックにpopを実装しました
pop自体はうまく動いているようですが…
popした時の対象の物がどのタイミングで破棄されているのかを調べようと思いstd::ops::Dropを実装しようとしましたがうまくいきません。
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=f1a2a2a35c3dc424f3814557afa5974c
何がいけないのでしょう
スタックにpopを実装しました
pop自体はうまく動いているようですが…
popした時の対象の物がどのタイミングで破棄されているのかを調べようと思いstd::ops::Dropを実装しようとしましたがうまくいきません。
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=f1a2a2a35c3dc424f3814557afa5974c
何がいけないのでしょう
506デフォルトの名無しさん
2019/02/24(日) 15:19:37.98ID:Vg8zIes/ haskellでの、文字列[Char]を切り貼りみたいな事をするには、
Vec<char>を操作するので合っているのかな?
Vec<char>を操作するので合っているのかな?
507デフォルトの名無しさん
2019/02/26(火) 12:11:01.89ID:gUDVcbaI508デフォルトの名無しさん
2019/02/27(水) 21:22:09.87ID:DI6YZOkq クローン技術で乗り切った
509デフォルトの名無しさん
2019/03/02(土) 01:38:04.42ID:TjOpVvei >>505 Dropを実装した型の値がdropされるとき、フィールドは全てvalidじゃないといけない。
そのままメモリ解放するだけ=Drop未実装ならいいんだけど、drop中にinvalidなフィールドにアクセスできちゃうのがダメだというのが問題
解決案は、ここでもOption::takeかmem::replaceでNoneにすげ替える
けど、まずはLearning Rust With Entirely Too Many Linked Listsを写経してみた方が良いよ
今のListの定義だと無駄なメモリを食うし、パターンマッチとstructは相性があんま良くないし、これから先も似たような穴にハマると思われる
そのままメモリ解放するだけ=Drop未実装ならいいんだけど、drop中にinvalidなフィールドにアクセスできちゃうのがダメだというのが問題
解決案は、ここでもOption::takeかmem::replaceでNoneにすげ替える
けど、まずはLearning Rust With Entirely Too Many Linked Listsを写経してみた方が良いよ
今のListの定義だと無駄なメモリを食うし、パターンマッチとstructは相性があんま良くないし、これから先も似たような穴にハマると思われる
510デフォルトの名無しさん
2019/03/02(土) 15:28:49.59ID:jUIKeWUS Rustいいらしいですよって話を会社でしたら、
テックリードが「RustでできることはCやC++でもテストとツールで十分やってけるからイラネ」って言ってたけどマ?
テックリードが「RustでできることはCやC++でもテストとツールで十分やってけるからイラネ」って言ってたけどマ?
511デフォルトの名無しさん
2019/03/02(土) 15:50:22.82ID:s27Iehbv &str で関数に渡すと解放されてしまって使い回すこどができないのですが
使い回す方法ありませんか
使い回す方法ありませんか
512デフォルトの名無しさん
2019/03/02(土) 15:52:40.18ID:fWMJYJ6q コーディングスタイルを徹底的に統制できるならマ
513デフォルトの名無しさん
2019/03/02(土) 15:55:37.40ID:rXDVLiGa >>510
コンピュータでできることは人の手と頭でできるよ
コンピュータでできることは人の手と頭でできるよ
514デフォルトの名無しさん
2019/03/02(土) 17:11:13.26ID:ACbQR/xi515デフォルトの名無しさん
2019/03/02(土) 17:40:27.42ID:NCWcHh/2 >>510
そのリードが C++でauto_ptrがdeprecatedになった理由とMove Semanticsと右辺値参照の関係をちゃんと説明できる人なら C++ でいい
そのリードが C++でauto_ptrがdeprecatedになった理由とMove Semanticsと右辺値参照の関係をちゃんと説明できる人なら C++ でいい
516デフォルトの名無しさん
2019/03/02(土) 18:53:06.97ID:aD19gS0i 人間が信用できないからこそCよりRustだろ
気を付けてコーディングすればミスはなくなる、ってのは戦前の日本軍的な精神論だ
コンパイラ先生に怒られながら厳しい指導の下にやっとコンパイルしていただくのがRust
この記事とか参考になるかも
https://tomo-wait-for-it-yuki.hatenablog.com/entry/2019/02/05/210746
気を付けてコーディングすればミスはなくなる、ってのは戦前の日本軍的な精神論だ
コンパイラ先生に怒られながら厳しい指導の下にやっとコンパイルしていただくのがRust
この記事とか参考になるかも
https://tomo-wait-for-it-yuki.hatenablog.com/entry/2019/02/05/210746
517デフォルトの名無しさん
2019/03/02(土) 19:04:12.47ID:sRR7A1mE プログラミングは製造業だからな
厳格なチェックは本来あって当然
厳格なチェックは本来あって当然
518デフォルトの名無しさん
2019/03/02(土) 19:10:02.40ID:Zilw84iH >>511
&str is 何?
&str is 何?
519デフォルトの名無しさん
2019/03/02(土) 19:13:35.19ID:bakyLAA5 >人間が信用できないからこそCよりRustだろ
>気を付けてコーディングすればミスはなくなる、ってのは戦前の日本軍的な精神論だ
ぴんとこないな。
rustの場合、お役所とおせばテストなど自前でしなくともokっていう
変な信用を生んでるだけだろ。そっちのがよっぽど日本的だと思うがね。
>気を付けてコーディングすればミスはなくなる、ってのは戦前の日本軍的な精神論だ
ぴんとこないな。
rustの場合、お役所とおせばテストなど自前でしなくともokっていう
変な信用を生んでるだけだろ。そっちのがよっぽど日本的だと思うがね。
520デフォルトの名無しさん
2019/03/02(土) 19:33:57.30ID:aD19gS0i521デフォルトの名無しさん
2019/03/02(土) 20:15:35.93ID:ZTrGEwqS 考え得る全パターンをいつもテストできるならいいんじゃないの
522デフォルトの名無しさん
2019/03/02(土) 20:36:46.57ID:fWMJYJ6q メモリ破壊はユニットテストで検出されないケースも多い
523デフォルトの名無しさん
2019/03/02(土) 21:36:12.88ID:TjOpVvei 注意力ってのは慣れると省力できるようになるけど、有限リソースだし個人の習熟度と体力に依存するんで、目に見えない負債になる
新しい言語を理解するコストは償却できるけど、注意深さってのはソースコードを触る限りはコストを発生し続ける
機械がチェックできることは機械にやらせた方が絶対に良い
新しい言語を理解するコストは償却できるけど、注意深さってのはソースコードを触る限りはコストを発生し続ける
機械がチェックできることは機械にやらせた方が絶対に良い
524デフォルトの名無しさん
2019/03/02(土) 22:15:15.48ID:E3UUkV/K 製品にするコードってどうせMISRA C辺りの静的解析噛ますし
今時ならvalgrindもテスト項目に入ってるだろうし
Rustなら全部コンパイラがやってくれる!と言われても、
いやCにも外部ツール入れれば同じことできるし……としか思わんのだよな
個人的にはクラスよりトレイトの方がしっくりくるからそれだけでもRustは意味があると思うが
今時ならvalgrindもテスト項目に入ってるだろうし
Rustなら全部コンパイラがやってくれる!と言われても、
いやCにも外部ツール入れれば同じことできるし……としか思わんのだよな
個人的にはクラスよりトレイトの方がしっくりくるからそれだけでもRustは意味があると思うが
525デフォルトの名無しさん
2019/03/02(土) 22:44:32.15ID:bakyLAA5 >>523
枯れてないコンパイラの癖に合わせる方がよっぽど注意力を削ぐと思う。
コンパイラになんでも機能ぶっこむより524のように構成した方がどのツールが文句言ってるのか
よっぽどわかりやすい。
機械にチェックさせるのはいいがシステムとしてモジュラリティーが高いツールの組み合わせのが
結局使いやすいし、ロバストになる。
枯れてないコンパイラの癖に合わせる方がよっぽど注意力を削ぐと思う。
コンパイラになんでも機能ぶっこむより524のように構成した方がどのツールが文句言ってるのか
よっぽどわかりやすい。
機械にチェックさせるのはいいがシステムとしてモジュラリティーが高いツールの組み合わせのが
結局使いやすいし、ロバストになる。
526デフォルトの名無しさん
2019/03/02(土) 22:52:05.50ID:SlOxf6t0 どうでもいいけど言語の持つ表現力とかは完全に無視なん?
527デフォルトの名無しさん
2019/03/02(土) 22:57:46.43ID:fWMJYJ6q528デフォルトの名無しさん
2019/03/02(土) 22:59:57.91ID:BjkGLvi1529デフォルトの名無しさん
2019/03/02(土) 23:01:34.51ID:E3UUkV/K >>526
CやC++との比較でそこ(表現力)に触れずに
「Rustは安全!C/C++はfree/delete忘れがーアクセス違反がー領域の破壊がー」ばっか言ってる人が多いのが疑問って話な
俺はトレイトに可能性感じてるから期待してるよ
C++のテンプレートとか関数オブジェクトとか書きたくねえし
あとチェッカーとコンパイラ分けるべきか合体させるべきかについては、
どっちにも善し悪しあるからCとRustどっちが優れてるとかはないと思ってる
CやC++との比較でそこ(表現力)に触れずに
「Rustは安全!C/C++はfree/delete忘れがーアクセス違反がー領域の破壊がー」ばっか言ってる人が多いのが疑問って話な
俺はトレイトに可能性感じてるから期待してるよ
C++のテンプレートとか関数オブジェクトとか書きたくねえし
あとチェッカーとコンパイラ分けるべきか合体させるべきかについては、
どっちにも善し悪しあるからCとRustどっちが優れてるとかはないと思ってる
530デフォルトの名無しさん
2019/03/03(日) 00:06:30.62ID:vKpOoBmI https://hacks.mozilla.org/2019/02/rewriting-a-browser-component-in-rust/
MISRAに適合しててvalgrindでチェックしてもこういうのは無理じゃない?他に例が思いつかないけど
MISRAに適合しててvalgrindでチェックしてもこういうのは無理じゃない?他に例が思いつかないけど
531デフォルトの名無しさん
2019/03/03(日) 00:19:36.71ID:cZvjaCEe Cじゃ確かに無理かもわからんが、C++のstd::vectorならatメソッドで同じことできるぞ
毎回アクセス範囲が適切か確認するから結局オーバーヘッドになってほぼ使われんがな
毎回アクセス範囲が適切か確認するから結局オーバーヘッドになってほぼ使われんがな
532デフォルトの名無しさん
2019/03/03(日) 00:45:31.79ID:c3K18875 基本はIndex::indexを呼んで必要なとき(オーバーヘッドが気になるとき)にunsafeで囲む
C++は全関数がunsafeで意識せずVec::get_uncheckedを使うようなもの
オーバーヘッドの問題でunsafeで囲んだらRustだってツールじゃムリ五十歩百歩って言われるかもしれないけど、五十歩の方がいい
C++は全関数がunsafeで意識せずVec::get_uncheckedを使うようなもの
オーバーヘッドの問題でunsafeで囲んだらRustだってツールじゃムリ五十歩百歩って言われるかもしれないけど、五十歩の方がいい
533デフォルトの名無しさん
2019/03/03(日) 00:45:55.40ID:m5mWw6SB MozillaやRust作者の人達が、valgrindやチェックツールの使い方を知らない
アホ揃いだと思ってるの?
アホ揃いだと思ってるの?
534デフォルトの名無しさん
2019/03/03(日) 00:57:04.94ID:cZvjaCEe >>533
MozillaやRust作者の人達の過激な信者が
valgrindやチェックツールの存在を知らないか軽視してるせいで
Rustの宣伝に対して過剰にC/C++をディスってるアホ揃いだと思ってる
もちろんそうじゃないRust推しもいることは承知の上だ
逆に、「そういうツール使えばC/C++だけで十分Rustなんてイラネ」って意見も
ベクトル違うだけで同じくらいアホだと思ってるがな
だからこそトレイトの使い方だとかモジュールの仕組みだとか
外部ライブラリ(crate)の扱い方の方向での他言語との比較が
あんまり見えないことが問題だと思うんだが
そういう意味で話題提供すると、cargoって結構disられてるけど
どの変がクソなのかいまいち分からん
キャッシュサーバ持てないって話ならnpmとかbundleとかgo getも大概では?
MozillaやRust作者の人達の過激な信者が
valgrindやチェックツールの存在を知らないか軽視してるせいで
Rustの宣伝に対して過剰にC/C++をディスってるアホ揃いだと思ってる
もちろんそうじゃないRust推しもいることは承知の上だ
逆に、「そういうツール使えばC/C++だけで十分Rustなんてイラネ」って意見も
ベクトル違うだけで同じくらいアホだと思ってるがな
だからこそトレイトの使い方だとかモジュールの仕組みだとか
外部ライブラリ(crate)の扱い方の方向での他言語との比較が
あんまり見えないことが問題だと思うんだが
そういう意味で話題提供すると、cargoって結構disられてるけど
どの変がクソなのかいまいち分からん
キャッシュサーバ持てないって話ならnpmとかbundleとかgo getも大概では?
535デフォルトの名無しさん
2019/03/03(日) 06:22:48.61ID:ChZC+e8W >>519
ほんそれ
ほんそれ
536デフォルトの名無しさん
2019/03/03(日) 07:44:53.56ID:lQ42Eo+G みんな同じ話題について話してるのか?
好き勝手独り言言ってるようにしかみえない。
好き勝手独り言言ってるようにしかみえない。
537デフォルトの名無しさん
2019/03/03(日) 16:01:14.67ID:r7+VYZoa これがいつもの流れだ
538デフォルトの名無しさん
2019/03/03(日) 16:51:19.54ID:ebEU4O2W そりゃーRust信者とRustアンチしかいねえからな
話が噛み合うわけない
話が噛み合うわけない
539デフォルトの名無しさん
2019/03/03(日) 16:53:34.09ID:4supDM4A Rustだと(unsafeなし、コンパイラのバグなしなら)プログラムの全実行パスでメモリリークや破壊がないことが保証できると思うけど、
C/C++で同等のチェックができるツールってある?
valgrindは単にvalgrindで実行したパスで問題なかったことが分かるだけって理解なんだけど。
もしあるならそれはそれで使ってみたい。
C/C++で同等のチェックができるツールってある?
valgrindは単にvalgrindで実行したパスで問題なかったことが分かるだけって理解なんだけど。
もしあるならそれはそれで使ってみたい。
540デフォルトの名無しさん
2019/03/03(日) 17:11:00.51ID:vKpOoBmI541デフォルトの名無しさん
2019/03/03(日) 17:26:47.25ID:oO/57lY2 その手の静的解析ツールはたいてい商用製品だね。一番手頃なのはVSで使えるSALかな。
542デフォルトの名無しさん
2019/03/03(日) 17:57:36.24ID:lcRojjEc 顔本のinferがオープンソースで全パス調べてくれるやつだな
企業ならcoverity課金してるだろ
企業ならcoverity課金してるだろ
543デフォルトの名無しさん
2019/03/03(日) 18:42:44.87ID:DMRKI5H5 inferは知らなかった。ちょっと試してみる。
まぁ商用含めても原理的に検出率100%とはいかないだろうけど、
Rustだって標準ライブラリ内のunsafeバグとかあるからいい勝負なのかな。
まぁ商用含めても原理的に検出率100%とはいかないだろうけど、
Rustだって標準ライブラリ内のunsafeバグとかあるからいい勝負なのかな。
544デフォルトの名無しさん
2019/03/03(日) 18:48:10.42ID:Y2LadsyV 全パスチェックしてもRustのコンパイル時のチェックには及ばない
全パスチェック程度で済むものならば、Rustにあんなややこしい概念を持ち込む必要はないんだよ
全パスチェック程度で済むものならば、Rustにあんなややこしい概念を持ち込む必要はないんだよ
545デフォルトの名無しさん
2019/03/03(日) 18:59:21.85ID:jeWiu9AY 言語として縛りを強制するってとこに旨みがあるよね
静的チェックを過大評価云々は的を外した無意味な議論
静的チェックを過大評価云々は的を外した無意味な議論
546デフォルトの名無しさん
2019/03/03(日) 19:51:05.48ID:BbxzBxVK Rcなりunsafeなりあるわけでなんだかね。
rustを意識してプログラムをすることに意味はあるがrustの実装系を使うことに
そこまで意味はない。
rustを意識してプログラムをすることに意味はあるがrustの実装系を使うことに
そこまで意味はない。
547デフォルトの名無しさん
2019/03/03(日) 22:01:18.12ID:lQ42Eo+G 俺はweb屋さんだけどサーバ書くならrustが最高とおもってる
これって過激な信者?
これって過激な信者?
548デフォルトの名無しさん
2019/03/03(日) 22:32:13.67ID:cCLOOBeX 信者だアンチだディスったディスってないでrustを語れよ
549デフォルトの名無しさん
2019/03/03(日) 23:36:41.41ID:U4/3Q3+q coverityとかの静的解析って誤検出が結構ある
で誤検出かどうかの人力解析も超めんどくさい
かつ1度の解析にめっちゃ時間かかる
これがあるからC/C++でもRust同等とかないわ
で誤検出かどうかの人力解析も超めんどくさい
かつ1度の解析にめっちゃ時間かかる
これがあるからC/C++でもRust同等とかないわ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- ネトウヨ、「高市さんがカンペを無視して存立危機発言をしたのは、岡田に『カンペ読むな』と執拗に言われたので言っただけ」と歴史を捏造 [314039747]
- 敵「ククク、キミの親友の俺くんの死体を蘇らせて操り、お前らと戦わせるぞ」お前ら「」←どうする?
- コウメ太夫のネタ考えたから評価してくれ
- トランプ、G7に代わるcore 5を発表 [805596214]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- うち近所に本格的ピッツァ屋あるけど羨ましい?
