Google&MS「バグの70%はC/C++。Rustにする」
グーグルや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」より)なのだという。 脆弱性の70%がメモリー管理バグに起因 グーグルによればAndroidに存在した深刻なセキュリティー脆弱性の70%近くがメモリー安全に関するバグに起因するという。同様にマイクロソフトも、同社製品に存在したセキュリティー脆弱性の70%がメモリー安全に関するバグに起因すると述べている。C/C++を使う限りセキュリティー脆弱性を根絶するのは不可能と考えて、Rustを採用するに至ったというわけだ。 https://xtech.nikkei.com/atcl/nxt/column/18/00692/042700054/ 全部 Rust にしたら、バグの 100% は Rust になるな >>578 >>585 記事を読めば分かるように 深刻なセキュリティ脆弱性バグのうち70%がC/C++のメモリ管理に起因する と、MicrosoftとGoogleが共に同じ調査結果を出している話 Rustに変更するとその70%はゼロにできるため現在Rustへ変更しつつある >>587 そんなことが可能ならばとっくにやってる しかしC++の言語仕様では無理 そして自動チェックを実現したのがRust つーかメモリ云々抜きでも、ぶっちゃけごちゃごちゃすぎてもう嫌じゃない?C++ モジュールやらなんやらわりとドラスティックに改善しようとはしてるけど そういうの入れても結局過去の遺産と混ざって余計ぐちゃぐちゃになるし そもそもC++11すら未だ相当数がロクに扱えないのに、C++20以降なんか追従できるわけがない 文字列はUTF-8の奴しかなく曖昧さがない、標準でMaybeとEitherが搭載されてる モジュールもある、パターンマッチもある、半端な例外は無い、不幸を呼ぶ継承も無い パッケージ管理システムもある、変数は標準でImmutable、Moveも明瞭、自動テストもメモ書き並の気軽さでかけるって C++書いててクソだと思うものはRustはほぼカバーしてるし 生まれたてのRustのほうがもっと見た目ごちゃごちゃなのどういうことだ >>589 後発言語だから有利なのは当たり前だが Rustは各言語の最新を上手く洗練して採り入れてるな >>590 Rustでごちゃごちゃは感じない 正確に言うと 把握理解する前はごちゃごちゃに感じる部分もあるが 把握理解していくと意味や必要性が見えてきて ごちゃごちゃしているわけではないことがわかってくる C++20は待望の機能が豊富にあって もう17に戻ろうとは思わないぞ C++20でも問題が解決されず絶望してIT大手各社が共同でRust Foundationを設立してRustへと舵を切った - されず + できず 無能はすぐ道具のせいにする 無能に迎合する理不尽なルールが増えていくと やる気なくして辞めていったり 無能に仲間入りする人が出てくる いわゆる腐ったミカンてやつだ >>594 どの言語でも同じだろ そのまま使うかコピーして別物として書き換わってもいいようにするかで分かれる そもそも文字列がイミュータブルな言語がほとんどやが C++とRustが例外的なだけで >>593 じゃあ早くC++/CXみたいなやつ出してまともにGUI開発させてくれませんかMSさん? Rust ちゃんの文字列ルーティーンを 可愛らしい動画にすればバズるはず 業務アプリですらもう100%Webクライアントなのに、デスクトップクライアントはもう未来が無いし 本気でやるなら膨大なコストが掛かるわりに投資する価値がない どうしてもレガシーな開発したいなら、Win32SDKもGTKも使えるからそれでいいだろ >>598 GUIデスクトップ作るならば Web技術(HTML)を使うTauriがオススメ ・マルチプラットフォームで使える ・Webアプリ化も容易 ・アプリ本体部分はRustで記述 ・アプリGUI部分はJavaScriptかWebAssembly(by Rust)で記述 といった感じでRustのみ使用も可 今さらWindows上だけで動く時代遅れなものを作る必要ないよね Rustはいま使えるソリューションなんだから、今ある問題を確認してくれないと困る ゲームなんかはまだSDKベースだろ Teamsのモッダ~ンなゲロ重UIをなんとかできない体たらくのまま デスクトップアプリを勝手にレガシー認定しないでください Teamsが重いとか、どうせ未だにSandyBridgeでメモリ4GBみたいなレガシーな環境だろう そこはそんなレガシー低スペ環境でも動く小メモリRust製GUIの宣伝をしろよ それならeguiがシンプルでいいね WindowsでもLinuxでもどの環境でも動いて このサンプルページのようにWasmつまりブラウザ上でも動く (Tauriと異なりHTMLなどWeb技術は関係ない) https://www.egui.rs/ 純Rust製 Chromiumベースのアプリがまともに動かない、化石みたいな低スペックPC向けの Windows用デスクトップGUI開発をネイティブでやるぐらいニッチな案件だと MFCやらのレガシー資産豊富なC++しかないだろうな 逆に言うと、この手のCOBOL新規開発並みの案件持ちださんとC++を選ぶ理由もないんだが >>579 C++のスマポを経て Rustは標準で自動的に安全なメモリ自動解放を実現したから大丈夫 してWindowsはバグが30%に減少しただろうか? 5chでくだまいてる時点でお察しだね そんな暇人でも5chでイキれるんだからc++て素晴らしい言語ですねw ChatGPTに書かせればバグはなくなるから結局C/C++に戻るだろ そんな夢物語の話するなら最初からバイナリ 吐かせれば良い だよな。AIがどれだけ複雑なシステムも確実にノーバグで出せるのなら いちいち人間ごとき向けのプログラム言語を間に挟む意味がない なんかポリコレがらみの内紛でコアチームが揉めてるらしいじゃん 将来性黄色信号か? ま、内紛が本格化したら、フォークするだけだろ MSが育ててくれるかもしれん ぐぐるとAppleは、DartとSwift持ってるし MicrosoftとGoogleとAmazonなどIT大手各社が共同でRust Foundationを設立したためRustは盤石な体制となっている Visual R++ができるかもね でも現代なら、それもアリかなって >>591 crates.io はごちゃごちゃ感しかない >>590-591 RUSTも将来ごちゃごちゃになる運命 >>635 その分野ではTauriがベスト >>601 に書かれているメリットを上回るものが他にない これもRustにすれば解決するんだろうか マイナンバー開発者が不具合の原因を暴露。「個人番号ではなく住所氏名で照合するプログラムを書いた」 [971283288] ttps://hayabusa9.5ch.net/test/read.cgi/news/1686308209/ >>637 え? 本気で言ってるの? ちょっとこのスレ読み直したほうがいいんじゃない? 信者なら、「Rustの安全性に依れば、そういうところにも資源を集中できる」って言うだろうけど、 それはもう推しってやつだな >>637 Rustはデータ競合をコンパイルエラーとし排除できる初のプログラミング言語なので データ競合により引き起こされてきたバグなどは解決する しかしその問題がデータ競合によるものかどうかは知らない 全ての不具合をコンパイラが検出してくれると思ってんだよな アルゴリズム起因のバグやユーザーの入力間違い防止なんかは検出できるわけないのに 一応Tauriよりは軽量そうかつ、いきなり開発放棄にならなそうなGUIツールキットとしてはGTKがあるけど Tauriと比べてシェアどうなんだろうね >>641 そんな思い込みをしてる人はいない C/C++ではコンパイルが通ってしまう、 メモリ管理のバグや、 エラー(や例外)の対応忘れや、 異常値(NULLや-1など)の対応忘れや、 データ競合のバグなどを、 Rustではコンパイラがエラーで指摘してくれるため、 開発効率と品質が向上する 頭がAIなら、これぐらいAIで静的解析してれば防げたって本気で言い出すやつもいるだろうが Rustだと少しでも知ってればいないだろうな 確か特定につながるから氏名住所使わなきゃだめとか そういう話がなかったっけ 一方のシステムでは個人番号管理してないんだろう 危ないし おまいらゲタゲタ笑ってたらじゃあ全部個人番号でって話になるぞ Meta、Rustの採用を加速--高性能バックエンドサービスで https://japan.zdnet.com/article/35191156/ Metaは、Rustのバージョン1.0が登場した翌年となる2016年からRustを使用してきている。 Rustは、ブロックチェーンによるステーブルコインの実装を目指していた 「Diem」プロジェクト(旧称「Libra」)の主要記述言語として採用されていたほか、 ソースコード管理サーバー「Mononoke」の記述言語として、 そしてMetaの「ブロックチェーン向けの新たなセキュアプログラミング言語」であるMoveの基礎ともなっている。 C++よりもRustを重視するという選択は、Metaにとって大きな決断だった。 というのも、Facebookのバックエンドで動作する大半のコードはC++で記述されており、 それ自体は明らかな選択であったためだ。 Metaによると、Mononokeが成功したと見なされたことで、Rustの導入は勢いを増し、 PythonやJavaScriptのバックグラウンドを有するエンジニアらの興味を引くようになったという。 Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に https://www.publickey1.jp/blog/22/cloudflarenginxrusthttppingoracdncpu31.html CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、 同社自身がRust製のHTTPプロキシである「Pingora」を開発し利用していることを明らかにしました。 Pingoraはすでに同社のCDNに採用され、毎日1兆回以上のリクエストを処理し、 性能向上や数多くの新機能の提供を実現しつつ、従来と比較してCPUとメモリリソースの消費はいずれも3分の1程度に収まっているとのこと。 CloudflareはNGINXの性能上の課題について、各リクエストが1つのワーカーで処理が行われる仕組みが特定のCPUコアに負荷を偏らせること、 接続の再利用性が低いことなどが、性能低下を引き起こしていると指摘。 Pingoraは現時点でコードなどは公開されていませんが、いずれオープンソース化の計画についても明らかにするとCloudflareは説明しています。 rust, github見ても開発放棄されてるコードばっかなんだが。 >>652 Web方面もRust製になっていってるんだな AndroidとiOSのアプリがrustだけで書けるようになればいいなぁ TauriはもうAndroid版とiOS版のプレビューがあるんだな モバイルでのこういうのは、だいたいネイティブ処理に他言語呼び出しがいるって理由で毎回流行らないがさて 0788デフォルトの名無しさん 2022/06/21(火) 08:59:28.38ID:vO+TReRM 俺はフロントエンドやらないからこのスレでTauriの話をしないでくれ >>623 C#.NET並みにFormが簡単に書けて WPFみたいにインタラクティブに扱えて なんならDirectXも簡単に呼べるなら有り サブモジュールの定義って古いmod.rsのほうが ディレクトリにファイル全部押し込めて新しいやつよりよっぽど気分よくない? C++11の機能をちゃんと使える奴なんて、2023年でもC++の開発者の半分にも満たない上澄みだけだろ 歴史そのものがC++の弱点で、それはどうやっても消えない >>665 C++のスマポは機能が弱すぎてできないことが多すぎる 例えばヒープ領域しか指せないから (L1キャッシュ効果と領域確保解放コスト無しで高速な)スタック領域の活用がスマポではできない C#が楽すぎてC/C++はやらなくなったな Rustもやってみるか コンパイラに怒られて解決に時間とられたりするけどRustおもろいね 上に怒られる前にコンパイラに怒られて良かったじゃねーか ベルト伸ばしきった状態で止めとく奴でも少し痩せていた?ジャニでやろうよ ケニーGがまた一般人ぶん殴って捕まってた 消化試合10勝15敗だから一ヵ月分くらいは試合しとるおっさんは株も上手いしファンも獲得できるかもしれないあたりこの国終わってるんだわ 「ソフトウェアはメモリ安全でなければならない」との声明を発表、米ホワイトハウス:「C」「C++」よりも「Rust」などの言語を推奨 https://atmarkit.itmedia.co.jp/ait/articles/2403/18/news045.html 米ホワイトハウス、開発者にRustなどメモリの安全性考慮した言語への移行促す https://news.mynavi.jp/techplus/article/20240227-2893479/ 脆弱性の特徴を持ち普及率が高い言語として、CおよびC++を挙げている。 このような脆弱性を軽減するために、「はじめからメモリ安全なプログラミング言語」の使用を推奨している。 レポートでは、その具体例としてCおよびC++を「Rust」へ移行することを促している。 ttps://i.imgur.com/m9w5rBr.jpeg グロじゃないけど関係ないコラ? あとまたどんぐり枯れたのでkari 枯れすぎだろ。。 「とんでもないものが売ってた」 ハードオフに“33万円”で売られていた「まさかの商品」に思わず仰天 [PARADISE★] http://asahi.5ch.net/test/read.cgi/newsplus/1714535403/8 read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる