Google&MS「ゲームのバグ原因の70%はC/C++。この言語を使う限りバグを根絶するのは不可能。」
■ このスレッドは過去ログ倉庫に格納されています
グーグルや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/ ポインターを使えなくするだけで9割はバグが減る
そのかわりメモリ効率は非常に悪くなる
今の時代だからできる解決方法 Google&MS「OSのバグ原因の70%はC/C++のメモリー管理に起因。もうこの言語使う限りバグを根絶するのは不可能。Rustに切り替えるわ」 [511976462]
https://leia.5ch.net/test/read.cgi/poverty/1619943508/
嫌儲ロンダを微妙に捏造して脊髄反射のゲハカス釣ろうってスレ 今の時代はアプデですぐ直せるから100%バグのないゲームを作る必要はない
進行不能なサイバーパンクはですら許されてる風潮 unityでゲーム作ってるけどメモリ管理なんてほとんどしたことない C/C++は知っておけどは思うけどこれをモノを作るのはやめた方がいい言語の代表だわ 完全にC++にするだけでもかなりバグ減るのにいつまでもCの使い方してるからだろ >>6
すげえな
こんなのがゲーム作っても大丈夫なんだ
いや煽り抜きでメモリリークしないのか? 未だにメモリリーク無くならないしな
GCない言語使うだけでミス誘発する >>13
C#はガベージコレクションがあるから意図的につくらないとならない
そもそもポインタ自体使うことを非推奨してる >>13
メモリ管理はシステムが自動的にやってくれる
ゲーム中そのシステムが走るときゲームが一瞬止まることがある
だから出来るだけそのシステムが走らないように作る必要がある
ただ俺はその辺いい加減にしか考えたことない
それでもちゃんと動いてくれる メモリリークはC系じゃなくても発生しうるし
リソースリークと拡大解釈したら色んな環境で起こり得る WiiやPSPのハックとかもメモリ管理バグからだったような気がする ゲームに使うということは、数値計算もいけそうな感じ ゲームじゃないけどVBから入って潰しがきかなかった >>14
GC当てにして作った大手のシステムがプチフリでめちゃくちゃなことになってたけどなぁ(巻き込まれたDB屋) 高級言語じゃしょぼいゲームしか重くなって作れんし結局CSはC++しか選択肢が無い >>13
ミニゲームならそんなんで済む
ガッツリ作り始めるとちょこちょこあるバグだらけのインディーゲーコース アセンブラはある程度分かるがC言語でポインタとか言われると???ってなる >>18
そうだけどそれだと正しい読みはドクセンジョウで独占場と間違えられる罠 カプコンがREエンジンのFrameGCをソース付き詳細を全公開したら、ガラっと流れが変わっちゃうかもしれん
やむを得ずRustに流れようとしてるのはとにかくGC(フルGC)っていう処理が不安定すぎるから どんな理由であれモダンな言語にシフトできるなら越したことない >>34
コロプラが特許取って金強請る未来しか見えん ピントがズレた書き込みばかりで、
ゲハでは俺以外誰もRust書いてないのがわかる 結局あまりに生産性が悪すぎて、OS・ドライバ記述向きGCを発明した言語に取って代わられる
リソースの管理単位はスレッドの生成と破棄が基準となる 太ったランタイムが必要な環境というのは当然論外なんだが、もう.cppに機械変換して
clangでカチっとコンパイルするのが有用である事は実証されてしまったので、
実行速度とメモリ効率の面で有利不利は存在しない、GC付き言語の自由競争になる ■ このスレッドは過去ログ倉庫に格納されています