任天堂「今後C++は捨てJavaScriptで開発していく」 (887レス)
上下前次1-新
323: 2013/03/30(土)16:45 AAS
JavaScriptエンジンだってC++だろ
結局、基盤的なところは今までもこれからもC/C++だよ
C++敵視するアホの期待とはうらはらに
324: 2013/03/30(土)19:33 AAS
昔のJava厨はまだ良かった
C・C++を知ってたから
「JavaとC/C++は普通に書けば同じくらいの性能
徹底的にチューニングしたらさすがにC/C++には勝てないけどね」
ぐらいの主張だったけど
JavaScript厨はコンピュータに関する知識が少ないから
「今のVMはすごい。昔とは違う。
省2
325(1): 2013/03/30(土)22:46 AAS
jsのコンパイラ次第だな
性的片付けがないから厳しそうだが
326: 2013/03/30(土)22:49 AAS
>性的片付け
おそうじフェラかと
327: 2013/03/30(土)22:51 AAS
最適化のための構文とかキーワードとかバシバシ追加されたら
そういう寝言にも付き合ってやろう
328: 2013/03/30(土)23:28 AAS
寝言言ってんのはお前だw
329: 2013/03/31(日)04:31 AAS
>>325
型推論備えたJSとか無理なのかなと思ったが…クラスベースならともかく、プロトタイプベースとは相性悪そうだな
330(1): 2013/03/31(日)04:48 AAS
型情報もってない動的型付け言語の型推論を事前に行うなんて無理っぽい
そういうわけで、Google V8のように実際の実行時に型情報を統計的に推測して
マシンコードに変換する手法が現状最速になってるわけよ
331: 2013/03/31(日)04:58 AAS
まあそれでもブラウザ用と違ってゲーム端末用途なら
事前コンパイルでバイトコードみたいなものに変換しておくのはいいかもね
最適化とマシンコードへの変換は実行時に行う必要があるだろうけど
332: 2013/03/31(日)07:30 AAS
>>330
今はそもそもコンパイルが辛いからJITしてるって段階だけど、速度を追い求めてた結果としてもJITが要求されたりする
C/C++みたいな言語でもコンパイラで最適化するだけじゃなく実行時にも最適化掛けたほうが早くなる見込みはあるからな
Ruby処理系Topazとか、PyPyの構造で高速化されるあたりJITによる動的な最適化ってなかなかバカにできん
PyPyってのは「JIT付きPythonインタプリタ上で動くPythonで書かれたPythonインタプリタ上でPythonコードを実行したら、JIT付きPythonインタプリタ上でPythonコードを実行するより早くなる」っていうPythonインタプリタな
333: 2013/03/31(日)08:49 AAS
UnityのJavascript(もどきw)は型情報を付与してAOTしてるが、そういうアプローチで最適化とかはできんのか?
334: 2013/03/31(日)09:28 AAS
Unityみたいなアプローチじゃ、
Web技術のHTML5+javascriptでそのままプログラミングできるって用途には使えん
任天堂はUnityとHTML5+javascriptの両方用意するんだから、Unityの方を使えばいい
任天堂限定の話じゃなくてWeb技術の方でそういうアプローチが普及しないのは
各ブラウザの足並みが揃わなきゃ誰も使ってくれないからかな
335: 2013/03/31(日)12:11 AAS
OS統一すればよくね?
336(1): 2013/03/31(日)14:42 AAS
外部リンク:www.4gamer.net
実質Windows&FFOXだけでいいっちゅうか・・・
337: 2013/03/31(日)15:09 AAS
>>336
これはasm.jsをサポートするブラウザが増えなきゃ技術の無駄使いだね
現時点ではFirefoxOS上で動かすためぐらいしか意味が無い
Firefoxだけでしか動かんなら、Cからjavascriptにわざわざ変換せんでも、
Windowsでネィティブに動かせばいいわけで
338: 2013/03/31(日)15:15 AAS
ああでも、Firefoxが動いていればMacでもLinuxでも動作可能なゲームが作れる?ことになるのか
それはひとつの利点かもな
339: 2013/03/31(日)15:17 AAS
Javascriptは統一言語になっていない。
javaやC#のほうが互換性が高い。
Javascriptは非常に処理系(ブラウザ)に影響される。
340(1): 2013/03/31(日)15:21 AAS
c#とか実質的にプラットフォーム依存じゃないかw
341(1): 2013/03/31(日)15:39 AAS
>>340
2005年ぐらいからタイムスリップしてきたのか?
342: 2013/03/31(日)16:10 AAS
>>341
Windows上で動くC#で作ったプログラムがほぼMono環境で実用になると思っていいの?w
343: 2013/03/31(日)16:19 AAS
おうよ
ゲーム用にキワどいところまで攻めたチューニングでもばりばりうごくぜ
344: 2013/03/31(日)16:22 AAS
Wineでもういいじゃない
345: 2013/03/31(日)16:23 AAS
ついにWPFとかもサポートされたのか
346(1): 2013/03/31(日)16:25 AAS
言語とライブラリの区別はつけようね。
347: 2013/03/31(日)16:27 AAS
そういうレベルの互換性でいいならJavascriptだってほとんど問題無いだろ
348: 2013/03/31(日)17:20 AAS
>>346
そういう言いぐさしたらC最強じゃねぇかw
349(1): 2013/03/31(日)17:21 AAS
オレ「今後JCは捨ててJSを開発していく」
350: 2013/03/31(日)17:26 AAS
>>349
JK「きも…」
351: 2013/04/01(月)01:53 AAS
asm.jsは歓迎だけどな。数値計算分野でのJavascript整備を進めてほしいところ。
FORTRANとか時代錯誤なんで物理シミュも余裕でJavascriptにしてほしい。
352: 2013/04/01(月)02:02 AAS
そんなにやるならCかFORTRANかアセンブラへのコンバータの方がいい。
asm.jsは速いとしても限界がある。
353: 2013/04/01(月)07:48 AAS
同じ様に書いた(物凄い非効率で遅い)ネイティブコードの
二倍程度で済むって話でしょ。
ネイティブコードで書く必要があるような場面って
結局そこからの最適化が勝負だから、
ネイティブを置き換えるのはさすがに無理だろうな。
354: 2013/04/01(月)08:21 AAS
asm.jsっていうのは、CとかFORTRAN(フロントエンドあるのかな?)で書いたコードを
バイナリへコンパイルする代わりに特殊な中間言語に変換するものだよ?
CとかFORTRANを置き換えるとかっていうのは使用方法を勘違いしてる
355: 2013/04/01(月)17:17 AAS
C++とアセンブラとjavaしかできない俺は取り残されていくんだろうか‥
356: 2013/04/01(月)17:22 AAS
取り残されていく
357: 2013/04/01(月)18:35 AAS
変化に対応できない人間は弱いな
358(1): 2013/04/01(月)22:19 AAS
C++・アセンブラ・Javaできれば他の言語なんてあっというまに覚えられるだろ?
359(1): 2013/04/01(月)22:21 AAS
アセンブラ、C、Java、JavaScriptができれば
大体のところは網羅してると思うな。
360: 2013/04/01(月)22:25 AAS
覚えられても、あえて覚えない拘りをもつんだろ。
ダーウィンだったかが、必ずしも強者が生き残るのでなく環境に適応したものが残るとかいってた。
361(1): 2013/04/01(月)22:43 AAS
正直、言語一つ極めれば大抵の他言語は余裕で覚えられる
362: 2013/04/01(月)23:16 AAS
手続き型から関数型はちとつらい
363: 2013/04/02(火)03:07 AAS
俺が生きてる間には関数型が覇権握ることはなさそうだし
とりあえず無視しとく
364: 2013/04/02(火)03:08 AAS
SQLを使ってる人は、関数型もすんなり使えると思う。
SQLと関数型言語は考え方が違い。
このことに気づいている人も結構いる。
外部リンク:www.google.co.jp関数型言語
365(2): 2013/04/02(火)06:12 AAS
node.jsとか時代はJavaScriptなん?
366(1): 2013/04/02(火)06:28 AAS
>>358>>359>>361
それだけでは、とてもじゃないけど関数型言語を使いこなせる気がしない
極めるのうちに自前で他パラダイムの要素混ぜ始めるのまで含めなければ、だけど
>>365
JavaScriptの応用がホットなのは確かだけど、最終的には適材適所じゃね?
367: 2013/04/02(火)12:11 AAS
>>365
flashが倒れた以上後釜を狙う立場にいるのは確か
368(1): 2013/04/02(火)12:37 AAS
>>366
ループの処理を再帰に変換するのが脳内で一瞬でできるようになれば
そんなに難しくはないような気がしてる。
369: 2013/04/02(火)12:38 AAS
>>368
最終的には再起を先に考えてしまって後でループに直したりし始めるけどなw
370: 2013/04/02(火)12:40 AAS
関数は第一級オブジェクト
371: 2013/04/02(火)12:42 AAS
jQueryとHTML5で既にFlashの後釜
node.jsはローカル鯖テストに使ってる。便利な気がする。同一言語で扱えるので。
コンパイラが絶滅する時代が来るのかな。
(C++は進化してきているのがわかる。JavaScriptに近い部分もあり。)
372: 2013/04/02(火)12:53 AAS
生のJavaScriptを書くやり方の方が絶滅すると思う
JavaScript(or そのサブセット)を出力するコンパイラが主流になる
373(1): 2013/04/02(火)14:56 AAS
変換無しで実行できるっていうのもひとつのメリットだからね
主要ブラウザで直接実行可能なのがJavascriptだけな状態が続くなら
絶滅させるのは難しい
374: 2013/04/02(火)16:06 AAS
将来のプログラマはCもjavaも両方出来ないとダメになったぞ
まぁ、移植の手間が省けるぶんゆとり化が進むだろうけど
375: 2013/04/02(火)18:24 AAS
JavaScriptとJavaが同じだと思ってる人が何人かこのスレに居るな
376(1): 2013/04/02(火)20:54 AAS
任天堂のハードの機能に依存したソーシャルゲーとかが作りやすくなるってことか
それこそ個人のサイトでも任天堂ハードを利用したアプリが公開できる
377: 2013/04/02(火)21:20 AAS
>>376
それできるの?
セキュリティとかロイヤルティとか難しい気がするが
378(1): 2013/04/02(火)21:23 AAS
そもそもソースの隠蔽が無理
379: 2013/04/03(水)00:09 AAS
「JavaScriptは遅い」って言う人はプログラミングについて完全に誤解してる
「JavaScript(を機械語に変換する特定の処理系)は遅い」なら正しいが
「JavaScript(というプログラミング言語)は遅い」という発言はおかしい
プログラムの処理速度を決めるのは言語処理系であって、言語そのものではない
380: 2013/04/03(水)00:11 AAS
またバカが来た
381(1): 2013/04/03(水)00:49 AAS
処理系ががんばればいくらでも速く出来るとか思ってるやつのほうが完全に誤解してるだろ。
382: 2013/04/03(水)00:57 AAS
まあjs厨はバカしかいないってことで
383: 2013/04/03(水)01:01 AAS
>>373
googleがDartを本気でjsと置き換えようとしてるらしいが、どうなることやら
384: 2013/04/03(水)01:20 AAS
>>378
それいうとあらゆるクライアントサイドプログラムもソース隠蔽は無理じゃね?
ネイティブコードからの逆コンパイル可読性に負けるとはいえ、変数名全部圧縮したJSってMSILからC#に復元したコードと大差ないレベルじゃね?
385(1): 2013/04/03(水)01:57 AAS
JavaScriptは、いずれどこかの時点でオブジェクト指向機能を
取り入れた別の物に進化してHTML6の一部になると思う
いまのJavaScriptの環境はC言語で関数ポインター駆使して
一生懸命オブジェクト指向設計してた時と同じように
無理が来てると思う
386: 2013/04/03(水)02:01 AAS
お前らasm.jsの記事すらまともに理解できないのか
387: 2013/04/03(水)02:15 AAS
asやってたからjsに変えるのは楽だけど何となく型宣言がないのは気持ち悪い
388(2): 2013/04/03(水)02:19 AAS
>>381
何言ってんだ?
原理的にCで吐ける機械語はJSでも吐けるんだが
チューリング完全て知ってるか?
389: 2013/04/03(水)02:28 AAS
マジバカわろた
390(1): 2013/04/03(水)02:29 AAS
機械語を書き出せるのはチューリング完全と関係ない。
言語がチューリング完全でなくとも出来る。
391(1): 2013/04/03(水)02:31 AAS
>>390
チューリング完全な機械語を吐くにはチューリング完全な言語を処理系に食わせなきゃ無理
機械語を吐くこと≠チューリング完全な機械語を吐くこと
392: 2013/04/03(水)02:31 AAS
ではバッファオーバーフローするjsとその処理系がどのようなものになるか説明してみてください
393: 2013/04/03(水)02:36 AAS
>>391
CコンパイラのバイナリをBASE64などでコピペして
チューリング完全でない言語でデコードして書き出す。
394: 2013/04/03(水)02:46 AAS
(Cコンパイラの)バイナリデータを吐き出す機能しか持っていない言語は
チューリング完全でないが、チューリング完全の処理系を出力できる。
395(1): 2013/04/03(水)02:52 AAS
>>385
JavaScriptはプロトタイプ指向と言うオブジェクト指向と類似するパラダイムを既に獲得しているので、今更オブジェクト指向を取り込む必要は特に無い
>>388
×Cで吐ける機械語はJSでも吐ける
○Cで書ける処理はJSでも書ける
わかり易い例を出すと、Cと同じ機械語を吐くためにはメモリ破壊出来ないとダメだけどJSでは無理だ
処理速度の面で言うにしてもCと同等の速度が出る「可能性は否定出来ない」程度で現状は未だ無理
省2
396(1): 2013/04/03(水)02:54 AAS
>>395
メモリ破壊する処理を書けばいい。
397(1): 2013/04/03(水)02:56 AAS
>>396
破壊できたら只のセキュリティホールでんがな
398: 2013/04/03(水)02:56 AAS
C言語が出力するバイナリと同様のものはJavascriptで吐ける。
C言語の出力をバイナリ文字列としてコピペして書き出すだけ。
399(1): 2013/04/03(水)02:56 AAS
>>397
> Cで書ける処理はJSでも書ける
って書いてある。メモリ破壊する処理を書けばいい。
400: 2013/04/03(水)02:57 AAS
バイナリファイルはきだせるならなんでも作れるだろ。
401(1): 2013/04/03(水)02:59 AAS
より一般にほとんど言語で、C/C++で書かれたC/C++コンパイラと同等の速度が出る、C/C++コンパイラを書くことは可能。
これはチューリング完全なんかと関係する。
402: 2013/04/03(水)03:00 AAS
Cで書けるということはクライアントの環境を決め打ちできるということだ(キリッ
403: 2013/04/03(水)04:13 AAS
>>399
メモリ破壊のロジックを再現しても実際のメモリ破壊できないだろ・・・レイヤ違うんだし
上下前次1-新書関写板覧索設栞歴
あと 484 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s