Google&MS「バグの70%はC/C++。Rustにする」 (812レス)
上下前次1-新
566(1): 2023/05/09(火)07:33 AAS
mallocしたメモリはfreeするなと
吹聴しまくった奴らが仕掛けた時限爆弾が
ついに炸裂したわけだ
567: 2023/05/09(火)10:54 AAS
>>566
なんか勘違いしてそう
568: 2023/05/09(火)23:03 AAS
>>565
周辺機器とやり取りするときは関係あるから物理アドレス確保するんだよ。
GCと速い遅いに直接の関係はない。
C/Rust にはGCはないかもだけど C++ にはGCあるから。
> C++には言語自体にはガベージコレクションの機能がありませんが、C++11から標準ライブラリにスマートポインタという形でガベージコレクションが導入されました。
569: 2023/05/10(水)07:31 AAS
C++にGCはねえだろ
スマポのことを言ってるのかな?
あれは解放のタイミングが明確だからな
予期せぬタイミングでプチフリはしない
570: 2023/05/10(水)11:36 AAS
en.wikipedia.org/wiki/C++23
> 削除された機能と非推奨になった機能
> C++ では多くの GC 実装が利用可能であるにもかかわらず、C++11 で追加されたガベージ コレクションのサポートが削除されました。
> 「C++ のガベージ コレクションは、特定のアプリケーションには明らかに役立ちます。
> しかし、標準で指定されているガベージ コレクションは、それらのアプリケーションには役に立ちません。」[114]
あー
役に立たない実装だから消されたのか。
571: 2023/05/10(水)13:59 AAS
言語のコアライブラリには要らないって話
禅問答的だが、C++でGC使って、要GCな言語を書くことはできるわけで
572: 2023/05/10(水)16:18 AAS
イラネつーてるやつにまで押し付けると
歴史的な分裂騒動になるからな
573: 2023/05/11(木)17:47 AAS
実際スマートポインタが発明されてるのになんでGCなんてもんがいるんだ?
スマートポインタのほうが全てにおいて優れてない?
574: 2023/05/12(金)07:02 AAS
俺もそう思う
575: 2023/05/12(金)15:53 AAS
C++のスマートポインタはRustで吸収され
・RustのCopy実装型 (使われる時は自動コピー)
・RustのCopy非実装型 (使われる時はムーブ) ← C++のunique_ptr
・RustのArc型 (atomic増減でスレッド間も利用可) ← C++のshared_ptr
・RustのRc型 (高速にスレッド内で利用可)
つまりunique_ptrの機能がRustでは標準で備わっている
さらにshared_ptrはArcでその軽量版Rcが追加
省2
576: 2023/05/12(金)16:23 AAS
アイディアを盗みに来てるのね
Javaがそうしていたように
577: 2023/05/12(金)16:34 AAS
この機能の起源はなんとかといえばマウント取れるのかな
578(1): 2023/05/12(金)16:36 AAS
コードの70%がC/C++ってオチ?
579(2): 2023/05/12(金)19:03 AAS
JavaからC++に来たバカプログラマはnewはするけどdeleteすることはなかった
580: 2023/05/12(金)20:01 AAS
とはいえスマートポインタの仕組みって今まであらゆる後発言語がパクらなかったよね
だからこそRustはウケてるんだろうけど
581: 2023/05/12(金)21:46 AAS
実装しても使い方が分からないとか
582: 2023/05/14(日)18:37 AAS
Rustの色々あるスマートポインタのうち
長さを伴う『スライス』というのがポインタをセキュアにしているしてるみたいなんだけど
C++にはスライスに対応するものがないのですか?
583: 2023/05/14(日)19:35 AAS
まずスライスはスマートポインタじゃないです
584: 2023/05/14(日)20:55 AAS
Rust The BookによるとStringやVecですらスマートポインタ
外部リンク[html]:doc.rust-lang.org
we’ve already encountered a few smart pointers in this book, including String and Vec<T> in Chapter 8.
Both these types count as smart pointers because they own some memory and allow you to manipulate it.
They also have metadata and extra capabilities or guarantees.
585(1): 2023/05/14(日)21:30 AAS
全部 Rust にしたら、バグの 100% は Rust になるな
586: 2023/05/14(日)21:56 AAS
>>578 >>585
記事を読めば分かるように
深刻なセキュリティ脆弱性バグのうち70%がC/C++のメモリ管理に起因する
と、MicrosoftとGoogleが共に同じ調査結果を出している話
Rustに変更するとその70%はゼロにできるため現在Rustへ変更しつつある
587(1): 2023/05/14(日)22:00 AAS
メモリ管理など今後はAIにチェックさせればよい
588: 2023/05/14(日)22:56 AAS
>>587
そんなことが可能ならばとっくにやってる
しかしC++の言語仕様では無理
そして自動チェックを実現したのがRust
589(1): 2023/05/15(月)00:09 AAS
つーかメモリ云々抜きでも、ぶっちゃけごちゃごちゃすぎてもう嫌じゃない?C++
モジュールやらなんやらわりとドラスティックに改善しようとはしてるけど
そういうの入れても結局過去の遺産と混ざって余計ぐちゃぐちゃになるし
そもそもC++11すら未だ相当数がロクに扱えないのに、C++20以降なんか追従できるわけがない
文字列はUTF-8の奴しかなく曖昧さがない、標準でMaybeとEitherが搭載されてる
モジュールもある、パターンマッチもある、半端な例外は無い、不幸を呼ぶ継承も無い
パッケージ管理システムもある、変数は標準でImmutable、Moveも明瞭、自動テストもメモ書き並の気軽さでかけるって
省1
590(2): 2023/05/15(月)00:45 AAS
生まれたてのRustのほうがもっと見た目ごちゃごちゃなのどういうことだ
591(2): 2023/05/15(月)01:37 AAS
>>589
後発言語だから有利なのは当たり前だが
Rustは各言語の最新を上手く洗練して採り入れてるな
>>590
Rustでごちゃごちゃは感じない
正確に言うと
把握理解する前はごちゃごちゃに感じる部分もあるが
省2
592: 2023/05/15(月)07:00 AAS
C++20は待望の機能が豊富にあって
もう17に戻ろうとは思わないぞ
593(1): 2023/05/15(月)07:26 AAS
C++20でも問題が解決されず絶望してIT大手各社が共同でRust Foundationを設立してRustへと舵を切った
594(1): 2023/05/15(月)08:17 AAS
Rustは文字列代入するだけで大騒ぎ
595: 2023/05/15(月)08:45 AAS
- されず
+ できず
無能はすぐ道具のせいにする
無能に迎合する理不尽なルールが増えていくと
やる気なくして辞めていったり
無能に仲間入りする人が出てくる
いわゆる腐ったミカンてやつだ
596: 2023/05/15(月)09:01 AAS
>>594
どの言語でも同じだろ
そのまま使うかコピーして別物として書き換わってもいいようにするかで分かれる
597: 2023/05/15(月)09:16 AAS
そもそも文字列がイミュータブルな言語がほとんどやが
C++とRustが例外的なだけで
598(1): 2023/05/15(月)09:23 AAS
>>593
じゃあ早くC++/CXみたいなやつ出してまともにGUI開発させてくれませんかMSさん?
599: 2023/05/15(月)09:28 AAS
Rust ちゃんの文字列ルーティーンを
可愛らしい動画にすればバズるはず
600(1): 2023/05/15(月)09:32 AAS
業務アプリですらもう100%Webクライアントなのに、デスクトップクライアントはもう未来が無いし
本気でやるなら膨大なコストが掛かるわりに投資する価値がない
どうしてもレガシーな開発したいなら、Win32SDKもGTKも使えるからそれでいいだろ
601(3): 2023/05/15(月)09:51 AAS
>>598
GUIデスクトップ作るならば
Web技術(HTML)を使うTauriがオススメ
・マルチプラットフォームで使える
・Webアプリ化も容易
・アプリ本体部分はRustで記述
・アプリGUI部分はJavaScriptかWebAssembly(by Rust)で記述
省2
602: 2023/05/15(月)10:02 AAS
Rustはいま使えるソリューションなんだから、今ある問題を確認してくれないと困る
ゲームなんかはまだSDKベースだろ
603: 2023/05/15(月)10:04 AAS
Teamsのモッダ~ンなゲロ重UIをなんとかできない体たらくのまま
デスクトップアプリを勝手にレガシー認定しないでください
604: 2023/05/15(月)12:25 AAS
Teamsが重いとか、どうせ未だにSandyBridgeでメモリ4GBみたいなレガシーな環境だろう
605: 2023/05/15(月)13:10 AAS
そこはそんなレガシー低スペ環境でも動く小メモリRust製GUIの宣伝をしろよ
606: 2023/05/15(月)13:29 AAS
それならeguiがシンプルでいいね
WindowsでもLinuxでもどの環境でも動いて
このサンプルページのようにWasmつまりブラウザ上でも動く
(Tauriと異なりHTMLなどWeb技術は関係ない)
外部リンク:www.egui.rs
純Rust製
607: 2023/05/15(月)16:21 AAS
>>600
すげえ井の中の蛙だなw
608: 2023/05/15(月)17:10 AAS
Chromiumベースのアプリがまともに動かない、化石みたいな低スペックPC向けの
Windows用デスクトップGUI開発をネイティブでやるぐらいニッチな案件だと
MFCやらのレガシー資産豊富なC++しかないだろうな
逆に言うと、この手のCOBOL新規開発並みの案件持ちださんとC++を選ぶ理由もないんだが
609(1): 2023/05/17(水)21:38 AAS
>>579
と、バカが申しております
610: 2023/05/18(木)11:19 AAS
>>579
C++のスマポを経て
Rustは標準で自動的に安全なメモリ自動解放を実現したから大丈夫
611(1): 2023/05/18(木)19:14 AAS
>>609
このJAVA使いの馬鹿面w
612: 2023/05/18(木)22:39 AAS
>>611
と馬鹿が申しております
613: 2023/05/19(金)00:30 AAS
してWindowsはバグが30%に減少しただろうか?
614: 2023/05/19(金)12:09 AAS
5chでくだまいてる時点でお察しだね
そんな暇人でも5chでイキれるんだからc++て素晴らしい言語ですねw
615: 2023/05/19(金)15:28 AAS
ChatGPTに書かせればバグはなくなるから結局C/C++に戻るだろ
616: 2023/05/19(金)16:41 AAS
そんな夢物語の話するなら最初からバイナリ
吐かせれば良い
617: 2023/05/19(金)21:23 AAS
だよな。AIがどれだけ複雑なシステムも確実にノーバグで出せるのなら
いちいち人間ごとき向けのプログラム言語を間に挟む意味がない
618: 2023/05/19(金)21:38 AAS
ブラウザという中途半端な媒体が嫌い
619: 2023/05/29(月)22:07 AAS
なんかポリコレがらみの内紛でコアチームが揉めてるらしいじゃん
将来性黄色信号か?
620: 2023/05/30(火)00:27 AAS
Rustはなんら問題なくガバナンスされている
外部リンク:www.rust-lang.org
621: 2023/05/30(火)05:25 AAS
ま、内紛が本格化したら、フォークするだけだろ
MSが育ててくれるかもしれん ぐぐるとAppleは、DartとSwift持ってるし
622: 2023/05/30(火)05:51 AAS
MicrosoftとGoogleとAmazonなどIT大手各社が共同でRust Foundationを設立したためRustは盤石な体制となっている
623(1): 2023/05/30(火)08:36 AAS
Visual R++ができるかもね
でも現代なら、それもアリかなって
624: 116 2023/06/06(火)05:34 AAS
J++の二の舞
625: 2023/06/06(火)06:45 AAS
ワケワカだよなJ++
626(1): 2023/06/06(火)08:18 AAS
>>72
ネタじゃなくて、統計上そうなる
627: 2023/06/06(火)10:31 AAS
>>626
Rustで作ればバグはなくなる
628: 2023/06/07(水)09:58 AAS
>>591
crates.io はごちゃごちゃ感しかない
629(1): 2023/06/07(水)10:29 AAS
>>69
そうさ100%勇気~
630: 2023/06/07(水)20:10 AAS
>>590-591
RUSTも将来ごちゃごちゃになる運命
631: 2023/06/07(水)20:23 AAS
>>601
ほんそれ
632: 2023/06/08(木)13:47 AAS
test
633(1): 2023/06/08(木)14:28 AAS
>>629
やめろその歌
大嫌い
634: 2023/06/08(木)16:06 AAS
>>633
なんで? ホモっぽいから?
635(1): 2023/06/08(木)18:17 AAS
>>601
えっ
Tauri は糞だろ
636: 2023/06/08(木)21:16 AAS
>>635
その分野ではTauriがベスト
>>601に書かれているメリットを上回るものが他にない
637(3): 2023/06/09(金)20:08 AAS
これもRustにすれば解決するんだろうか
マイナンバー開発者が不具合の原因を暴露。「個人番号ではなく住所氏名で照合するプログラムを書いた」 [971283288]
2chスレ:news
638: 2023/06/09(金)22:59 AAS
>>637
え?
本気で言ってるの?
ちょっとこのスレ読み直したほうがいいんじゃない?
639: 2023/06/10(土)06:58 AAS
信者なら、「Rustの安全性に依れば、そういうところにも資源を集中できる」って言うだろうけど、
それはもう推しってやつだな
640: 2023/06/10(土)07:24 AAS
>>637
Rustはデータ競合をコンパイルエラーとし排除できる初のプログラミング言語なので
データ競合により引き起こされてきたバグなどは解決する
しかしその問題がデータ競合によるものかどうかは知らない
641(1): 2023/06/10(土)10:55 AAS
全ての不具合をコンパイラが検出してくれると思ってんだよな
アルゴリズム起因のバグやユーザーの入力間違い防止なんかは検出できるわけないのに
642: 2023/06/10(土)11:20 AAS
一応Tauriよりは軽量そうかつ、いきなり開発放棄にならなそうなGUIツールキットとしてはGTKがあるけど
Tauriと比べてシェアどうなんだろうね
643: 2023/06/10(土)12:12 AAS
>>641
そんな思い込みをしてる人はいない
C/C++ではコンパイルが通ってしまう、
メモリ管理のバグや、
エラー(や例外)の対応忘れや、
異常値(NULLや-1など)の対応忘れや、
データ競合のバグなどを、
省2
644: 2023/06/10(土)12:34 AAS
頭がAIなら、これぐらいAIで静的解析してれば防げたって本気で言い出すやつもいるだろうが
Rustだと少しでも知ってればいないだろうな
645: 2023/06/10(土)12:41 AAS
ド素人はどうしても抜けが出がちなソース書くからな
646: 2023/06/10(土)18:37 AAS
>>637
はい
上下前次1-新書関写板覧索設栞歴
あと 166 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.017s