X



Google&MS「バグの70%はC/C++。Rustにする」
0001仕様書無しさん
垢版 |
2021/05/02(日) 17:14:48.90
グーグルや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/
0635仕様書無しさん
垢版 |
2023/06/08(木) 18:17:39.36
>>601
えっ
Tauri は糞だろ
0636仕様書無しさん
垢版 |
2023/06/08(木) 21:16:48.25
>>635
その分野ではTauriがベスト
>>601に書かれているメリットを上回るものが他にない
0637仕様書無しさん
垢版 |
2023/06/09(金) 20:08:22.98
これもRustにすれば解決するんだろうか

マイナンバー開発者が不具合の原因を暴露。「個人番号ではなく住所氏名で照合するプログラムを書いた」 [971283288]
ttps://hayabusa9.5ch.net/test/read.cgi/news/1686308209/
0638仕様書無しさん
垢版 |
2023/06/09(金) 22:59:31.95
>>637
え?
本気で言ってるの?
ちょっとこのスレ読み直したほうがいいんじゃない?
0639仕様書無しさん
垢版 |
2023/06/10(土) 06:58:28.73
信者なら、「Rustの安全性に依れば、そういうところにも資源を集中できる」って言うだろうけど、
それはもう推しってやつだな
0640仕様書無しさん
垢版 |
2023/06/10(土) 07:24:44.91
>>637
Rustはデータ競合をコンパイルエラーとし排除できる初のプログラミング言語なので
データ競合により引き起こされてきたバグなどは解決する
しかしその問題がデータ競合によるものかどうかは知らない
0641仕様書無しさん
垢版 |
2023/06/10(土) 10:55:17.51
全ての不具合をコンパイラが検出してくれると思ってんだよな
アルゴリズム起因のバグやユーザーの入力間違い防止なんかは検出できるわけないのに
0642仕様書無しさん
垢版 |
2023/06/10(土) 11:20:15.78
一応Tauriよりは軽量そうかつ、いきなり開発放棄にならなそうなGUIツールキットとしてはGTKがあるけど
Tauriと比べてシェアどうなんだろうね
0643仕様書無しさん
垢版 |
2023/06/10(土) 12:12:07.09
>>641
そんな思い込みをしてる人はいない

C/C++ではコンパイルが通ってしまう、
メモリ管理のバグや、
エラー(や例外)の対応忘れや、
異常値(NULLや-1など)の対応忘れや、
データ競合のバグなどを、
Rustではコンパイラがエラーで指摘してくれるため、
開発効率と品質が向上する
0644仕様書無しさん
垢版 |
2023/06/10(土) 12:34:13.61
頭がAIなら、これぐらいAIで静的解析してれば防げたって本気で言い出すやつもいるだろうが
Rustだと少しでも知ってればいないだろうな
0645仕様書無しさん
垢版 |
2023/06/10(土) 12:41:01.37
ド素人はどうしても抜けが出がちなソース書くからな
0646仕様書無しさん
垢版 |
2023/06/10(土) 18:37:28.02
>>637
はい
0647仕様書無しさん
垢版 |
2023/06/10(土) 22:13:22.01
確か特定につながるから氏名住所使わなきゃだめとか
そういう話がなかったっけ
0648仕様書無しさん
垢版 |
2023/06/10(土) 22:15:23.79
一方のシステムでは個人番号管理してないんだろう
危ないし
おまいらゲタゲタ笑ってたらじゃあ全部個人番号でって話になるぞ
0649仕様書無しさん
垢版 |
2023/07/18(火) 03:02:57.09
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のバックグラウンドを有するエンジニアらの興味を引くようになったという。
0651仕様書無しさん
垢版 |
2023/07/20(木) 12:24:01.17
各社とも実践投入はわりと始まったばっかりだぞ
0652仕様書無しさん
垢版 |
2023/08/16(水) 20:16:27.50
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は説明しています。
0654仕様書無しさん
垢版 |
2023/09/09(土) 11:08:12.24
rust, github見ても開発放棄されてるコードばっかなんだが。
0655仕様書無しさん
垢版 |
2023/09/12(火) 18:49:58.22
>>652
Web方面もRust製になっていってるんだな
0656仕様書無しさん
垢版 |
2023/09/16(土) 09:20:50.87
Rustでゲームエンジンはよ
0657仕様書無しさん
垢版 |
2023/09/16(土) 16:08:07.82
AndroidとiOSのアプリがrustだけで書けるようになればいいなぁ
0659仕様書無しさん
垢版 |
2023/09/17(日) 19:17:29.80
ラスティストって呼ぶらしいけど本当ですか?
0660仕様書無しさん
垢版 |
2023/09/18(月) 09:04:10.72
TauriはもうAndroid版とiOS版のプレビューがあるんだな
モバイルでのこういうのは、だいたいネイティブ処理に他言語呼び出しがいるって理由で毎回流行らないがさて
0661仕様書無しさん
垢版 |
2023/09/24(日) 12:23:49.28
0788デフォルトの名無しさん
2022/06/21(火) 08:59:28.38ID:vO+TReRM
俺はフロントエンドやらないからこのスレでTauriの話をしないでくれ
0662仕様書無しさん
垢版 |
2023/09/28(木) 19:51:20.37
>>623
C#.NET並みにFormが簡単に書けて
WPFみたいにインタラクティブに扱えて
なんならDirectXも簡単に呼べるなら有り
0663仕様書無しさん
垢版 |
2023/09/30(土) 22:21:26.46
ラスト使いたい
0664仕様書無しさん
垢版 |
2023/11/08(水) 20:59:39.48
サブモジュールの定義って古いmod.rsのほうが
ディレクトリにファイル全部押し込めて新しいやつよりよっぽど気分よくない?
0665仕様書無しさん
垢版 |
2023/11/13(月) 21:32:49.30
C++も最新ならスマポ使えるし言うほどじゃなくね
0666仕様書無しさん
垢版 |
2023/11/14(火) 20:36:32.11
C++11の機能をちゃんと使える奴なんて、2023年でもC++の開発者の半分にも満たない上澄みだけだろ
歴史そのものがC++の弱点で、それはどうやっても消えない
0667仕様書無しさん
垢版 |
2023/11/24(金) 01:57:39.09
>>665
C++のスマポは機能が弱すぎてできないことが多すぎる
例えばヒープ領域しか指せないから
(L1キャッシュ効果と領域確保解放コスト無しで高速な)スタック領域の活用がスマポではできない
0670仕様書無しさん
垢版 |
2024/02/14(水) 16:53:14.34
C#が楽すぎてC/C++はやらなくなったな
Rustもやってみるか
0673仕様書無しさん
垢版 |
2024/03/09(土) 19:59:57.80
コンパイラに怒られて解決に時間とられたりするけどRustおもろいね
0674仕様書無しさん
垢版 |
2024/03/11(月) 00:11:15.44
上に怒られる前にコンパイラに怒られて良かったじゃねーか
0675仕様書無しさん
垢版 |
2024/03/29(金) 13:55:18.13
ベルト伸ばしきった状態で止めとく奴でも少し痩せていた?ジャニでやろうよ
ケニーGがまた一般人ぶん殴って捕まってた
消化試合10勝15敗だから一ヵ月分くらいは試合しとるおっさんは株も上手いしファンも獲得できるかもしれないあたりこの国終わってるんだわ
0676仕様書無しさん
垢版 |
2024/03/29(金) 14:34:29.12
俺は配信ドラマ
0680仕様書無しさん
垢版 |
2024/04/30(火) 22:34:17.97
米ホワイトハウス、開発者にRustなどメモリの安全性考慮した言語への移行促す
https://news.mynavi.jp/techplus/article/20240227-2893479/

脆弱性の特徴を持ち普及率が高い言語として、CおよびC++を挙げている。
このような脆弱性を軽減するために、「はじめからメモリ安全なプログラミング言語」の使用を推奨している。
レポートでは、その具体例としてCおよびC++を「Rust」へ移行することを促している。
0683 警備員[Lv.1][新芽]
垢版 |
2024/05/04(土) 09:26:17.54
グロじゃないけど関係ないコラ?

あとまたどんぐり枯れたのでkari
枯れすぎだろ。。
レスを投稿する


ニューススポーツなんでも実況