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でゲーム作ってるけどメモリ管理なんてほとんどしたことない

0007名無しさん必死だな2021/05/02(日) 18:56:11.94ID:As/Jl7kh0
Rust vs C#

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
ゲハじゃこの話題は伸びない

0011名無しさん必死だな2021/05/02(日) 19:25:02.41ID:irzNZZP00
Cの代わりにBASICを使おう

0012名無しさん必死だな2021/05/02(日) 19:27:04.99ID:7mB5GP25M
>>11
C#がそんな感じでは

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
メモリ管理はシステムが自動的にやってくれる
ゲーム中そのシステムが走るときゲームが一瞬止まることがある
だから出来るだけそのシステムが走らないように作る必要がある
ただ俺はその辺いい加減にしか考えたことない
それでもちゃんと動いてくれる

0018名無しさん必死だな2021/05/02(日) 19:46:59.18ID:7PrX6eZV0
独壇場じゃなくて独擅場な

0019名無しさん必死だな2021/05/02(日) 19:47:44.12ID:FTBC3ME+0
メモリリークはC系じゃなくても発生しうるし
リソースリークと拡大解釈したら色んな環境で起こり得る

0020名無しさん必死だな2021/05/02(日) 19:52:18.61ID:aIOBrrXF0
WiiやPSPのハックとかもメモリ管理バグからだったような気がする

0021名無しさん必死だな2021/05/02(日) 19:53:21.27ID:10i3Bf370
久々に飯が食えそうな言語

0022名無しさん必死だな2021/05/02(日) 19:56:11.65ID:hwjGr/Vz0
ゲームに使うということは、数値計算もいけそうな感じ

0023名無しさん必死だな2021/05/02(日) 19:59:49.70ID:3hYYSZO90
>>6
nullアクセスしてすぐ止まるな

0024名無しさん必死だな2021/05/02(日) 19:59:51.24ID:02CYh7UF0
ゲームじゃないけどVBから入って潰しがきかなかった

0025名無しさん必死だな2021/05/02(日) 20:10:43.28ID:I+N4oJRs0
>>14
GC当てにして作った大手のシステムがプチフリでめちゃくちゃなことになってたけどなぁ(巻き込まれたDB屋)

0026名無しさん必死だな2021/05/02(日) 20:13:16.51ID:VpkYfH9x0
null安全の言語良いよね

0027名無しさん必死だな2021/05/02(日) 20:15:15.27ID:5hTqcXRL0
高級言語じゃしょぼいゲームしか重くなって作れんし結局CSはC++しか選択肢が無い

0028名無しさん必死だな2021/05/02(日) 20:20:08.55ID:pswoXc770
ぬるぽ

0029名無しさん必死だな2021/05/02(日) 20:27:11.94ID:HAAbOv6ba
>>28
ガッ

0030名無しさん必死だな2021/05/02(日) 20:58:13.66ID:dviBWyIpM
>>13
ミニゲームならそんなんで済む
ガッツリ作り始めるとちょこちょこあるバグだらけのインディーゲーコース

0031名無しさん必死だな2021/05/02(日) 21:01:17.52ID:ikZ7eTAJd
Unityはロードがもう少し無かったらな、、、

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)っていう処理が不安定すぎるから

0035名無しさん必死だな2021/05/02(日) 23:45:10.80ID:G8zE+IQ/0
go死んだの?

0036名無しさん必死だな2021/05/03(月) 00:41:04.78ID:CItANP3f0
どんな理由であれモダンな言語にシフトできるなら越したことない

0037名無しさん必死だな2021/05/03(月) 01:14:41.11ID:spYabXbM0
>>34
コロプラが特許取って金強請る未来しか見えん

0038名無しさん必死だな2021/05/03(月) 02:53:01.77ID:gNsQ4hjn0
ピントがズレた書き込みばかりで、
ゲハでは俺以外誰もRust書いてないのがわかる

0039名無しさん必死だな2021/05/03(月) 08:00:10.60ID:KXbZoDq50
結局あまりに生産性が悪すぎて、OS・ドライバ記述向きGCを発明した言語に取って代わられる
リソースの管理単位はスレッドの生成と破棄が基準となる

0040名無しさん必死だな2021/05/03(月) 08:05:53.67ID:sNTGtP+40
Rustの記事だろうなと思ったらやっぱり

0041名無しさん必死だな2021/05/03(月) 08:07:03.68ID:KXbZoDq50
太ったランタイムが必要な環境というのは当然論外なんだが、もう.cppに機械変換して
clangでカチっとコンパイルするのが有用である事は実証されてしまったので、
実行速度とメモリ効率の面で有利不利は存在しない、GC付き言語の自由競争になる

0042名無しさん必死だな2021/05/03(月) 08:33:54.56ID:Vuax5Myq0
厶板、マ板の人カモン!

■ このスレッドは過去ログ倉庫に格納されています