Google&MS「バグの70%はC/C++。Rustにする」 (847レス)
上下前次1-新
1(2): 2021/05/02(日)17:14 AAS
グーグルやMSが「Rust」言語でOS開発、背景に国家による諜報活動の影
1970年代初めにUNIXの開発にC言語が採用されて以来、OS開発はCやその後継であるC++の独壇場だった。グーグルはこれまでもAndroidの開発にJavaやKotlinを採用していたが、カーネルやデバイスドライバーなどOSの下位レイヤーの開発にはC/C++しか使ってこなかった。RustはC/C++と同様に下位レイヤーの開発に使用する。
グーグルは数千万行にも及ぶ既存のC/C++のコードを書き換えるのは不可能としており、新規のコードの開発にのみRustを適用する方針だ。それでもOS開発の常識が数十年ぶりに変わるのだけは間違いない。
RustはWebブラウザー「Firefox」を開発する米Mozilla Foundation(モジラ財団)が開発を主導するプログラミング言語だ。開発が始まったのは2006年で、安定版であるバージョン1がリリースされたのも2015年のことだ。まだ新しいプログラミング言語をグーグルやマイクロソフトがOS開発に採用する理由は、OSのセキュリティー強化にある。
Rustは、プログラムに必要なメモリーの確保や解放に関連するバグが生じない「メモリー安全」が保証されたプログラミング言語である。それに対してこれまでのOS開発に使われてきたC/C++は「大規模な開発においてメモリー安全なコードを記述することがほぼ不可能」(マイクロソフトのブログ「We need a safer systems programming language」より)なのだという。
省3
767(1): 04/03(木)17:44 AAS
>>766
C/C++の言語仕様があまりにも酷いためRustのような安全性を導入できないことが判明している
解決策としてはC/C++とは互換性がない制約と拡張を行なうしか手がない
特にC/C++の未定義動作は全て無くす必要があり根本的に別の言語となってしまう
そのため今後の進む道は『C/C++改造版』ではなくRustが選ばれた
768: 04/03(木)17:58 AAS
Rustもマクロあるんよね
769: 04/03(木)18:42 AAS
Rustのマクロは強力すぎる分、意識高い系に触らせると
C++のテンプレートメタパズルよりもっと酷いものがシステムに持ち込まれると思う
770: 04/03(木)19:05 AAS
マクロは関係ない
ジェネリック関数を記述する時に
Rustは関数そのままに型名をジェネリックパラメーターに置き換えるだけでよい
C/C++はテンプレートを使わないと書けない
771(1): 04/03(木)21:41 AAS
C/C++はすごいよ
コンピューターのかなり低いところまで好きなようにいじれてしまう
人間には過ぎたシロモノだったんだ
772: 04/03(木)22:10 AAS
>>771
このスレでそんなアホなこと言うか?
Cで出来ることは全てRustでも出来る
RustはCと同様にインラインアセンブラ機能まであるため万能
773: 04/04(金)12:20 AAS
いまやインラインアセンブラがあるだけでは優位とはいえんな
インラインアセンブラが、unsafe なしで書けてこそRust
774: 04/04(金)12:21 AAS
>>767
> C/C++の言語仕様があまりにも酷いためRustのような安全性を導入できないことが判明している
ソースplz
775: 04/05(土)11:39 AAS
>>765
上層のクラス含め何でもテンプレートで書く独りよがりいるけど止めて欲しいよな
あくまで型違いで共用するコードの冗長を減らす目的に限定
なおかつ他者は使い方だけ把握して、コード内を見ず使えるように実装すべきだな
776(1): 04/05(土)11:45 AAS
Rustはなあ、人を用意できんだろ?特に日本じゃ
c++だってstlテンプレラムダmoveとかは見ずに使えて
デザインパターンで設計できてc++17くらいまでさえOKな人はなかなか捕まらない
777(1): 04/05(土)11:47 AAS
>>776
俺を呼べ😎
778: 04/05(土)11:51 AAS
>>777
ここの人は当然リーダーをやるべきでしょう
それでrustかc++23か、とにかくやりたい言語で人を集めないと
779: 04/05(土)12:48 AAS
C++ジジイばっかり集まるぞ
780: 04/05(土)17:52 AAS
実際自称C++出来る人って、9割ぐらいは未だにC++11未満の知識しかないんじゃない?
ある程度いける口はRustに行っちゃってそうだし
781: 04/06(日)07:25 AAS
23になってなんか文法劇的に変わったのある?
782(1): 04/07(月)10:18 AAS
全然昔からあるが、ラムダぜんぜん使いこなせない
783: 04/07(月)12:22 AAS
ラムダ式は設計書に書くメソッド一覧にどう書けばいいのやら
784: 04/07(月)12:50 AAS
新規関数追加申請書にちゃんと印鑑を押して提出してから書かないとダメだぞ
785: 04/07(月)15:13 AAS
関数名が分からないw
786: 04/07(月)22:02 AAS
>>782
はじめつらかったけど、気がついたら当たり前みたいに使うようになった
787: 04/07(月)23:07 AAS
キャプチャとか
788: 04/08(火)19:03 AAS
C++のアルゴリズムって、JavaのStreamやRustのIteratorに比べてなんか直感的じゃなくて使いにくいよな
789: 04/09(水)22:12 AAS
Rustを蛇蝎のごとく嫌ってる人間が相当数いるよな
790(1): 04/10(木)09:42 AAS
一部のRust教徒キライ
俺の かあちゃんであるC++を侮辱するんだ
Rustに恨みはない
それどころか、知見を学ばないとって当然思ってる
仕事でつかえっていわれたらつかうよ なんとかなるはず
791: 04/10(木)13:10 AAS
まともにC++使える人間なら、実際Rustは使えると思う
最近は流行ってるせいか、人生でスクリプトしか触ってないようなイケイケのWeb屋も手を出してるみたいだけど
そいつらのほうが苦しむだろうな
792(1): 04/10(木)21:42 AAS
文字列ひとつ戻り値で返すのに七転八倒
793: 04/10(木)21:45 AAS
>>792
Rustをつかえば安全で簡単だよ
794: 04/11(金)08:14 AAS
>>790
お前のかあちゃんは立派だったけどそろそろ年金生活の歳だからな
795: 04/12(土)09:20 AAS
まだごりごり畑耕してるぞw 最近は孫の面倒見て大忙し
796: 04/20(日)02:49 AAS
rustはあまりaiは学習していない印象
797: 04/20(日)17:55 AAS
Rustのようにスレッドセーフが保証される型があってAtomic型を使えばマルチスレッドでもロックフリーで高速にすることも可能な言語
PythonのようにGIL(グローバルインタプリタロック)があってマルチスレッドでも十分に性能が出ない言語
プロと素人くらいの差があって驚いた
798: 04/21(月)09:46 AAS
こりん星から来たまんこりんです
799(2): 05/02(金)18:14 AAS
外部リンク[pdf]:www.c-nexco.co.jp
Rust使ってたら避けれたの?
800: 05/02(金)19:45 AAS
>>799
まあ
大量のレコードを移動する事無く再利用してたけど、書き込むサイズを間違えて後ろのデータに上書きしちゃった、てへ
って事だから
Rustだとしても回避出来ないかな
801: 05/02(金)20:36 AAS
>>799
別領域へ書き込んでるから、Rustなら必ず回避できていて、今回の問題は避けられた
Rustは領域を最終的にスライスで抽象化し、それは内部的には始点アドレスと長さのペアになる
そしてRustでその領域を超えた書き込みは絶対に起きず、安全が保証される
802: 05/02(金)21:17 AAS
ストレージ容量の不足かと思ってたけど意図しないアドレスへのデータ書き込みが原因だったのか
803: 05/02(金)21:41 AAS
障害時の対応いろいろ考えてて大変だなと思った
バグみたいな障害起こったらどうせだめなんだから止めたらいいじゃんって思うんだが
804: 05/02(金)22:17 AAS
Rustはスライスが始点だけでなくサイズも伴ってペアで管理されるため、こういった問題も防げるね。
805: 05/02(金)23:10 AAS
後ろのレコードにはみ出して上書いちゃうって
どんな作りしたらそうなるんだよ
806: 05/04(日)12:25 AAS
生ポインタの操作とかやらない言語だとわけわかんないだろうけど
そのわけわかんないのをボンクラだけじゃなく、世界最高峰レベルでもC/C++だと普通にやっちゃうのが現実なんだ
807: 05/05(月)00:31 AAS
領域破壊は原因ではなく設計ミスの結果に見える
記事からは
そもそも削除機能がなかったように読める
テストで検出できなかったのも変だ
スケジュールの都合とかでどっかで抜け落ちて忘れてたんだろうが
こんなことでは国に危ないことは何もさせられないではないか
808: 05/05(月)00:35 AAS
でも最低限チェックしてれば壊れずにすんだのか
809(1): 06/04(水)19:00 AAS
ブラウン大学がドキュメント「C++ to Rust Phrasebook」を発表
外部リンク:techfeed.io
810: 06/04(水)22:50 AAS
Rust面白い
811: 06/05(木)23:59 AAS
いいね
>>809
C++でおなじみのイディオムや設計パターンを、Rust流にどのように書き換えるかを体系的に示したリファレンスである。
各章は具体的なコード例と、それに伴う設計上のトレードオフについての解説で構成される。
「C++ならこう書くがRustでは?」と行き詰まった場面で索引的に参照する使い方も想定されている。
812: 08/14(木)08:59 AAS
【結婚難】違反SEへの制裁【孤独死】
☆時間外労働違反者を退治しろ!☆
★偽装委託多重派遣を撲滅しろ!★
金稼ぎ妨害!
共働き妨害!
時間外労働違反
↓
省11
813: 11/24(月)20:13 AAS
C++の複雑な値カテゴリの世界が開発者の間で熱い議論を引き起こしている
コミュニティ討論で最も声高に争点となったのは、C++の値カテゴリで使用される混乱を招く用語です。
開発者たちはprvalue、xvalue、glvalueといった用語に不満を表明し、これらの名前が意味を曖昧にしていると主張しました。
従来のlvalueとrvalueは式の中での位置に基づいて直感的に理解できましたが、新しいカテゴリは多くの開発者が正しく記憶し適用するのに苦労させています。
「これらの名前を覚えるのにまだ苦労しています:lvalue、rvalue、prvalue、xvalue、glvalue。lvalueとrvalueだけだった頃は簡単でした - LEFTとRIGHT - これで正しい直感が得られました」
この命名の混乱は、C++コミュニティにおけるより大きな文化的問題を表しており、技術的な正確さが時にアクセシビリティの犠牲を強いています。
814: 11/24(月)21:10 AAS
これがわからんようでは…
…コンパイラ作者とライブラリ作者にはなれんだろう
俺には無理、使うだけw
815: 12/01(月)17:03 AAS
プログラムの楽さにまどわされてJavaに来てしまったが大事なことはほとんどできんな
C++にもどるか
816: 12/01(月)18:43 AAS
ライブラリがそろってるのがいいんだろ
C++erで、もうJavaも習得してるんなら、C#いけばいい
JavaとC++のチャンポンな感じで習得できるし、Cとの接続もそんなに無理がない
817(1): 12/02(火)17:07 AAS
C#は遅いよ
だからIT企業はRustを採用していってる
818: 12/02(火)18:46 AAS
Rustでゲーム作りたい
819: 12/02(火)20:42 AAS
ビルドは速いだろC#
820: 12/03(水)01:13 AAS
v0.から始まるクレート生活
821: 12/03(水)23:26 AAS
>>817
Javaとならどっこいどっこいだろ(エアプ
C++と比肩するならRust
コンパイルが重いのもどっこいどっこい
822: 12/05(金)08:51 AAS
【犯罪】時間違反SEを退治しろ【損害】
☆時間外労働違反者を退治しろ!☆
★偽装委託多重派遣を退治しろ!★
時間外労働違反のせいで不健康だらけ
多重派遣偽装委託のせいで非婚だらけ
低技術で低収入は高技術で高収入の
技術者に迷惑だからIT業界から失せろ!
823: 12/09(火)15:32 AAS
外部リンク:gigazine.net
アメリカ空軍や航空自衛隊が運用する戦闘機「F-35」はC++でコーディングされたソフトウェアを搭載しています
824: 12/09(火)22:31 AAS
はよRust使ってメモリ消費の少ないアプリ作れよ
825: 12/12(金)18:38 AAS
たいそうな事言ってるけど、結局は技術者の平均レベル低下なんだろうな
それをC,C++のせいにしてるだけ
826: 12/12(金)21:20 AAS
ベテランでも見落としが発生していて脆弱性を招いている現実がある
そしてコンパイルが通れば多くの安全性が保証されるRustが出現した
人間が見落とすだけでセキュリティ含めた問題を引き起こすC/C++は御役御免の位置付けへ
827: 12/12(金)22:40 AAS
現場猫言語C++
828: 12/13(土)06:52 AAS
現場ネコの手もカリカリ食べてる
829: 12/13(土)12:20 AAS
その「ベテラン」の定義がうすーく希釈されてきたから問題提起されるんだよ
元々プログラミングなんてヒューマンエラー多発するような奴がやるもんじゃないのにそういうやつらも技術者名乗って混ざり始めたからな ップ
830: 12/13(土)16:28 AAS
対策の対策が必要だと思ってたら
対策の対策の対策が必要で
もうGCでいいよってなる
831: 12/14(日)00:43 AAS
勘だが、現行のRustで過不足ない、ってことはない、何かは過剰で何かは不足
LinuxでRustがしっかり使われるようになったら、おそらく定石中の定石ってのが見えてくる
自然とC++に流入してくると思う
832: 12/14(日)02:11 AAS
それと、たとえC++が進化しないとしても、machine generated な言語にはなりえる
現行の汗がそう いまや、あれを手書きしようとは普通は思わないが、
生成コードを確認するときいつでも見られる安心感はある
833: 12/14(日)04:31 AAS
Aiでコード作ってAiで問題点ないか検証させて‥
言語関係ない未来が来るんじゃないの?
834: 12/15(月)07:40 AAS
Rustの上級者って何人くらいいるんだろ
プログラマ減ってるし、ポインタすら理解できないプログラマがほとんどだし
AIさんはRust学習済みなのかな
835: 12/15(月)16:34 AAS
C++プログラマならRustは1日で理解できる
836(1): 12/15(月)17:19 AAS
Rustにするならネイティブではないってことだよね? 1枚挟むので 速度はその分犠牲か
837: 12/15(月)17:39 AAS
clangでコンパイルするんだろ、ほぼほぼ同等だろ(エアプ
C++で保護を好き勝手に書いた場合、Rustにそこで負けるまである
838: 12/15(月)17:40 AAS
ちがう、LLVMだ
839(1): 12/15(月)18:59 AAS
C++ 竹の足場、ナイロンのネット、ヘルメット・安全ベルトなし
Rust 金属製の足場、ポリエチレンのネット、ヘルメット・安全ベルトあり
840: 12/16(火)00:06 AAS
>>836
RustはVMもなくネイティブ
インラインアセンブラ対応なのでRustの変数と混ぜながら直接書くこともできる
841: 12/16(火)01:45 AAS
まあ、いまどき、インラインアセンブラ対応は最低ラインとしたいよな
自分で全部やろうとすると大層だが、別にgasでも何でも呼んでくれていいわけなので
842: 12/18(木)18:30 AAS
>>839
たったそれだけだったら、その説明を聞いてC++を選ぶんだけど
問題はもっと多岐に渡るからなぁ
843: 12/18(木)22:49 AAS
新たな開発で現在C++を選ぶ人はいないだろう
人が集まらなくてやむを得ずくらいだ
844: 12/19(金)02:09 AAS
C++は書いてて気分が悪くなるがRustはそういうことがない
845: 12/19(金)07:52 AAS
それはプロジェクトが悪い ただし、おかしなように書けないRustが、後発なだけ洗練されてるのはたぶん事実
846: 12/19(金)08:03 AAS
javaとkotlinの関係みたいなもんだろ
847: 12/20(土)13:30 AAS
Rust言語で開発したWindowsカーネル、Canaryチャネルで展開開始
C/C++言語よりもメモリ安全性を確保しやすく、速度も遜色ない
外部リンク[html]:forest.watch.impress.co.jp
WindowsにおけるRust採用はカーネルだけじゃない……Microsoftがちょっと言及
外部リンク[html]:forest.watch.impress.co.jp
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.703s*