任天堂「今後C++は捨てJavaScriptで開発していく」

2013/03/20(水) 13:07:40.60
任天堂のゲームはこれまで,CやC++といったプログラミング言語で開発されており,
そのため高いパフォーマンスを発揮していたが,反面,開発に時間がかかっていたという。
このセッションではそれ以外の方法,つまりHTMLやJavaScriptを使ってWii Uの全機能にアクセスしつつ,
より手軽にゲーム開発を行う方法が説明されるようだ。
http://www.4gamer.net/games/999/G999905/20130316001/
2013/04/03(水) 19:35:41.34
>>475
つまりCで書かないとはやくならないのか。
2013/04/03(水) 20:04:29.24
最適化トランスコーダを書いてさらにCコンパイラで最適化だ!!!
聞きかじりだが、PyPyみたいになるかもしれんぞ。
2013/04/03(水) 20:05:24.22
っていうか、LLVMのフロントエンド書くんだ!!
2013/04/03(水) 21:40:45.82
LLVMはバックのほうが windows でまともにうごくかな!
2013/04/03(水) 21:57:45.21
twitter.com/shelarcy/status/319102598693138433

GHCのSIMD命令対応
がんばるHaskeller...
2013/04/03(水) 22:13:15.70
まあ、関数型は並列性抽出しやすいからな。
2013/04/04(木) 03:26:18.20
>>467
全てではなく呼び出し関係を追いかけて出現した型だけだし、一度確定した型はC++では変化しない
JavaScriptの場合型が変化するどころか型の定義そのものが後から変化してしまうから手に負えない
>>471
「どこで新型が生成されるか事前に判別でき」「ない」
君の大好きチューリングマシンの停止性問題と同じ理屈で、ある条件である部分(ある内容の型生成)が実行されるかは判別できない
結果、実行中に実際生成された型でその都度ネイティブコードを生成するJIT実行か、連想配列を使ったインタプリタに毛が生えたような実装になる
>>475
それはCのコードをコンパイルしただけでJavaScriptコードをコンパイルした事にはならないし、
JavaScript上ではコンパイルで得たバイナリを実行する手段がなくて何の意味もない
2013/04/04(木) 03:42:06.96
>>478-479
素のJavaScriptで型特定は無理ゲーだし諦めて、もうJScript.net(≠JScript)でよくね?
型ヒントとか色々付けないとコンパイル通らないけど、一応IL吐けるからC++/CLRといい勝負できるかもしれん
もっとゴリゴリやりたい部分はMSILからFunction生成で誤魔化すw
2013/04/04(木) 21:25:36.61
なんでMS前提なんだよ
2013/04/05(金) 10:08:24.63
JavaScriptと実用レベルで互換が有ってネイティブコードまでまともに変換できる製品がJScript.netくらいしか思いつかなかったんだ
吐けるバイナリはMSILだけどMSILのJITコンパイルは起動時/インストール時にほとんど終わるからJSのコンパイル基盤って意味では一番まともかと

JScript.netが吐き出すILやそのアセンブリを見たこと無いからなんとも言えんけど、
ILの品質次第ではJavaScriptで書いたコードが等価なC/C++で書いたコードとタメ張るかもしれん
2013/04/05(金) 23:13:48.01
>>486
たぶんないなw
2013/04/05(金) 23:51:12.81
まぁ最近の家庭用据置ならちょっとしたアプリやホビープログラムならスクリプトでお手軽に
ってのはありじゃね
商用のフルパッケージでそんな事してたらアホだけど
2013/04/06(土) 04:44:20.35
いいからファミリーべーしっくやってろw
2013/04/06(土) 09:12:28.81
>>488
FPSのなかのLuaさん「・・・」
2013/04/06(土) 10:25:08.57
いまや商用のフルパッケージなゲームでこそ、
DSLとしてスクリプト言語的なものを使うのは普通だね
2013/04/06(土) 10:35:10.64
大きなゲームでスクリプト使うのは
・リロードで差し替えられることによるトライ&エラーしやすさ
・ビルド環境不要
という面が大きい。

Lua好きなんだけど、
PCアプリではBlender-Pythonみたいなあまり有名なのが無いのはなぜなんだろう。
2013/04/06(土) 12:51:51.47
Moai SDKでググれ
2013/04/06(土) 21:04:16.48
AGK / DarkBASIC / Basic4GL / 99BASIC 2013 Part.1
http://kohada.2ch.net/test/read.cgi/pcnews/1365242417/l50

世界中でダントツの人気!各BASICの特徴

・ AGK App Game Kit(http://www.appgamekit.com/
 海外で主流のマルチプラットフォームの開発環境。
 C言語風味の記述が特徴で、中身はDarkBASIC。
 Ver1.088で3Dインターフェイス対応。

・ DarkBASIC(http://darkbasic.thegamecreators.com/
 VisualBASIC以前の旧式マイクロソフトBASICの進化形。
 DirectXをサポート、商用アプリ作成可能。
 C言語にはない強力な文字列操作、複雑な記述が可能。

・ Basic4GL(http://www.basic4gl.net/
 OpenGLを基幹インターフェイスにしたゲーム用開発言語。
 考え方はAGKやDarkBASICに近い。
 上記の2つと同じように実行ファイルのメディアパッケージング可能。

・ 99BASIC(http://www.sagami.ne.jp/tadaka/99Basic/
 MSXやPC-8801世代の旧式マイクロソフトBASICに準拠したBASIC。
 DirectXはサポートしておらず、簡単な2Dインターフェイスのみ使える。
 インタープリター形式で直接実行モードもある
495デフォルトの名無しさん
垢版 |
2013/04/07(日) 09:54:54.98
[参考] ベンチマーク - FOR-NEXT10億回ループ

(表1)ベンチマークテスト結果(数字が小さいほど速い)

                        MASM32  JavaScript  DarkBASIC  AGK  99BASIC
---------------------------------------------------------------------------------
PC(CeleronD2.66GHz)[sec]       0.7828     7.772     20.853   65.423  1532.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率        1.0      9.928     26.638   83.575  1957.0
---------------------------------------------------------------------------------
Nexus7(Tegra3)1.3GHz[sec].       -----     36.480     -----    320.18  -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率.       -----     46.601     -----    409.01  -----
---------------------------------------------------------------------------------
iPhone4S(Cortex-A9)800MHz[sec]  -----     36.521     -----   (※注)  -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率        -----     46.654     -----   (※注)  -----
---------------------------------------------------------------------------------
(※注)iPhone版AGKターゲットエミュレーターはビデオストリームのため除外。
2013/04/07(日) 10:36:29.50
そういうアプリ内の処理時間の割合が20%未満のグループに入るものの比較をしてもほとんど意味ないよ。
80%に含まれるものの比較をしなきゃ。
2013/04/07(日) 10:40:14.04
それと、例えば1秒とかの単位時間あたりの処理回数も考慮しないとね。
1秒あたりたかだか100回程度しか行わないのに、10億回の処理時間を比べても意味ないし。
2013/04/07(日) 10:47:18.84
ループ速度の測り方は難しいけど
ループが一番処理として多いのは間違いないだろ
批判が適当すぎ
2013/04/07(日) 10:57:26.21
そもそもBASICと比較してどうすんだ
500デフォルトの名無しさん
垢版 |
2013/04/07(日) 11:07:16.45
つまんね
501デフォルトの名無しさん
垢版 |
2013/04/07(日) 11:13:46.06
[参考] ベンチマーク - FOR-NEXT10億回ループ

(表2)ランキング表
                     開発環境      タイム[sec]   MASM32を1とする相対倍率
------------------------------------------------------------------------------------
PC(CeleronD2.66GHz).       MASM32.        0.7828              1.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).       JavaScript       7.772              9.928
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).       DarkBASIC      20.853              26.638
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz       JavaScript.      36.48              46.601
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
iPhone4S(Cortex-A9)800MHz  JavaScript.      36.521              46.654
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).       AGK          65.423              83.575
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz       AGK.         320.187           409.01
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).       99BASIC .     1532.0              1957.0
------------------------------------------------------------------------------------
2013/04/07(日) 11:26:48.95
「開発環境:JavaScipt」から滲み出る頭の悪さ
2013/04/07(日) 11:27:26.33
>>498
重要なのは、ループ内の処理速度であってループそのものの処理速度ではない。
まあループそのものの処理速度が致命的に遅いのなら問題だが。1回1msかかるとか。
2013/04/07(日) 11:44:52.87
ループそのものから重ければ推して知るべし
恥かいちゃったね
2013/04/07(日) 12:10:52.16
>>504
推して知れないからいろんなahootoutのページでは様々な切り口でベンチしてるんだよ。
それと、今回任天堂がやろうとしているドメインの機能やAPIを考慮したベンチじゃないと意味ないね。
2013/04/07(日) 12:12:32.47
まあただのループ比較したって意味ないよね
LINPACKみたいに演算やデータアクセスのあるのを比較すればいいのに
507デフォルトの名無しさん
垢版 |
2013/04/07(日) 12:15:30.23
結構バカが吊れたなw
2013/04/07(日) 12:26:27.33
今どき釣り宣言とか・・・
509デフォルトの名無しさん
垢版 |
2013/04/07(日) 12:31:14.37
>>507
顔真っ青だぞお前
510デフォルトの名無しさん
垢版 |
2013/04/07(日) 12:43:14.21
本日のロバ=任天堂w
2013/04/07(日) 12:47:08.73
わからないとわめくバカw
2013/04/07(日) 12:52:10.18
つか、masmの10倍くらいしか時間がかからないんだったら問題ないよね
2013/04/07(日) 13:03:16.15
ねんまつ
2013/04/07(日) 13:26:57.60
インクリメントと条件分岐だけで10倍って
普通の処理なら10倍どころじゃすまないってことだぞ
2013/04/07(日) 13:41:23.20
FOR-NEXT10億回ループはJITコンパイラ実装のJavascriptにかなり有利な条件だよね
516デフォルトの名無しさん
垢版 |
2013/04/07(日) 16:35:01.96
[参考] ベンチマーク - FOR-NEXT10億回ループ ver1.02 page 1/2

(表1)ベンチマークテスト結果(数字が小さいほど速い)

                        MASM32  Visual C++  JavaScript  DarkBASIC  AGK  Basic4GL  99BASIC
-------------------------------------------------------------------------------------------------------
PC(CeleronD2.66GHz)[sec]       0.7828     2.821     7.772     20.853   65.423  285.703   1532.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率        1.0      3.604     9.928     26.638   83.575  364.975   1957.0
-------------------------------------------------------------------------------------------------------
Nexus7(Tegra3)1.3GHz[sec].       -----     -----    36.480     -----    320.18  -----    -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率.       -----     -----    46.601     -----    409.01  -----    -----
-------------------------------------------------------------------------------------------------------
iPhone4S(Cortex-A9)800MHz[sec]  -----     -----    36.521     -----   (※注)  -----    -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率        -----     -----    46.654     -----   (※注)  -----    -----
-------------------------------------------------------------------------------------------------------
(※注)iPhone版AGKターゲットエミュレーターはビデオストリームのため除外。
517デフォルトの名無しさん
垢版 |
2013/04/07(日) 16:35:35.22
[参考] ベンチマーク - FOR-NEXT10億回ループ ver1.02 page 2/E

(表2)ランキング表(数字が小さいほど速い)

                    開発環境     タイム  MASM32を1とする
                              [sec]      相対倍率
-----------------------------------------------------------------
PC(CeleronD2.66GHz).      MASM32.     0.7828         1.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      Visual C++    2.821          3.604
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      JavaScript    7.772         9.928
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      DarkBASIC   20.853         26.638
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz      JavaScript.   36.48         46.601
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
iPhone4S(Cortex-A9)800MHz JavaScript.   36.521         46.654
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      AGK       65.423         83.575
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      Basic4GL.   285.703       364.975
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz      AGK.      320.187      409.01
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      99BASIC.   1532.0         1957.0
-----------------------------------------------------------------
2013/04/07(日) 16:37:39.25
まだやってんのかよもういいから
2013/04/07(日) 16:58:40.28
>>517-518
この先も続けるつもりならコテつけてやってくれんかね
520デフォルトの名無しさん
垢版 |
2013/04/07(日) 17:11:45.40
[参考] ベンチマーク - FOR-NEXT10億回ループ ver1.03 page 1/2

(表1)ベンチマークテスト結果(数字が小さいほど速い)

                        MASM32 Visual Basic Visual C++ JavaScript DarkBASIC AGK Basic4GL 99BASIC
----------------------------------------------------------------------------------------------------------
PC(CeleronD2.66GHz)[sec]       0.7828    2.445    2.821      7.772    20.853    65.423  285.703  1532.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率        1.0     3.123    3.604      9.928    26.638     83.575  364.975  1957.0
----------------------------------------------------------------------------------------------------------
Nexus7(Tegra3)1.3GHz[sec].       -----    -----   -----     36.480      -----   320.18   -----   -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率.       -----    -----   -----     46.601      -----   409.01   -----   -----
----------------------------------------------------------------------------------------------------------
iPhone4S(Cortex-A9)800MHz[sec]  -----    -----   -----     36.521      -----   (※注)  -----   -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率        -----    -----   -----     46.654      -----   (※注)  -----   -----
----------------------------------------------------------------------------------------------------------
(※注)iPhone版AGKターゲットエミュレーターはビデオストリームのため除外。
521デフォルトの名無しさん
垢版 |
2013/04/07(日) 17:12:41.22
[参考] ベンチマーク - FOR-NEXT10億回ループ ver1.03 page 2/E

(表2)ランキング表(数字が小さいほど速い)

                    開発環境     タイム  MASM32を1とする
                              [sec]      相対倍率
PC(CeleronD2.66GHz).      MASM32.     0.7828         1.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      Visual Basic.   2.445          3.123
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      Visual C++    2.821          3.604
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      JavaScript    7.772         9.928
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      DarkBASIC   20.853         26.638
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz      JavaScript.   36.48         46.601
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
iPhone4S(Cortex-A9)800MHz JavaScript.   36.521         46.654
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      AGK       65.423         83.575
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      Basic4GL.   285.703       364.975
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz      AGK.      320.187      409.01
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      99BASIC.   1532.0         1957.0
2013/04/07(日) 17:22:27.36
チューリング完全がなんとか言ってた頭のおかしい人か
しょうがねえからワードであぼーんすっかな
523デフォルトの名無しさん
垢版 |
2013/04/07(日) 17:40:27.32
[参考] ベンチマーク - FOR-NEXT10億回ループ ver1.04 page 1/2

(表1)ベンチマークテスト結果(数字が小さいほど速い)

                        MASM32 Visual  Visual  Visual  Java   Dark   AGK   Basic4GL 99BASIC
                              Basic  C++   C#   Script  BASIC
----------------------------------------------------------------------------------------------------
PC(CeleronD2.66GHz)[sec]       0.7828  2.445  2.821   3.973   7.772  20.853  65.423  285.703  1532.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率        1.0   3.123  3.604   5.076   9.928  26.638   83.575  364.975  1957.0
----------------------------------------------------------------------------------------------------
Nexus7(Tegra3)1.3GHz[sec].       -----   -----  -----  -----  36.480 -----   320.18   -----   -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率.       -----   -----  -----  -----  46.601 -----   409.01   -----   -----
----------------------------------------------------------------------------------------------------
iPhone4S(Cortex-A9)800MHz[sec]  -----   -----  -----  -----  36.521 -----   (※注)  -----   -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率        -----   -----  -----  -----  46.654 -----   (※注)  -----   -----
----------------------------------------------------------------------------------------------------
(※注)iPhone版AGKターゲットエミュレーターはビデオストリームのため除外。
524デフォルトの名無しさん
垢版 |
2013/04/07(日) 17:40:57.94
[参考] ベンチマーク - FOR-NEXT10億回ループ ver1.04 page 2/E

(表2)ランキング表(数字が小さいほど速い)

                    開発環境     タイム  MASM32を1とする
                              [sec]      相対倍率
-----------------------------------------------------------------
PC(CeleronD2.66GHz).      MASM32.     0.7828         1.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      Visual Basic.   2.445          3.123
PC(CeleronD2.66GHz).      Visual C++    2.821          3.604
PC(CeleronD2.66GHz).      Visual C#      3.973       5.076
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      JavaScript    7.772         9.928
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      DarkBASIC   20.853         26.638
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz      JavaScript.   36.48         46.601
iPhone4S(Cortex-A9)800MHz JavaScript.   36.521         46.654
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      AGK       65.423         83.575
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      Basic4GL.   285.703       364.975
Nexus7(Tegra3)1.3GHz      AGK.      320.187       409.01
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      99BASIC.   1532.0         1957.0
-----------------------------------------------------------------
525─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/07(日) 17:50:32.98
んじゃな♪(ペロリ♪”
2013/04/07(日) 18:22:44.81
>>514
いや、傾向としては、そういう速い処理は差がつきやすいけど、IOが
絡んだ処理のように明らかに遅い処理はほとんど差がないってのが
一般的な傾向じゃね?
2013/04/07(日) 20:57:06.03
どんだけレベル低いんだよ・・・
2013/04/08(月) 02:47:37.49
>>17
いわっちだったらあり得る
2013/04/08(月) 05:12:48.38
そらバルーンファイトはそうだろうけどよ
2013/04/08(月) 06:35:57.61
>>515
っていうか最適化によってはループせず変数に最終値が直接代入されて終わるレベルまで展開されかねない。
JITだと一巡回しきるまでループ結果を展開できないけど、事前コンパイルだとコンパイル時にループ回して結果確定できるからコンパイラ使うほうが強くね?
・・・まぁVCとかが遅く出てるようだから最適化を切った無意味な比較っぽいが。

>>522
実際試してみたら(どのJSエンジンかは知らんけど)JavaScriptの遅さに仰天してアセンブラ信者に転向したんだろうな。
takやtaraiを覚えたら関数型言語に転向しそうだ。
2013/04/08(月) 14:40:02.55
JSは変数スコープがキモイ
2013/04/08(月) 15:02:35.47
JSの変数スコープが理解できないやつはわりと頭悪い
2013/04/08(月) 20:40:42.93
typoしても黙ってるとかタチ悪すぎ
VBAですらOption Explicit必須だというのに
2013/04/08(月) 20:49:49.51
strictモードにしろよ
2013/04/09(火) 02:25:52.10
>>532
文ブロックで隠蔽されないとかきもくね?
2013/04/09(火) 02:43:57.30
>>535
LispとかやってるとJavascriptの方が自然だな
2013/04/09(火) 02:56:15.10
>>536
Lispが既に異端
2013/04/09(火) 03:17:52.24
そもそもレキシカルスコープとかLisp由来なので
2013/04/09(火) 04:17:17.11
ラムダのみが新しい束縛範囲をつくる
letや文ブロックはただの糖衣構文に過ぎず、そういうのは極力少ないほうがいい
2013/04/09(火) 09:03:02.66
関数型はやり過ぎ
2013/04/09(火) 10:36:46.68
>>539は別に関数型言語の話ではない
2013/04/09(火) 11:03:25.15
>>538
Algolだろう
543─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/10(水) 17:14:14.25
>>1
>任天堂のゲームはこれまで,CやC++といったプログラミング言語で開発されており,
>そのため高いパフォーマンスを発揮していたが,反面,開発に時間がかかっていたという。
>このセッションではそれ以外の方法,つまりHTMLやJavaScriptを使ってWii Uの全機能にアクセスしつつ,
>より手軽にゲーム開発を行う方法が説明されるようだ。

ありえないな…。

どうせフルアセンブラで書いてて後継者がいなくなったってところが正解だろうなw

岩田社長はVIC時代の功績(※)があるとしても、さすがに無理があるだろうな。
- - - - - - - -

(※)VIC時代の功績
HAL研究所在籍時にナムコのゲームを当時のゲームパソコンVIC-1001に無断移植して海外で大ヒットした
コトを指す。

これによってVIC-1001を製造販売していたコモドール(カナダ)は一時的に世界シェアNo.1を獲得する。
2013/04/10(水) 18:05:02.98
きょうびフルアセンブラで開発してるとこなんてないっつーの
545─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/10(水) 18:08:55.33
んじゃ証拠並べろw
2013/04/10(水) 19:29:39.53
>>545
1mb位でさえフルアセンブルしてみれば、どれだけ大変かわかるぞ。
んで、このスレにも書かれてたと思うけど、Web屋を取り込みたいんだろう。

あと、コンパイラを真面目に作れば、C++の2倍程度で済むらしいから、
表現力の向上を考えればトレードオフできるレベルじゃないか?
それに、頑張ってCTFEでも実装すればもっと縮まるし。
547─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/10(水) 20:05:29.65
>>546
…「 JavaScriptコンパイラ 」 か?w

” 緩いJava ” みたいになってますます混乱するだろうな(笑)

フツーに中間言語(CLR/MSIL)にしか翻訳しないコンパイラならBASICコンパイラの方がいいだろうな。

既存のOSとかAPIとかのパラメーターの引き渡し方法(スタック渡しとか)をどうやって実現するかは別
にしてな。

ハードウェアを直接操作するってのは時代に沿わないけど、これとは逆行してAndroidとかAppleとか、
ファイルシステムも直接操作させないように企図してる。

任天堂みたいなゲーム機メーカーごときが口を挟むべきじゃあないな。

ゲーム機メーカーは独裁的で人から嫌われるモノ作りで、自由なパソコンの世界とは対極にある。
2013/04/10(水) 20:13:16.50
CLR…共通言語ランタイム
CLI…共通言語基盤
CIL…共通中間言語
2013/04/10(水) 20:58:33.41
>>547
JavaとJavascriptの区別がついてないの?
JSのオブジェクトはほとんど参照渡し。なのでポインタに変換可能。
APIはさすがにC++で実装するだろうけど、ASMが必要なくらいローレベルな用途は全部APIでカバーしないとダメなレベル。

あんたシステムプログラムやったことないだろう。
何とかごときとかそういう発想がすでに不味いわ。ほんと。
WiiUのOSはどこが開発してるんだよ。まったく。
2013/04/10(水) 21:16:06.07
プログラミングで一番大切なのはコンパイラもそうだけど、もっと大事なのはデバッガ。
俺はVCのデバッガに育てられたからな。
2013/04/10(水) 22:01:02.90
>>536
function test(arg) {
 if(arg) {
  var foo = hogehoge...;
 } else {
  var foo = fugafuga...;
 }
}
これでelse節のfooが2重定義エラーなのがキモイ
Lispだってここまでへんちくりんじゃねぇ(DynamicScopeはもっと変だけどな)
552─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/10(水) 22:09:28.64
>>551
なんか経験不足ってのが…w”
553─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/10(水) 22:21:28.72
>>549
>あんたシステムプログラムやったことないだろう。

あんまり感情的になる人はプログラマーには向いてないよw
554─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/10(水) 22:25:36.63
任天堂ごときが開発環境を語るってな感じかw
2013/04/10(水) 22:28:54.07
>>551
二重定義エラーにならんだろ?
556─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/10(水) 23:00:56.57
俺様 「 今後任天堂ごときは捨ててJavaScriptで開発していく 」
2013/04/10(水) 23:55:10.67
JavaScript(wwwwww

PHPみたいなエレガントな言語触ったらこんな低機能な物は触れないよ(w
2013/04/10(水) 23:56:52.88
wwwwwwwwwwwww
559─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/11(木) 00:05:47.39
いいぞいいぞ♪(ゲラ
560─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/11(木) 00:11:02.57
任天堂はソース漏れのリスクを抱えながら開発していくんだろうなw
2013/04/11(木) 01:02:18.09
またしょーもないのに目をつけられたな
562─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/11(木) 01:11:11.79
悔しいのうw
563デフォルトの名無しさん
垢版 |
2013/04/11(木) 05:52:15.45
Webkitはオワコンになったのに大丈夫なのか?
2013/04/11(木) 06:22:28.95
Webなんてオレオレフレームワークだらけでまともに付き合っちゃだめ
2013/04/11(木) 12:07:26.14
>>563
必要ならWebkitからBlinkに切り替えるだけ
2013/04/11(木) 15:24:06.11
>>543
「任天堂のゲームはこれまで,CやC++といったプログラミング言語で開発されており」をどう読んだら「どうせフルアセンブラで書いてて」になるんだ?
部分的にアセンブラ使っててもフルアセンブラは今時ねぇよ。実行頻度の低い部分はC/C++なんかの言語で書いたほうが生産性もバグの発生率も低い。

>>546
JavaScriptで表現力向上って何の冗談だ・・・開発コストの低下とかならともかく。
D言語のCTFEって只の最適化の補助構文に過ぎなくねぇか?

>>547
今時の中間言語は実行時にJITコンパイルする。バイトコードをチマチマ呼んでインタプリトとかはしない。
そしてこのJITは場合によっては実行状況に合わせて動的に最適化することで事前コンパイルより高い効率を出す可能性すら有る。
一方昔のBASICコンパイラみたいな奴はBASICの命令を命令に相当するサブルーチン呼び出しに置換するだけで、
バイトコードインタプリトよりマシだがJITコンパイルとは比べてはいけないレベルで効率が悪いコードしか吐けない。

それと、ハードウェア直接操作云々はこのへんの話に全く関係ない。
WebGL見れば分かる通り、JavaScriptでGPUのプログラマブルシェーダを直接ぶっ叩くことすらとっくに可能となっている。
AndroidもiOSもプログラマブルシェーダ自体は(保護された環境下で)直接ぶっ叩けるんじゃなかったかな。
最近のハード直接云々の話は仮想化云々の話題に近くて、「保護すべき領域を保護しながらハードウェアの機能をお上品に直接叩く」方向にある

>>549
ポインタが示す先の型をどこに保持するかって問題を忘れている。Cではコンパイラが型を特定し、型に対応したコードを生成する。
C++のRTTIでは、コンパイル時に特定できない型はオブジェクト側に型情報をもたせ、それを実行時にロス覚悟で参照して想定されている型ごとのコードに分岐する。
JavaScriptでは、多くの型がコンパイル時に特定できない上に、想定されうる型が無数にあるため型ごとのコード生成が非常に困難になる。
コンパイル時に強力な解析を行えば型特定もある程度できるが、言語がそれをサポートしていない以上限界がある。
567─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/11(木) 22:35:09.70
>>566
…アセンブラができないクセに偉そうに語るところが面白いよなw

おまえの書いてる中身は教科書の中身にすら劣るってのが相場だよ。
2013/04/11(木) 22:50:50.64
おまえのレスは本当にからっぽだな
569─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/11(木) 22:55:48.68
ファミ必死w
2013/04/11(木) 23:34:05.44
アセンブラができるやつが今時ゲーム開発でフルアセンブラなんて発想するのか
こえーな
2013/04/11(木) 23:58:03.08
春厨かよ
2013/04/12(金) 03:14:53.18
>>567
勘違いしていい気になってる所悪いが、このスレで俺があんたにレスしたのは566の一回だけだ
アセンブラはx86とAVR、あとMIPS系を齧る程度には使ってるが・・・

・・・そもそも俺のレスはx86アセンブリがちょっとわかればわかる程度のことしか書いてないぞ?
どれだけ補助機能を利用して効率化してもアセンブラは記述効率が非常に低いってのはアセンブラを触ればアホでもわかるし
デバッガでアタッチしてみれば、BASICなんかでよくあるスレッデッドコードがアホみたいなCALL連打になるも一目瞭然だし
MSILバイナリが実際には普通のC/C++から生成したのと大差ないx86命令に変換されて実行されてるのもすぐに分かる

教科書に勝ること書いてるなんて思ってもいないが、「中間言語(CLR/MSIL)にしか翻訳しないコンパイラならBASICコンパイラの方がいい」なんて、
「BASICをネイティブコードに変換できるコンパイラが存在します」「中間コードは中間コードインタプリタで実行されます」
「インタプリタは遅いです」なんて十年以上前の教科書レベルの知識をMSILに適用したかのような事をまじめに書くよりは遥かにマシだわ
573─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/12(金) 05:38:18.46
[参考] ベンチマーク - FOR-NEXT10億回ループ ver1.04 page 1/2

(表1)ベンチマークテスト結果(数字が小さいほど速い)

                        MASM32 Visual  Visual  Visual  Java   Dark   AGK   Basic4GL 99BASIC
                              Basic  C++   C#   Script  BASIC
----------------------------------------------------------------------------------------------------
PC(CeleronD2.66GHz)[sec]       0.7828  2.445  2.821   3.973   7.772  20.853  65.423  285.703  1532.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率        1.0   3.123  3.604   5.076   9.928  26.638   83.575  364.975  1957.0
----------------------------------------------------------------------------------------------------
Nexus7(Tegra3)1.3GHz[sec].       -----   -----  -----  -----  36.480 -----   320.18   -----   -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率.       -----   -----  -----  -----  46.601 -----   409.01   -----   -----
----------------------------------------------------------------------------------------------------
iPhone4S(Cortex-A9)800MHz[sec]  -----   -----  -----  -----  36.521 -----   (※注)  -----   -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率        -----   -----  -----  -----  46.654 -----   (※注)  -----   -----
----------------------------------------------------------------------------------------------------
(※注)iPhone版AGKターゲットエミュレーターはビデオストリームのため除外。
574─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/12(金) 05:39:02.30
[参考] ベンチマーク - FOR-NEXT10億回ループ ver1.04 page 2/E

(表2)ランキング表(数字が小さいほど速い)

                    開発環境     タイム  MASM32を1とする
                              [sec]      相対倍率
-----------------------------------------------------------------
PC(CeleronD2.66GHz).      MASM32.     0.7828         1.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      Visual Basic.   2.445          3.123
PC(CeleronD2.66GHz).      Visual C++    2.821          3.604
PC(CeleronD2.66GHz).      Visual C#      3.973       5.076
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      JavaScript    7.772         9.928
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      DarkBASIC   20.853         26.638
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz      JavaScript.   36.48         46.601
iPhone4S(Cortex-A9)800MHz JavaScript.   36.521         46.654
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      AGK       65.423         83.575
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      Basic4GL.   285.703       364.975
Nexus7(Tegra3)1.3GHz      AGK.      320.187       409.01
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).      99BASIC.   1532.0         1957.0
-----------------------------------------------------------------
575─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG
垢版 |
2013/04/12(金) 05:39:47.85
>>572
ムダ♪(アハ♪”
2013/04/12(金) 06:13:29.94
>>573
あああの可哀想な人か・・・ちゃんとコテつけたんだな。エライエライ。でもコテつけるときは今まで何書いてた奴か分かるようにコテ宣言しようね
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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