任天堂「今後C++は捨てJavaScriptで開発していく」 (887レス)
1-

474: 2013/04/03(水)17:10 AAS
GCありきで書かれたクソコードを静的解析してスタックに割り付ける作業に戻れ
475
(2): 2013/04/03(水)19:12 AAS
JavaScriptでC言語に並べるのは事実。
CソースをJavaScriptソース内にStringとしてコピペして
JavaScript製Cコンパイラに通したら、C製Cコンパイラと同じ実行ファルを生成でき
速度はC製Cコンパイラと一緒。
477: 2013/04/03(水)19:35 AAS
>>475
つまりCで書かないとはやくならないのか。
478
(1): 2013/04/03(水)20:04 AAS
最適化トランスコーダを書いてさらにCコンパイラで最適化だ!!!
聞きかじりだが、PyPyみたいになるかもしれんぞ。
479
(1): 2013/04/03(水)20:05 AAS
っていうか、LLVMのフロントエンド書くんだ!!
480: 2013/04/03(水)21:40 AAS
LLVMはバックのほうが windows でまともにうごくかな!
481: 2013/04/03(水)21:57 AAS
twitter.com/shelarcy/status/319102598693138433

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

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

Lua好きなんだけど、
PCアプリではBlender-Pythonみたいなあまり有名なのが無いのはなぜなんだろう。
493: 2013/04/06(土)12:51 AAS
Moai SDKでググれ
494: 2013/04/06(土)21:04 AAS
AGK / DarkBASIC / Basic4GL / 99BASIC 2013 Part.1
2chスレ:pcnews

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

・ AGK App Game Kit(外部リンク:www.appgamekit.com
 海外で主流のマルチプラットフォームの開発環境。
 C言語風味の記述が特徴で、中身はDarkBASIC。
 Ver1.088で3Dインターフェイス対応。
省12
495: 2013/04/07(日)09:54 AAS
[参考] ベンチマーク - 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
省10
496: 2013/04/07(日)10:36 AAS
そういうアプリ内の処理時間の割合が20%未満のグループに入るものの比較をしてもほとんど意味ないよ。
80%に含まれるものの比較をしなきゃ。
497: 2013/04/07(日)10:40 AAS
それと、例えば1秒とかの単位時間あたりの処理回数も考慮しないとね。
1秒あたりたかだか100回程度しか行わないのに、10億回の処理時間を比べても意味ないし。
498
(1): 2013/04/07(日)10:47 AAS
ループ速度の測り方は難しいけど
ループが一番処理として多いのは間違いないだろ
批判が適当すぎ
499: 2013/04/07(日)10:57 AAS
そもそもBASICと比較してどうすんだ
500: 2013/04/07(日)11:07 AAS
つまんね
501: 2013/04/07(日)11:13 AAS
[参考] ベンチマーク - FOR-NEXT10億回ループ

(表2)ランキング表
                     開発環境      タイム[sec]   MASM32を1とする相対倍率
------------------------------------------------------------------------------------
PC(CeleronD2.66GHz).       MASM32.        0.7828              1.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz).       JavaScript       7.772              9.928
省13
502: 2013/04/07(日)11:26 AAS
「開発環境:JavaScipt」から滲み出る頭の悪さ
503: 2013/04/07(日)11:27 AAS
>>498
重要なのは、ループ内の処理速度であってループそのものの処理速度ではない。
まあループそのものの処理速度が致命的に遅いのなら問題だが。1回1msかかるとか。
504
(1): 2013/04/07(日)11:44 AAS
ループそのものから重ければ推して知るべし
恥かいちゃったね
505: 2013/04/07(日)12:10 AAS
>>504
推して知れないからいろんなahootoutのページでは様々な切り口でベンチしてるんだよ。
それと、今回任天堂がやろうとしているドメインの機能やAPIを考慮したベンチじゃないと意味ないね。
506: 2013/04/07(日)12:12 AAS
まあただのループ比較したって意味ないよね
LINPACKみたいに演算やデータアクセスのあるのを比較すればいいのに
507
(1): 2013/04/07(日)12:15 AAS
結構バカが吊れたなw
508: 2013/04/07(日)12:26 AAS
今どき釣り宣言とか・・・
509: 2013/04/07(日)12:31 AAS
>>507
顔真っ青だぞお前
510: 2013/04/07(日)12:43 AAS
本日のロバ=任天堂w
511: 2013/04/07(日)12:47 AAS
わからないとわめくバカw
512: 2013/04/07(日)12:52 AAS
つか、masmの10倍くらいしか時間がかからないんだったら問題ないよね
513: 2013/04/07(日)13:03 AAS
ねんまつ
514
(1): 2013/04/07(日)13:26 AAS
インクリメントと条件分岐だけで10倍って
普通の処理なら10倍どころじゃすまないってことだぞ
515
(1): 2013/04/07(日)13:41 AAS
FOR-NEXT10億回ループはJITコンパイラ実装のJavascriptにかなり有利な条件だよね
516: 2013/04/07(日)16:35 AAS
[参考] ベンチマーク - 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
省10
517
(1): 2013/04/07(日)16:35 AAS
AA省
518
(1): 2013/04/07(日)16:37 AAS
まだやってんのかよもういいから
519: 2013/04/07(日)16:58 AAS
>>517-518
この先も続けるつもりならコテつけてやってくれんかね
520: 2013/04/07(日)17:11 AAS
[参考] ベンチマーク - 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
省10
521: 2013/04/07(日)17:12 AAS
AA省
522
(1): 2013/04/07(日)17:22 AAS
チューリング完全がなんとか言ってた頭のおかしい人か
しょうがねえからワードであぼーんすっかな
523: 2013/04/07(日)17:40 AAS
AA省
524: 2013/04/07(日)17:40 AAS
AA省
525: ─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG 2013/04/07(日)17:50 AAS
んじゃな♪(ペロリ♪”
526: 2013/04/07(日)18:22 AAS
>>514
いや、傾向としては、そういう速い処理は差がつきやすいけど、IOが
絡んだ処理のように明らかに遅い処理はほとんど差がないってのが
一般的な傾向じゃね?
527: 2013/04/07(日)20:57 AAS
どんだけレベル低いんだよ・・・
528: 2013/04/08(月)02:47 AAS
>>17
いわっちだったらあり得る
529: 2013/04/08(月)05:12 AAS
そらバルーンファイトはそうだろうけどよ
530: 2013/04/08(月)06:35 AAS
>>515
っていうか最適化によってはループせず変数に最終値が直接代入されて終わるレベルまで展開されかねない。
JITだと一巡回しきるまでループ結果を展開できないけど、事前コンパイルだとコンパイル時にループ回して結果確定できるからコンパイラ使うほうが強くね?
・・・まぁVCとかが遅く出てるようだから最適化を切った無意味な比較っぽいが。

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

ありえないな…。

どうせフルアセンブラで書いてて後継者がいなくなったってところが正解だろうなw
省6
544: 2013/04/10(水)18:05 AAS
きょうびフルアセンブラで開発してるとこなんてないっつーの
545
(1): ─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG 2013/04/10(水)18:08 AAS
んじゃ証拠並べろw
546
(2): 2013/04/10(水)19:29 AAS
>>545
1mb位でさえフルアセンブルしてみれば、どれだけ大変かわかるぞ。
んで、このスレにも書かれてたと思うけど、Web屋を取り込みたいんだろう。

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

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

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

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

ハードウェアを直接操作するってのは時代に沿わないけど、これとは逆行してAndroidとかAppleとか、
省3
548: 2013/04/10(水)20:13 AAS
CLR…共通言語ランタイム
CLI…共通言語基盤
CIL…共通中間言語
549
(2): 2013/04/10(水)20:58 AAS
>>547
JavaとJavascriptの区別がついてないの?
JSのオブジェクトはほとんど参照渡し。なのでポインタに変換可能。
APIはさすがにC++で実装するだろうけど、ASMが必要なくらいローレベルな用途は全部APIでカバーしないとダメなレベル。

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

あんまり感情的になる人はプログラマーには向いてないよw
554: ─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆TXFAX7cidQpG 2013/04/10(水)22:25 AAS
任天堂ごときが開発環境を語るってな感じかw
1-
あと 333 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル アボンOFF

ぬこの手 ぬこTOP 0.028s