任天堂「今後C++は捨てJavaScriptで開発していく」 (887レス)
任天堂「今後C++は捨てJavaScriptで開発していく」 http://mevius.5ch.net/test/read.cgi/tech/1363752460/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
1: デフォルトの名無しさん [sage] 2013/03/20(水) 13:07:40.60 任天堂のゲームはこれまで,CやC++といったプログラミング言語で開発されており, そのため高いパフォーマンスを発揮していたが,反面,開発に時間がかかっていたという。 このセッションではそれ以外の方法,つまりHTMLやJavaScriptを使ってWii Uの全機能にアクセスしつつ, より手軽にゲーム開発を行う方法が説明されるようだ。 http://www.4gamer.net/games/999/G999905/20130316001/ http://mevius.5ch.net/test/read.cgi/tech/1363752460/1
23: デフォルトの名無しさん [] 2013/03/21(木) 06:03:03.23 ビックリするかもしれないけどいまやJavaScriptのコードは平均してJAVA並の速度なんだよね ループ内のコードを外に出したり、ハイコンテキストなのを逆に利用して効率のよいマシン語にすることができる http://mevius.5ch.net/test/read.cgi/tech/1363752460/23
49: デフォルトの名無しさん [sage] 2013/03/21(木) 11:59:19.32 実行効率じゃなくて開発効率が悪いからかんべんしてほしいわ。 function hoge(x) { x.maxLength = 100; } ↑これをスペルミスで function hoge(x) { x.maxlength = 100; } ↑と書いてもエラーにならないで、なんとなく動いちゃう言語。 http://mevius.5ch.net/test/read.cgi/tech/1363752460/49
55: デフォルトの名無しさん [sage] 2013/03/21(木) 14:45:41.46 実装詳細ってなんだ? 公開プロパティだろ? それともメソッドにすれば解決する問題だと思ってるのか? http://mevius.5ch.net/test/read.cgi/tech/1363752460/55
69: デフォルトの名無しさん [sage] 2013/03/21(木) 16:46:14.37 >>66 > >>49の問題って何? まんまその通りだけど。 ・スペルミスしたときに ・と書いてもエラーにならない ・なんとなく動いちゃう http://mevius.5ch.net/test/read.cgi/tech/1363752460/69
111: デフォルトの名無しさん [sage] 2013/03/21(木) 22:06:37.77 >>105 var a = {maxLength:0}; var b = Object.seal({maxLength:0}); var hoge0 = function hoge(x) {"use strict"; x.maxLength = 100; return x.maxLength}; var hoge1 = function hoge(x) {"use strict"; x.maxlength = 100; return x.maxlength}; hoge0(a) // => 100 hoge1(a) // => 100 hoge0(b) // => 100 hoge1(b) // TypeError: Can't add property maxlength, object is not extensible http://mevius.5ch.net/test/read.cgi/tech/1363752460/111
180: デフォルトの名無しさん [sage] 2013/03/22(金) 07:08:00.09 >>179 いやおれは普通にこういうことだとおもったんだが x = { val:0, get maxLength() {return this.val}, set maxLength(v) {this.val = v}} function hoge(x) { x.maxLength = 100; } // 正 function hoge(x) { x.maxlength = 100; } // 誤 x.maxlengthに間違ったら意味無いよね? http://mevius.5ch.net/test/read.cgi/tech/1363752460/180
203: デフォルトの名無しさん [sage] 2013/03/22(金) 11:37:19.10 >>200 ありがと。 >>196 それだと、maxLengthを隠蔽できてない。 newを使う場合はこう。 var Foo = function() {var maxLength;}; Foo.prototype.setMaxLength = function(val) {maxLength = val;} Foo.prototype.getMaxLength = function() {return maxLength;}; var x = new Foo(); console.log(x.maxLength); // => undefined x.setMaxLength(100); console.log(x.getMaxLength()); // => 100 console.log(x.maxLength); // => undefined x.maxLength = 200; // => can't change Foo's property console.log(x.getMaxLength()); // => 100 try { console.log(x.getMaxlength()); } catch (e) { console.log(e.message); } http://mevius.5ch.net/test/read.cgi/tech/1363752460/203
273: デフォルトの名無しさん [] 2013/03/27(水) 22:18:03.24 >>23 > ビックリするかもしれないけどいまやJavaScriptのコードは平均してJAVA並の速度なんだよね こういう「平気でうそをつく人たち」がウェブ界隈には多すぎる。 JavaScriptは以前よりはずっと速くなったが、依然C++よりはずっと遅い。 単純な演算でも平均して5倍は遅いし、 実アプリケーションではメモリ効率の悪さによる速度低下やキャッシュミス、GCポーズ、 低レベルアクセスのオーバーヘッド、SIMD命令やマルチスレッドを活用できないこと等でさらに差が広がる。 各種ベンチマーク。2のTime、Memory、Codeの表をチェックしてね。これが現実の性能差。 C++ g++ speed ÷ JavaScript V8 speed | Computer Language Benchmarks Game http://benchmarksgame.alioth.debian.org/u32/benchmark.php?test=all&lang=gpp&lang2=v8 実際、C++/OpenGLで書かれたものとJavaScript/WebGLで書かれたもので 5倍スループットが違ったりするんですよ? 一番オーバーヘッドが小さい(それこそほとんどOpenGLにコールを渡すだけの)WebGLでだ。 しかもこの1年、JavaScriptの速度の伸びは停滞している。一通り最適化しつくしてしまった。 だから今まで頑なにJavaScriptで十分と言っていたMozillaがasm.jsを作ってきたりしている。 >>36 >これは極端な例だけどJSがダントツで早い状況もある C++のコード見たがなめとんのか https://github.com/kwatch/template-engine-benchmarks/blob/master/others/string-concat/cpp/bench_strcat.cpp http://mevius.5ch.net/test/read.cgi/tech/1363752460/273
425: デフォルトの名無しさん [] 2013/04/03(水) 10:33:57.34 JavaScriptで、C言語製ソフトと同等(速度)の事をやることは現実で可能。 Zopfli を Emscripten をつかって JavaScript に移植しました http://blog.livedoor.jp/imaya_js/archives/6349259.html Google Zopfli圧縮アルゴリズム、gzip -9より高圧縮 3月11日 http://headlines.yahoo.co.jp/hl?a=20130311-00000019-mycomj-sci この記事では、C言語で書かれたアプリケーションを Javascript エンジン上で動かすためのツールである Emscripten について解説します。 Emscripten の原理 Emscripten はC言語のコードを Javascript のコードへ変換するツールですが、人間が移植作業を行うように「書き直し」をしてくれるものではありません。 http://teikyo.tumblr.com/2011-emscripten-1 http://mevius.5ch.net/test/read.cgi/tech/1363752460/425
467: デフォルトの名無しさん [] 2013/04/03(水) 13:47:40.93 C言語が機種依存して最適化してる。C言語なみの速度がJavaScriptで実現可能かということは原理的には可能だろ。 C++のテンプレート使うと、必要な型のすべてのバイナリを生成し、バイナリの中身は型付き変数として動作する。 JavaScriptコンパイラを作り最適化したらいいだけ。 http://mevius.5ch.net/test/read.cgi/tech/1363752460/467
471: デフォルトの名無しさん [] 2013/04/03(水) 15:51:24.12 >>468>>469 あまりに実行中に新型の型を生成するようではエラー出してコンパイルを停止させる。 どこで新型が生成されるか事前に判別できるから、無限ならず有限で済むケースでのみコンパイルを成功させる。 http://mevius.5ch.net/test/read.cgi/tech/1363752460/471
712: デフォルトの名無しさん [sage] 2014/02/04(火) 16:04:02.62 アナログスティックとかスライダとかどーすんの? http://mevius.5ch.net/test/read.cgi/tech/1363752460/712
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.052s