任天堂「今後C++は捨てJavaScriptで開発していく」 (887レス)
上下前次1-新
抽出解除 レス栞
549(2): デフォルトの名無しさん [sage] 2013/04/10(水) 20:58:33.41 AAS
>>547547(2): ─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG [] 2013/04/10(水) 20:05:29.65 AAS
>>546
…「 JavaScriptコンパイラ 」 か?w
” 緩いJava ” みたいになってますます混乱するだろうな(笑)
フツーに中間言語(CLR/MSIL)にしか翻訳しないコンパイラならBASICコンパイラの方がいいだろうな。
既存のOSとかAPIとかのパラメーターの引き渡し方法(スタック渡しとか)をどうやって実現するかは別
にしてな。
ハードウェアを直接操作するってのは時代に沿わないけど、これとは逆行してAndroidとかAppleとか、
ファイルシステムも直接操作させないように企図してる。
任天堂みたいなゲーム機メーカーごときが口を挟むべきじゃあないな。
ゲーム機メーカーは独裁的で人から嫌われるモノ作りで、自由なパソコンの世界とは対極にある。
JavaとJavascriptの区別がついてないの?
JSのオブジェクトはほとんど参照渡し。なのでポインタに変換可能。
APIはさすがにC++で実装するだろうけど、ASMが必要なくらいローレベルな用途は全部APIでカバーしないとダメなレベル。
あんたシステムプログラムやったことないだろう。
何とかごときとかそういう発想がすでに不味いわ。ほんと。
WiiUのOSはどこが開発してるんだよ。まったく。
553: ─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG [] 2013/04/10(水) 22:21:28.72 AAS
>>549
>あんたシステムプログラムやったことないだろう。
あんまり感情的になる人はプログラマーには向いてないよw
566(1): デフォルトの名無しさん [sage] 2013/04/11(木) 15:24:06.11 AAS
>>543543(2): ─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG [] 2013/04/10(水) 17:14:14.25 AAS
>>1
>任天堂のゲームはこれまで,CやC++といったプログラミング言語で開発されており,
>そのため高いパフォーマンスを発揮していたが,反面,開発に時間がかかっていたという。
>このセッションではそれ以外の方法,つまりHTMLやJavaScriptを使ってWii Uの全機能にアクセスしつつ,
>より手軽にゲーム開発を行う方法が説明されるようだ。
ありえないな…。
どうせフルアセンブラで書いてて後継者がいなくなったってところが正解だろうなw
岩田社長はVIC時代の功績(※)があるとしても、さすがに無理があるだろうな。
- - - - - - - -
(※)VIC時代の功績
HAL研究所在籍時にナムコのゲームを当時のゲームパソコンVIC-1001に無断移植して海外で大ヒットした
コトを指す。
これによってVIC-1001を製造販売していたコモドール(カナダ)は一時的に世界シェアNo.1を獲得する。
「任天堂のゲームはこれまで,CやC++といったプログラミング言語で開発されており」をどう読んだら「どうせフルアセンブラで書いてて」になるんだ?
部分的にアセンブラ使っててもフルアセンブラは今時ねぇよ。実行頻度の低い部分はC/C++なんかの言語で書いたほうが生産性もバグの発生率も低い。
>>546546(2): デフォルトの名無しさん [sage] 2013/04/10(水) 19:29:39.53 AAS
>>545
1mb位でさえフルアセンブルしてみれば、どれだけ大変かわかるぞ。
んで、このスレにも書かれてたと思うけど、Web屋を取り込みたいんだろう。
あと、コンパイラを真面目に作れば、C++の2倍程度で済むらしいから、
表現力の向上を考えればトレードオフできるレベルじゃないか?
それに、頑張ってCTFEでも実装すればもっと縮まるし。
JavaScriptで表現力向上って何の冗談だ・・・開発コストの低下とかならともかく。
D言語のCTFEって只の最適化の補助構文に過ぎなくねぇか?
>>547
今時の中間言語は実行時にJITコンパイルする。バイトコードをチマチマ呼んでインタプリトとかはしない。
そしてこのJITは場合によっては実行状況に合わせて動的に最適化することで事前コンパイルより高い効率を出す可能性すら有る。
一方昔のBASICコンパイラみたいな奴はBASICの命令を命令に相当するサブルーチン呼び出しに置換するだけで、
バイトコードインタプリトよりマシだがJITコンパイルとは比べてはいけないレベルで効率が悪いコードしか吐けない。
それと、ハードウェア直接操作云々はこのへんの話に全く関係ない。
WebGL見れば分かる通り、JavaScriptでGPUのプログラマブルシェーダを直接ぶっ叩くことすらとっくに可能となっている。
AndroidもiOSもプログラマブルシェーダ自体は(保護された環境下で)直接ぶっ叩けるんじゃなかったかな。
最近のハード直接云々の話は仮想化云々の話題に近くて、「保護すべき領域を保護しながらハードウェアの機能をお上品に直接叩く」方向にある
>>549
ポインタが示す先の型をどこに保持するかって問題を忘れている。Cではコンパイラが型を特定し、型に対応したコードを生成する。
C++のRTTIでは、コンパイル時に特定できない型はオブジェクト側に型情報をもたせ、それを実行時にロス覚悟で参照して想定されている型ごとのコードに分岐する。
JavaScriptでは、多くの型がコンパイル時に特定できない上に、想定されうる型が無数にあるため型ごとのコード生成が非常に困難になる。
コンパイル時に強力な解析を行えば型特定もある程度できるが、言語がそれをサポートしていない以上限界がある。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.281s*