Google&MS「バグの70%はC/C++。Rustにする」 (808レス)
上下前次1-新
697: [sage] 2024/08/17(土)10:17 AAS
rustは中途半端なIT土方をフィルタリングできるから
なおさらよい
698: [sage] 2024/08/17(土)17:31 AAS
>>695
unsafe{}
699: [sage] 2024/08/17(土)17:32 AAS
kurusimidesinu
700: [sage] 2024/08/19(月)13:14 AAS
kurusii
701: [sage] 2024/10/17(木)08:09 AAS
2chスレ:prog
702(1): [] 2024/12/14(土)18:10 AAS
で、C++作った禿はRustをどう評価してるん? まさか、禿は死んだ、とかないじゃろな?
何か聖書に出てきそう。
禿げは死んだ。しかし、C++は残るであろう。
703: [] 2024/12/15(日)14:13 AAS
C/C++は着実に消えていく
C/C++からRustへ:Googleが示すファームウェア進化の道筋
https://xenospectrum.com/google-revamps-firmware-with-rust/
704: [sage] 2024/12/15(日)18:45 AAS
Rustが最終的な勝ち組になるなんて信じられない
705: [sage] 2024/12/15(日)21:36 AAS
もう一歩進歩があるはずなが
706: [] 2024/12/16(月)05:55 AAS
英語・英語じゃなくてよ、日本語プログラミングできるようにしろよ。
関連
なでしこ
707: [sage] 2024/12/19(木)20:20 AAS
rustくらいすぐにできるやろ
でも世の中はなんちゃってエンジニアばかりで
当たり前なことが出来ないのばかりだからなぁ
708: [sage] 02/20(木)05:50 AAS
マイクロソフトさん
709: [sage] 03/22(土)10:59 AAS
>>702
最近はメモリ安全をC++にも導入しないと未来はないっていってるので高く評価してそう
JavaとかGoみたいなGC言語しかないころはスマートポインタ使えよばーか程度だったと思うし
710: [] 03/22(土)22:32 AAS
C++自体にどんな機能を追加してもRustと同レベルに安全にするのは不可能だと結論は出ていて
CarbonなどC++からちょっと変える言語を作るしかないけどどれも決定打に欠けていて
巨大で一枚岩のシステムを除けば部分的なシステム更新の再構築時にRust化していけばよい流れになってる
711(1): [sage] 03/23(日)03:47 AAS
そうなるとこんどは、RustにC++が合わせていくことになる
そうすると、自然にC++にも、Rustが実績を積んだ安全策が流入してくる
今回もそれでいい C++はそうやって、外圧で進化してきた
712: [sage] 03/23(日)06:38 AAS
久しぶりRust触ってるけどなんか面白いかもしれん
優秀すぎる言語はあまり可愛いとは思わないのだが
しばらくRust書いてみるか
713: [] 03/23(日)10:11 AAS
>>711
C++は言語仕様を変えない限り見捨てられる
例えば未定義動作を無くさないとな
714(1): [sage] 03/24(月)10:57 AAS
未定義は未定義なので、処理系が「その未定義、設定ONにしてくれたら全部潰します」ってしてくれてもいいのよ
いいはずなのよ
未定義になりかけたら落とす、確実に落とす、でもだいぶ違うとおもう
しばらくはDoSの嵐になるだろうけど、リスクの潜在が放置されるよりいい
715: [] 03/24(月)22:12 AAS
>>714
いいえ
プログラミング言語に未定義動作があってはいけません
そこがバクの元となりセキュリティ脆弱性にも繋がります
人間が未定義動作を踏まないよう自己責任で注意しながら進まなければいけないC/C++を排除していこうという動きになっている要因の一つでもあります
716: [] 03/24(月)22:12 AAS
「Google Chrome」のフォント処理がC/C++言語からRust言語に
「FreeType」からの移行でメモリ安全性を改善、脆弱性が出にくいライブラリに
https://forest.watch.impress.co.jp/docs/news/1672186.html
717: [sage] 03/24(月)22:34 AAS
出にくいってなあ
718(1): [sage] 03/24(月)22:37 AAS
メモリ管理手動にしたせいでRustかなり性能悪いと聞いた
719: [] 03/25(火)01:13 AAS
ん?メモリ管理が手動なのはC/C++だろ?
Rustはメモリ管理はコンパイラ任せ
720(1): [sage] 03/25(火)01:50 AAS
ガベージコレクション無しにしたけど状況に対応しきれなくて復活
JavaのStringみたいなメモリ共有の仕組みを非推奨にしたせいでコピー&デストラクタ走りまくり
721: [] 03/25(火)11:04 AAS
>>718
>>720
そんなガセ話を書いても誰も騙される人はいないぞ
RustはC/C++と同等の性能を出せるため
ネットインフラも次々とRust製へ置き換わっている
クラウドやCDNなどもRust製が増えている
具体的にAWSやCloudflareなどでもRust製へ置き換え
722: [sage] 03/25(火)12:19 AAS
C++と同程度の性能をうたってる言語のベンチマークでなんかRustだけ遅かった
723: [] 03/25(火)13:28 AAS
現実はこれ>>652
Rustで書いたら性能アップした
5chも使っているCloudflare
724: [sage] 03/25(火)15:28 AAS
>>652
これすごいけどさ
NGINX自体もC言語で書かれて高速軽量がウリだったのに、それよりも性能向上しつつCPUとメモリ消費を3分の1って何をしたんって思う
オープンソース化されたら世の中のNGINXを置き換えるかも
725: [sage] 03/25(火)15:37 AAS
新機能を追加したが機能を削減してないとは言ってない
726: [] 03/25(火)15:47 AAS
CDN世界シェアトップのCloudflareが現実にWebトラフィックをそのRust製で捌いているのだから実用性が十二分にある
727: [sage] 03/25(火)16:26 AAS
unsafe {}
728: [sage] 03/26(水)02:53 AAS
後発のRustがデキるのは当たり前
自分も、仕事で使えと言われたら使う
でも自分用にはC++がいいんだなあ
Rustの知見はよC++に来い
729: [] 03/26(水)10:34 AAS
C++は良いところが全くないからなあ
C++は未定義動作という地雷原を歩く
C++はムーブが手動だからムーブにコンストラクタに後始末など無駄な記述が多くなる
730: [sage] 03/26(水)10:40 AAS
まあ、C++が迷走し出した辺りから使わなくなったなぁw
731: [] 03/26(水)17:25 AAS
確かに
732: [sage] 03/26(水)22:14 AAS
何かしらの理由でC++にこだわり続けないといけないようなシステムは、おそらくコンパイラの更新も禁じられてるのでいくらメモリ安全をもたらす新機能がC++に増えても使えない
C++にこだわらないでいいようなプロジェクトは、何年後に形になるかわからないProfilesフレームワークの仕様決定を待つ暇があったらRustを使えばいい
733: [] 03/31(月)15:20 AAS
Git 2.49リリース — 各種の高速化とRustコードの導入、Git 3.0を見据えた重要なリリース
https://techfeed.io/entries/67d7444dbe91ab1bb00840c6
4. Rust コードの導入
最近はさまざまなプロジェクトで安全性や高パフォーマンスを得るために Rust が採用されているが、Git もその流れに乗り、 Git 本体の一部コードが Rust で実装され始めた。
いきなり大部分が Rust になるわけではないが、今後の拡張や改善でセキュリティや安定性が向上する可能性がある。
普段使っている人にはあまり見えない変更だが、内部の品質向上の一環として要注目だ。
734: [sage] 03/31(月)20:04 AAS
unsafe{}
735(1): [sage] 03/31(月)20:08 AAS
オブジェクト指向は命にかかわるものに使えない
Rustもオブジェクト指向でないといいつつJUMP命令先が可変なので
命にかかわるシステムには使えない
医療機器や自動車がRustになる日などとても想像できない
736: [] 03/31(月)21:11 AAS
>>735
ほなCに命賭けるんすか?
737: [sage] 03/31(月)23:42 AAS
みんなそうしているはずだ
738(1): [sage] 03/31(月)23:49 AAS
コンパイルイメージがくそでかくて何仕込まれてるかバイナリ見てもわからないとか
怖くてマシンに載せることすらためらわれる
739: [sage] 04/01(火)12:21 AAS
Cに命を賭けてきた人々の死体の山の上で俺たちは生きている
740: [] 04/01(火)12:46 AAS
>>738
Rustはコンパイルによる生成コードのサイズを小さくできることがメリット
そのためサイズが小さいと有利なWebAssemblyなどでもRustを用いるのが主流
逆に実行速度優先のために単相化できるのもRustのメリットでこの場合は生成コードのサイズはもちろん大きくなる
741: [sage] 04/01(火)14:56 AAS
Delphiも実行速度は速かったけどバイナリサイズもでかかったから似たようなもんだ
742(1): [sage] 04/01(火)17:42 AAS
Cは早いし小さい
マネージド言語に比べたらめちゃくちゃ小さい
743: [sage] 04/01(火)18:49 AAS
マネージドコードと比べるな
744: [] 04/01(火)19:50 AAS
>>742
Rustも同じ
RustはCと同じことが全てできる
Rustはインラインアセンブラも対応している
745: [sage] 04/01(火)19:53 AAS
そこは張り合うとこじゃない
C++派だが、C++もへたくそがこねくったソースからは、スパゲッティみたいなバイナリが吐かれるからな
それはおなじ
746(1): [sage] 04/01(火)20:55 AAS
前から言われていることだが
所有権の確認などツールを使えばいいのではないか
747: [sage] 04/01(火)21:48 AAS
現実世界にそんなツールが無いことを除けば素晴らしいアイデアだね
748(2): [sage] 04/01(火)22:12 AAS
メモリ安全を確保するツールなど山のようにあるはずだ
749: [sage] 04/01(火)22:16 AAS
なんかなんとなくRustに置き換わっていっているが
Rustにして成果が出たというようなレポートを見ない
750: [] 04/01(火)22:26 AAS
>>748
そんなツールは無い
世界中で長年色々な試みが行われてきたが
C/C++の言語仕様が悪いと結論が出ている
そのためIT各社がRustへと舵を切った
751: [] 04/01(火)23:58 AAS
>>746
>>748
おすすめのツールおせーて
752(1): [sage] 04/02(水)00:03 AAS
ちょっとぐぐったらいっぱいでてくる
Valgrindが一番いっぱいでてきた
753: [] 04/02(水)00:11 AAS
>>752
> 最もよく利用されている標準のツールはMemcheckである。Memcheckはほぼすべての命令に特別な計測用のコードを挿入し、「正当性」(初期化が行われるまでは、割り当て済みでないメモリはすべて無効であるか、未定義である)があり、「アドレス可能」(メモリアドレスが割り当て済みで、解放されていないメモリブロックを指している)であるかという情報が、それぞれVビットおよびAビットに格納されているかを追跡する。
………
> こうした機能への代償として性能が低下する。Memcheckの元で動作するプログラムはValgrindなしで動作する場合と比べて5倍から20倍遅く、より多くのメモリを使用する(メモリ確保ごとにかなりのメモリを追加で消費する)。
うーん…
Rust使ったほうがよくない?😅
754: [sage] 04/02(水)00:15 AAS
そりゃあ実行時に検出するよりはコンパイル時に弾くほうがいいだろうな
755: [] 04/02(水)00:20 AAS
監視・検出処理を挿入してランタイムにメモリリークチェックします
vs
メモリリークのおそれがあるコードをコンパイルエラーで弾きます
ファイッ
756: [sage] 04/02(水)00:23 AAS
偉そうに理想論ぶちあげてるくせに、そういうツールの実務での利用経験すらねえのかよ
757: [sage] 04/02(水)00:55 AAS
静的解析機能もついてたはずだ
758: [sage] 04/02(水)11:27 AAS
あっちを立てればこっちが立たずみたいなことが結構あってあんまり意味ないのよねその手のツール…
759: [] 04/02(水)11:57 AAS
コンパイルが通ればメモリ安全性だけでなくデータ競合すらないことが保証されるRustへIT各社移行中
760(1): [sage] 04/02(水)13:48 AAS
データ競合のバグなんて生涯でまだあったことないんだが
上下前次1-新書関写板覧索設栞歴
あと 48 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.030s*