X



Google&MS「ゲームのバグ原因の70%はC/C++。この言語を使う限りバグを根絶するのは不可能。」
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん必死だな垢版2021/05/02(日) 18:47:31.04ID:RrY9GuoD0
グーグルや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/
0002名無しさん必死だな垢版2021/05/02(日) 18:48:40.64ID:1bj0Zcj30
ソースあるから嫌儲に同じスレありそう
0003名無しさん必死だな垢版2021/05/02(日) 18:49:01.47ID:rFD38xMZa
ポインターを使えなくするだけで9割はバグが減る
そのかわりメモリ効率は非常に悪くなる
今の時代だからできる解決方法
0004名無しさん必死だな垢版2021/05/02(日) 18:52:26.07ID:fJpnnTid0
Google&MS「OSのバグ原因の70%はC/C++のメモリー管理に起因。もうこの言語使う限りバグを根絶するのは不可能。Rustに切り替えるわ」 [511976462]
https://leia.5ch.net/test/read.cgi/poverty/1619943508/

嫌儲ロンダを微妙に捏造して脊髄反射のゲハカス釣ろうってスレ
0005名無しさん必死だな垢版2021/05/02(日) 18:53:35.22ID:Y0m8Rk2Qa
今の時代はアプデですぐ直せるから100%バグのないゲームを作る必要はない
進行不能なサイバーパンクはですら許されてる風潮
0006もぐもぐくん垢版2021/05/02(日) 18:55:24.16ID:xzRvtaGr0
unityでゲーム作ってるけどメモリ管理なんてほとんどしたことない
0008名無しさん必死だな垢版2021/05/02(日) 19:03:38.34ID:T9UGv40Id
C/C++は知っておけどは思うけどこれをモノを作るのはやめた方がいい言語の代表だわ
0009名無しさん必死だな垢版2021/05/02(日) 19:17:56.47ID:I+N4oJRs0
完全にC++にするだけでもかなりバグ減るのにいつまでもCの使い方してるからだろ
0010名無しさん必死だな垢版2021/05/02(日) 19:18:04.87ID:K6mp3AmXM
ゲハじゃこの話題は伸びない
0013名無しさん必死だな垢版2021/05/02(日) 19:34:12.80ID:1jXdsD7Y0
>>6
すげえな
こんなのがゲーム作っても大丈夫なんだ
いや煽り抜きでメモリリークしないのか?
0014名無しさん必死だな垢版2021/05/02(日) 19:35:48.19ID:eR3ldzFi0
未だにメモリリーク無くならないしな
GCない言語使うだけでミス誘発する
0015名無しさん必死だな垢版2021/05/02(日) 19:41:29.25ID:i3ni6k0NM
>>13
C#はガベージコレクションがあるから意図的につくらないとならない
そもそもポインタ自体使うことを非推奨してる
0016名無しさん必死だな垢版2021/05/02(日) 19:42:33.57ID:wBI3EnIY0
Rustの話題すごいよね

実際どうなのよこの言語
0017もぐもぐくん垢版2021/05/02(日) 19:46:58.45ID:xzRvtaGr0
>>13
メモリ管理はシステムが自動的にやってくれる
ゲーム中そのシステムが走るときゲームが一瞬止まることがある
だから出来るだけそのシステムが走らないように作る必要がある
ただ俺はその辺いい加減にしか考えたことない
それでもちゃんと動いてくれる
0019名無しさん必死だな垢版2021/05/02(日) 19:47:44.12ID:FTBC3ME+0
メモリリークはC系じゃなくても発生しうるし
リソースリークと拡大解釈したら色んな環境で起こり得る
0020名無しさん必死だな垢版2021/05/02(日) 19:52:18.61ID:aIOBrrXF0
WiiやPSPのハックとかもメモリ管理バグからだったような気がする
0025名無しさん必死だな垢版2021/05/02(日) 20:10:43.28ID:I+N4oJRs0
>>14
GC当てにして作った大手のシステムがプチフリでめちゃくちゃなことになってたけどなぁ(巻き込まれたDB屋)
0027名無しさん必死だな垢版2021/05/02(日) 20:15:15.27ID:5hTqcXRL0
高級言語じゃしょぼいゲームしか重くなって作れんし結局CSはC++しか選択肢が無い
0030名無しさん必死だな垢版2021/05/02(日) 20:58:13.66ID:dviBWyIpM
>>13
ミニゲームならそんなんで済む
ガッツリ作り始めるとちょこちょこあるバグだらけのインディーゲーコース
0032名無しさん必死だな垢版2021/05/02(日) 21:15:02.45ID:ZqEM2emh0
アセンブラはある程度分かるがC言語でポインタとか言われると???ってなる
0033名無しさん必死だな垢版2021/05/02(日) 23:39:37.81ID:+doQDSQf0
>>18
そうだけどそれだと正しい読みはドクセンジョウで独占場と間違えられる罠
0034名無しさん必死だな垢版2021/05/02(日) 23:43:52.73ID:BLEyZr2L0
カプコンがREエンジンのFrameGCをソース付き詳細を全公開したら、ガラっと流れが変わっちゃうかもしれん
やむを得ずRustに流れようとしてるのはとにかくGC(フルGC)っていう処理が不安定すぎるから
0036名無しさん必死だな垢版2021/05/03(月) 00:41:04.78ID:CItANP3f0
どんな理由であれモダンな言語にシフトできるなら越したことない
0038名無しさん必死だな垢版2021/05/03(月) 02:53:01.77ID:gNsQ4hjn0
ピントがズレた書き込みばかりで、
ゲハでは俺以外誰もRust書いてないのがわかる
0039名無しさん必死だな垢版2021/05/03(月) 08:00:10.60ID:KXbZoDq50
結局あまりに生産性が悪すぎて、OS・ドライバ記述向きGCを発明した言語に取って代わられる
リソースの管理単位はスレッドの生成と破棄が基準となる
0041名無しさん必死だな垢版2021/05/03(月) 08:07:03.68ID:KXbZoDq50
太ったランタイムが必要な環境というのは当然論外なんだが、もう.cppに機械変換して
clangでカチっとコンパイルするのが有用である事は実証されてしまったので、
実行速度とメモリ効率の面で有利不利は存在しない、GC付き言語の自由競争になる
■ このスレッドは過去ログ倉庫に格納されています

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