Google&MS「バグの70%はC/C++。Rustにする」 (812レス)
上下前次1-新
713: 仕様書無しさん [] 03/23(日)10:11
>>711
C++は言語仕様を変えない限り見捨てられる
例えば未定義動作を無くさないとな
714(1): 仕様書無しさん [sage] 03/24(月)10:57
未定義は未定義なので、処理系が「その未定義、設定ONにしてくれたら全部潰します」ってしてくれてもいいのよ
いいはずなのよ
未定義になりかけたら落とす、確実に落とす、でもだいぶ違うとおもう
しばらくはDoSの嵐になるだろうけど、リスクの潜在が放置されるよりいい
715: 仕様書無しさん [] 03/24(月)22:12
>>714
いいえ
プログラミング言語に未定義動作があってはいけません
そこがバクの元となりセキュリティ脆弱性にも繋がります
人間が未定義動作を踏まないよう自己責任で注意しながら進まなければいけないC/C++を排除していこうという動きになっている要因の一つでもあります
716: 仕様書無しさん [] 03/24(月)22:12
「Google Chrome」のフォント処理がC/C++言語からRust言語に
「FreeType」からの移行でメモリ安全性を改善、脆弱性が出にくいライブラリに
https://forest.watch.impress.co.jp/docs/news/1672186.html
717: 仕様書無しさん [sage] 03/24(月)22:34
出にくいってなあ
718(1): 仕様書無しさん [sage] 03/24(月)22:37
メモリ管理手動にしたせいでRustかなり性能悪いと聞いた
719: 仕様書無しさん [] 03/25(火)01:13
ん?メモリ管理が手動なのはC/C++だろ?
Rustはメモリ管理はコンパイラ任せ
720(1): 仕様書無しさん [sage] 03/25(火)01:50
ガベージコレクション無しにしたけど状況に対応しきれなくて復活
JavaのStringみたいなメモリ共有の仕組みを非推奨にしたせいでコピー&デストラクタ走りまくり
721: 仕様書無しさん [] 03/25(火)11:04
>>718
>>720
そんなガセ話を書いても誰も騙される人はいないぞ
RustはC/C++と同等の性能を出せるため
ネットインフラも次々とRust製へ置き換わっている
クラウドやCDNなどもRust製が増えている
具体的にAWSやCloudflareなどでもRust製へ置き換え
722: 仕様書無しさん [sage] 03/25(火)12:19
C++と同程度の性能をうたってる言語のベンチマークでなんかRustだけ遅かった
723: 仕様書無しさん [] 03/25(火)13:28
現実はこれ>>652
Rustで書いたら性能アップした
5chも使っているCloudflare
724: 仕様書無しさん [sage] 03/25(火)15:28
>>652
これすごいけどさ
NGINX自体もC言語で書かれて高速軽量がウリだったのに、それよりも性能向上しつつCPUとメモリ消費を3分の1って何をしたんって思う
オープンソース化されたら世の中のNGINXを置き換えるかも
725: 仕様書無しさん [sage] 03/25(火)15:37
新機能を追加したが機能を削減してないとは言ってない
726: 仕様書無しさん [] 03/25(火)15:47
CDN世界シェアトップのCloudflareが現実にWebトラフィックをそのRust製で捌いているのだから実用性が十二分にある
727: 仕様書無しさん [sage] 03/25(火)16:26
unsafe {}
728: 仕様書無しさん [sage] 03/26(水)02:53
後発のRustがデキるのは当たり前
自分も、仕事で使えと言われたら使う
でも自分用にはC++がいいんだなあ
Rustの知見はよC++に来い
729: 仕様書無しさん [] 03/26(水)10:34
C++は良いところが全くないからなあ
C++は未定義動作という地雷原を歩く
C++はムーブが手動だからムーブにコンストラクタに後始末など無駄な記述が多くなる
730: 仕様書無しさん [sage] 03/26(水)10:40
まあ、C++が迷走し出した辺りから使わなくなったなぁw
731: 仕様書無しさん [] 03/26(水)17:25
確かに
732: 仕様書無しさん [sage] 03/26(水)22:14
何かしらの理由でC++にこだわり続けないといけないようなシステムは、おそらくコンパイラの更新も禁じられてるのでいくらメモリ安全をもたらす新機能がC++に増えても使えない
C++にこだわらないでいいようなプロジェクトは、何年後に形になるかわからないProfilesフレームワークの仕様決定を待つ暇があったらRustを使えばいい
733: 仕様書無しさん [] 03/31(月)15:20
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
unsafe{}
735(1): 仕様書無しさん [sage] 03/31(月)20:08
オブジェクト指向は命にかかわるものに使えない
Rustもオブジェクト指向でないといいつつJUMP命令先が可変なので
命にかかわるシステムには使えない
医療機器や自動車がRustになる日などとても想像できない
736: 仕様書無しさん [] 03/31(月)21:11
>>735
ほなCに命賭けるんすか?
737: 仕様書無しさん [sage] 03/31(月)23:42
みんなそうしているはずだ
738(1): 仕様書無しさん [sage] 03/31(月)23:49
コンパイルイメージがくそでかくて何仕込まれてるかバイナリ見てもわからないとか
怖くてマシンに載せることすらためらわれる
739: 仕様書無しさん [sage] 04/01(火)12:21
Cに命を賭けてきた人々の死体の山の上で俺たちは生きている
740: 仕様書無しさん [] 04/01(火)12:46
>>738
Rustはコンパイルによる生成コードのサイズを小さくできることがメリット
そのためサイズが小さいと有利なWebAssemblyなどでもRustを用いるのが主流
逆に実行速度優先のために単相化できるのもRustのメリットでこの場合は生成コードのサイズはもちろん大きくなる
741: 仕様書無しさん [sage] 04/01(火)14:56
Delphiも実行速度は速かったけどバイナリサイズもでかかったから似たようなもんだ
742(1): 仕様書無しさん [sage] 04/01(火)17:42
Cは早いし小さい
マネージド言語に比べたらめちゃくちゃ小さい
743: 仕様書無しさん [sage] 04/01(火)18:49
マネージドコードと比べるな
744: 仕様書無しさん [] 04/01(火)19:50
>>742
Rustも同じ
RustはCと同じことが全てできる
Rustはインラインアセンブラも対応している
745: 仕様書無しさん [sage] 04/01(火)19:53
そこは張り合うとこじゃない
C++派だが、C++もへたくそがこねくったソースからは、スパゲッティみたいなバイナリが吐かれるからな
それはおなじ
746(1): 仕様書無しさん [sage] 04/01(火)20:55
前から言われていることだが
所有権の確認などツールを使えばいいのではないか
747: 仕様書無しさん [sage] 04/01(火)21:48
現実世界にそんなツールが無いことを除けば素晴らしいアイデアだね
748(2): 仕様書無しさん [sage] 04/01(火)22:12
メモリ安全を確保するツールなど山のようにあるはずだ
749: 仕様書無しさん [sage] 04/01(火)22:16
なんかなんとなくRustに置き換わっていっているが
Rustにして成果が出たというようなレポートを見ない
750: 仕様書無しさん [] 04/01(火)22:26
>>748
そんなツールは無い
世界中で長年色々な試みが行われてきたが
C/C++の言語仕様が悪いと結論が出ている
そのためIT各社がRustへと舵を切った
751: 仕様書無しさん [] 04/01(火)23:58
>>746
>>748
おすすめのツールおせーて
752(1): 仕様書無しさん [sage] 04/02(水)00:03
ちょっとぐぐったらいっぱいでてくる
Valgrindが一番いっぱいでてきた
753: 仕様書無しさん [] 04/02(水)00:11
>>752
> 最もよく利用されている標準のツールはMemcheckである。Memcheckはほぼすべての命令に特別な計測用のコードを挿入し、「正当性」(初期化が行われるまでは、割り当て済みでないメモリはすべて無効であるか、未定義である)があり、「アドレス可能」(メモリアドレスが割り当て済みで、解放されていないメモリブロックを指している)であるかという情報が、それぞれVビットおよびAビットに格納されているかを追跡する。
………
> こうした機能への代償として性能が低下する。Memcheckの元で動作するプログラムはValgrindなしで動作する場合と比べて5倍から20倍遅く、より多くのメモリを使用する(メモリ確保ごとにかなりのメモリを追加で消費する)。
うーん…
Rust使ったほうがよくない?😅
754: 仕様書無しさん [sage] 04/02(水)00:15
そりゃあ実行時に検出するよりはコンパイル時に弾くほうがいいだろうな
755: 仕様書無しさん [] 04/02(水)00:20
監視・検出処理を挿入してランタイムにメモリリークチェックします
vs
メモリリークのおそれがあるコードをコンパイルエラーで弾きます
ファイッ
756: 仕様書無しさん [sage] 04/02(水)00:23
偉そうに理想論ぶちあげてるくせに、そういうツールの実務での利用経験すらねえのかよ
757: 仕様書無しさん [sage] 04/02(水)00:55
静的解析機能もついてたはずだ
758: 仕様書無しさん [sage] 04/02(水)11:27
あっちを立てればこっちが立たずみたいなことが結構あってあんまり意味ないのよねその手のツール…
759: 仕様書無しさん [] 04/02(水)11:57
コンパイルが通ればメモリ安全性だけでなくデータ競合すらないことが保証されるRustへIT各社移行中
760(1): 仕様書無しさん [sage] 04/02(水)13:48
データ競合のバグなんて生涯でまだあったことないんだが
761: 仕様書無しさん [] 04/02(水)15:07
>>760
CPUマルチコアを生かすプログラミングしたことすらない初心者か?
762: 仕様書無しさん [sage] 04/02(水)16:26
ないな
763: 仕様書無しさん [sage] 04/02(水)18:40
いままでC言語でなにして遊んでたんだ
764: 仕様書無しさん [sage] 04/02(水)19:03
スレッド関係ないときまで余計なこと考えんといかんじゃないか
765(1): 仕様書無しさん [sage] 04/02(水)19:18
可読性ゼロのC++テンプレートメタ地獄よりはマシですわw
766(1): 仕様書無しさん [sage] 04/03(木)17:20
ライブラリ作成は数学の得意そうな人とかに任せますわw > テンプレメタ地獄
Rustだったら安全と投資家も認めた
はよその知見C++に来い まったく同じにやればいいんだ
767(1): 仕様書無しさん [] 04/03(木)17:44
>>766
C/C++の言語仕様があまりにも酷いためRustのような安全性を導入できないことが判明している
解決策としてはC/C++とは互換性がない制約と拡張を行なうしか手がない
特にC/C++の未定義動作は全て無くす必要があり根本的に別の言語となってしまう
そのため今後の進む道は『C/C++改造版』ではなくRustが選ばれた
768: 仕様書無しさん [sage] 04/03(木)17:58
Rustもマクロあるんよね
769: 仕様書無しさん [sage] 04/03(木)18:42
Rustのマクロは強力すぎる分、意識高い系に触らせると
C++のテンプレートメタパズルよりもっと酷いものがシステムに持ち込まれると思う
770: 仕様書無しさん [] 04/03(木)19:05
マクロは関係ない
ジェネリック関数を記述する時に
Rustは関数そのままに型名をジェネリックパラメーターに置き換えるだけでよい
C/C++はテンプレートを使わないと書けない
771(1): 仕様書無しさん [sage] 04/03(木)21:41
C/C++はすごいよ
コンピューターのかなり低いところまで好きなようにいじれてしまう
人間には過ぎたシロモノだったんだ
772: 仕様書無しさん [] 04/03(木)22:10
>>771
このスレでそんなアホなこと言うか?
Cで出来ることは全てRustでも出来る
RustはCと同様にインラインアセンブラ機能まであるため万能
773: 仕様書無しさん [sage] 04/04(金)12:20
いまやインラインアセンブラがあるだけでは優位とはいえんな
インラインアセンブラが、unsafe なしで書けてこそRust
774: 仕様書無しさん [sage] 04/04(金)12:21
>>767
> C/C++の言語仕様があまりにも酷いためRustのような安全性を導入できないことが判明している
ソースplz
775: 仕様書無しさん [] 04/05(土)11:39
>>765
上層のクラス含め何でもテンプレートで書く独りよがりいるけど止めて欲しいよな
あくまで型違いで共用するコードの冗長を減らす目的に限定
なおかつ他者は使い方だけ把握して、コード内を見ず使えるように実装すべきだな
776(1): 仕様書無しさん [] 04/05(土)11:45
Rustはなあ、人を用意できんだろ?特に日本じゃ
c++だってstlテンプレラムダmoveとかは見ずに使えて
デザインパターンで設計できてc++17くらいまでさえOKな人はなかなか捕まらない
777(1): 仕様書無しさん [] 04/05(土)11:47
>>776
俺を呼べ😎
778: 仕様書無しさん [] 04/05(土)11:51
>>777
ここの人は当然リーダーをやるべきでしょう
それでrustかc++23か、とにかくやりたい言語で人を集めないと
779: 仕様書無しさん [sage] 04/05(土)12:48
C++ジジイばっかり集まるぞ
780: 仕様書無しさん [sage] 04/05(土)17:52
実際自称C++出来る人って、9割ぐらいは未だにC++11未満の知識しかないんじゃない?
ある程度いける口はRustに行っちゃってそうだし
781: 仕様書無しさん [sage] 04/06(日)07:25
23になってなんか文法劇的に変わったのある?
782(1): 仕様書無しさん [sage] 04/07(月)10:18
全然昔からあるが、ラムダぜんぜん使いこなせない
783: 仕様書無しさん [sage] 04/07(月)12:22
ラムダ式は設計書に書くメソッド一覧にどう書けばいいのやら
784: 仕様書無しさん [sage] 04/07(月)12:50
新規関数追加申請書にちゃんと印鑑を押して提出してから書かないとダメだぞ
785: 仕様書無しさん [sage] 04/07(月)15:13
関数名が分からないw
786: 仕様書無しさん [] 04/07(月)22:02
>>782
はじめつらかったけど、気がついたら当たり前みたいに使うようになった
787: 仕様書無しさん [sage] 04/07(月)23:07
キャプチャとか
788: 仕様書無しさん [sage] 04/08(火)19:03
C++のアルゴリズムって、JavaのStreamやRustのIteratorに比べてなんか直感的じゃなくて使いにくいよな
789: 仕様書無しさん [] 04/09(水)22:12
Rustを蛇蝎のごとく嫌ってる人間が相当数いるよな
790(1): 仕様書無しさん [sage] 04/10(木)09:42
一部のRust教徒キライ
俺の かあちゃんであるC++を侮辱するんだ
Rustに恨みはない
それどころか、知見を学ばないとって当然思ってる
仕事でつかえっていわれたらつかうよ なんとかなるはず
791: 仕様書無しさん [sage] 04/10(木)13:10
まともにC++使える人間なら、実際Rustは使えると思う
最近は流行ってるせいか、人生でスクリプトしか触ってないようなイケイケのWeb屋も手を出してるみたいだけど
そいつらのほうが苦しむだろうな
792(1): 仕様書無しさん [sage] 04/10(木)21:42
文字列ひとつ戻り値で返すのに七転八倒
793: 仕様書無しさん [] 04/10(木)21:45
>>792
Rustをつかえば安全で簡単だよ
794: 仕様書無しさん [sage] 04/11(金)08:14
>>790
お前のかあちゃんは立派だったけどそろそろ年金生活の歳だからな
795: 仕様書無しさん [sage] 04/12(土)09:20
まだごりごり畑耕してるぞw 最近は孫の面倒見て大忙し
796: 仕様書無しさん [sage] 04/20(日)02:49
rustはあまりaiは学習していない印象
797: 仕様書無しさん [] 04/20(日)17:55
Rustのようにスレッドセーフが保証される型があってAtomic型を使えばマルチスレッドでもロックフリーで高速にすることも可能な言語
PythonのようにGIL(グローバルインタプリタロック)があってマルチスレッドでも十分に性能が出ない言語
プロと素人くらいの差があって驚いた
798: 仕様書無しさん [sage] 04/21(月)09:46
こりん星から来たまんこりんです
799(2): 仕様書無しさん [sage] 05/02(金)18:14
https://www.c-nexco.co.jp/corporate/pressroom/2025_crisis-management_etc/pdf/2025_crisis-management_etc05.pdf
Rust使ってたら避けれたの?
800: 仕様書無しさん [sage] 05/02(金)19:45
>>799
まあ
大量のレコードを移動する事無く再利用してたけど、書き込むサイズを間違えて後ろのデータに上書きしちゃった、てへ
って事だから
Rustだとしても回避出来ないかな
801: 仕様書無しさん [] 05/02(金)20:36
>>799
別領域へ書き込んでるから、Rustなら必ず回避できていて、今回の問題は避けられた
Rustは領域を最終的にスライスで抽象化し、それは内部的には始点アドレスと長さのペアになる
そしてRustでその領域を超えた書き込みは絶対に起きず、安全が保証される
802: 仕様書無しさん [sage] 05/02(金)21:17
ストレージ容量の不足かと思ってたけど意図しないアドレスへのデータ書き込みが原因だったのか
803: 仕様書無しさん [sage] 05/02(金)21:41
障害時の対応いろいろ考えてて大変だなと思った
バグみたいな障害起こったらどうせだめなんだから止めたらいいじゃんって思うんだが
804: 仕様書無しさん [] 05/02(金)22:17
Rustはスライスが始点だけでなくサイズも伴ってペアで管理されるため、こういった問題も防げるね。
805: 仕様書無しさん [sage] 05/02(金)23:10
後ろのレコードにはみ出して上書いちゃうって
どんな作りしたらそうなるんだよ
806: 仕様書無しさん [sage] 05/04(日)12:25
生ポインタの操作とかやらない言語だとわけわかんないだろうけど
そのわけわかんないのをボンクラだけじゃなく、世界最高峰レベルでもC/C++だと普通にやっちゃうのが現実なんだ
807: 仕様書無しさん [sage] 05/05(月)00:31
領域破壊は原因ではなく設計ミスの結果に見える
記事からは
そもそも削除機能がなかったように読める
テストで検出できなかったのも変だ
スケジュールの都合とかでどっかで抜け落ちて忘れてたんだろうが
こんなことでは国に危ないことは何もさせられないではないか
808: 仕様書無しさん [sage] 05/05(月)00:35
でも最低限チェックしてれば壊れずにすんだのか
809(1): 仕様書無しさん [] 06/04(水)19:00
ブラウン大学がドキュメント「C++ to Rust Phrasebook」を発表
https://techfeed.io/entries/683ccb678fc2c0556f0d68d0
810: 仕様書無しさん [sage] 06/04(水)22:50
Rust面白い
811: 仕様書無しさん [] 06/05(木)23:59
いいね
>>809
C++でおなじみのイディオムや設計パターンを、Rust流にどのように書き換えるかを体系的に示したリファレンスである。
各章は具体的なコード例と、それに伴う設計上のトレードオフについての解説で構成される。
「C++ならこう書くがRustでは?」と行き詰まった場面で索引的に参照する使い方も想定されている。
812: 仕様書無しさん [] 08/14(木)08:59
【結婚難】違反SEへの制裁【孤独死】
☆時間外労働違反者を退治しろ!☆
★偽装委託多重派遣を撲滅しろ!★
金稼ぎ妨害!
共働き妨害!
時間外労働違反
↓
偽装委託多重派遣
↓
低技術
↓
低収入
↓
結婚難
↓
孤独死
反社会な孤独死の現場
https://i.imgur.com/pALCFXJ.jpg
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.039s*