任天堂「今後C++は捨てJavaScriptで開発していく」 (887レス)
任天堂「今後C++は捨てJavaScriptで開発していく」 http://mevius.5ch.net/test/read.cgi/tech/1363752460/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
448: デフォルトの名無しさん [sage] 2013/04/03(水) 11:35:56.15 >>447 それは、速度を求められるところはCで書かないとCと同等の速度はでないってことですね。 http://mevius.5ch.net/test/read.cgi/tech/1363752460/448
449: デフォルトの名無しさん [sage] 2013/04/03(水) 11:38:53.98 >>443 CPU負荷や空きメモリ、処理対象データに合わせた動的最適化も追加でよろしく! http://mevius.5ch.net/test/read.cgi/tech/1363752460/449
450: デフォルトの名無しさん [sage] 2013/04/03(水) 11:43:43.06 処理の重いところはグラフィックカードがやるから ライブラリーに投げるだけでしょ? ロジック部分の生産性が上がるなら言語部分の 速度を議論するのは不毛じゃないの? ただ、プログラムの規模が大きくなってきたときに Javascriptってかえって生産性低いのではないだろうかって 気がするんだけど 結局プログラムの生産性を下げるのって不注意で作り込んだ バグをつぶすところが大きくて、Javascriptでうまく動かすのには 本来コンパイラーガやってくれる部分を 人間が細心の注意を持ってやらなきゃいけない様に見える そう言う機能をどんどん追加していったら、 結局遅くて使いにくいC++の亜種になったりしそう HTML5が流行りでみんながこのビッグウエーブに乗ろうと するし、実際適用範囲が広がるのは確実だと思うけど、 出来るからって何でもそれでやろうとするのは凄く 間違った方向に進むと思うな http://mevius.5ch.net/test/read.cgi/tech/1363752460/450
451: デフォルトの名無しさん [sage] 2013/04/03(水) 11:47:33.33 VB.NETが生産性最高 http://mevius.5ch.net/test/read.cgi/tech/1363752460/451
452: デフォルトの名無しさん [] 2013/04/03(水) 12:02:14.73 JavaScript処理系自体がほぼC/C++製だ。 JavaScript処理系をJavaやJavaScriptやC#や純関数型で書くのも可能だろうが。 速くしたい所を念入りに最適化するのは当然。 http://mevius.5ch.net/test/read.cgi/tech/1363752460/452
453: デフォルトの名無しさん [] 2013/04/03(水) 12:39:39.19 Cコンパイラが出力した機械語と速度比較するのが間違い。CコンパイラソースをJavaScriptソースに変換できれば機械語として同じ速度だ。 言語性能は同じ土台のインタプリタで比較しろ。 CINT(シーイント) CINT はC/C++ 言語インタープリタです。 CINTを使うと、C/C++で書かれたソースコードをコンパイルせずに実行できます。 90%-95% 実行可能だそうです。 http://belle.sci.fukuoka-u.ac.jp/index.php?CINT Production Version 5.34 Availability ROOT is available in binary and source form. The binaries are available for most supported platforms. http://root.cern.ch/drupal/content/production-version-534 CINT・C++インタープリタ 日本語訳:柴田淑夫(Shibata Toshio) この章ではCINT、ROOTのコマンドラインインタープリタおよびスクリプトプロセッサーについて述べる http://www.dw-sapporo.co.jp/technology/658766f830d530a130a430eb7f6e304d5834/root_usersguide_jp/7CINT.pdf http://mevius.5ch.net/test/read.cgi/tech/1363752460/453
454: デフォルトの名無しさん [sage] 2013/04/03(水) 12:50:29.60 >>453 >CコンパイラソースをJavaScriptソースに変換できれば機械語として同じ速度だ。 Cコンパイラソースって何だ? Cコンパイラのソースコード? Cコンパイルするプログラムのソースコード? 何と何が機械語として同じ速度になるの? http://mevius.5ch.net/test/read.cgi/tech/1363752460/454
455: デフォルトの名無しさん [sage] 2013/04/03(水) 12:52:23.05 >>453 ネイティブのCじゃなくてインタプリタのCとJavascriptを比較しろって意味? そうする意味がわからない。 それにJavascriptじゃCの9割以上の性能出すのムリなんじゃないの。 http://mevius.5ch.net/test/read.cgi/tech/1363752460/455
456: デフォルトの名無しさん [sage] 2013/04/03(水) 12:54:28.66 Cの生産性の悪さとインタープリタの性能の低さを合わせた最強のツールか http://mevius.5ch.net/test/read.cgi/tech/1363752460/456
457: デフォルトの名無しさん [sage] 2013/04/03(水) 12:55:49.58 無駄に改行入れる奴って例外なくバカだね http://mevius.5ch.net/test/read.cgi/tech/1363752460/457
458: デフォルトの名無しさん [sage] 2013/04/03(水) 12:58:03.46 もはや自分でも何言ってんのか分かってなさそうだ 最近のコンパイル言語はコンパイルからJITコンパイルに移行しつつ有って最近のスクリプト言語もインタプリトからJITコンパイルに移行しつつ有るというのに、コンパイル言語の不完全なインタプリトとスクリプト言語の最新JITコンパイルを比較とか何がしたいんだ。 http://mevius.5ch.net/test/read.cgi/tech/1363752460/458
459: デフォルトの名無しさん [] 2013/04/03(水) 13:00:33.11 機械語、CPUが直に理解できるワードはC言語とは別もの。 機械語で比較するならば、Cコンパイラと同じ出力を作れれば同速度であるといえる。 Cコンパイラのソースコードを移植できる言語であれば、C言語と同速度。 http://mevius.5ch.net/test/read.cgi/tech/1363752460/459
460: デフォルトの名無しさん [sage] 2013/04/03(水) 13:07:17.13 >>459 何のプログラムコードで書いた何をするプログラムが同速度になるの? http://mevius.5ch.net/test/read.cgi/tech/1363752460/460
461: デフォルトの名無しさん [] 2013/04/03(水) 13:12:22.58 459だとC言語ソースをJavaScriptでコンパイルしたものが C製Cコンパイラと同速度という意味だが。 JavaScriptソースとC言語ソースに互いに変換可能で無駄がないとすれば JavaScriptソースもJavaScript製コンパイラでC言語並の速度が出るということ。 http://mevius.5ch.net/test/read.cgi/tech/1363752460/461
462: デフォルトの名無しさん [sage] 2013/04/03(水) 13:15:09.28 >>461 >JavaScriptソースとC言語ソースに互いに変換可能で無駄がない ここが間違ってる JavascriptソースからC言語ソースへの変換は、Javascriptソースのほうが情報量が少ないから、 同等なものに変換するには事実上不可能なほどの計算量が必要になる http://mevius.5ch.net/test/read.cgi/tech/1363752460/462
463: デフォルトの名無しさん [sage] 2013/04/03(水) 13:18:32.40 >>462なので、 JavaScriptソースをJavaScript製コンパイラでC言語並の速度を出すというのは不可能 http://mevius.5ch.net/test/read.cgi/tech/1363752460/463
464: デフォルトの名無しさん [sage] 2013/04/03(水) 13:28:12.44 JSって変数が全部バリアント型なのにC並の速度が出る。。。わけないだろバカ http://mevius.5ch.net/test/read.cgi/tech/1363752460/464
465: デフォルトの名無しさん [sage] 2013/04/03(水) 13:32:19.09 動的型付言語とは何なのか CコンパイラがCソースコードをどのようなマシン語に変換するのか この辺を勉強してみれば>>462が如何に難しいか理解できる http://mevius.5ch.net/test/read.cgi/tech/1363752460/465
466: デフォルトの名無しさん [sage] 2013/04/03(水) 13:38:38.02 なんか致命的な勘違いか致命的な極論が混ざってるようにしか見えんわ ゲスパーしとくと、JSにコンパイラ移植してもコンパイルしたコードはJSの実行環境では動かないから意味は無いしコンパイル元のコードがJSじゃないから本末転倒だぞ >>464 そこを全部型付きにして高速化を図ろうってのが最近のトレンドだが、もはや人が書くような言語じゃねと言わんばかりに別言語の中間コードから型ヒント付きJSを生成する技術が登場する始末 JSを元にした中途半端な謎中間言語とか誰得状態だし、なんてーかそこまでやるならMSILでもLLVMでもいいからそのへんのJITレイヤをそのまんまJSに組み込んで中間コードからFunctionオブジェクト生成する機能でも追加しろよって感じだ http://mevius.5ch.net/test/read.cgi/tech/1363752460/466
467: デフォルトの名無しさん [] 2013/04/03(水) 13:47:40.93 C言語が機種依存して最適化してる。C言語なみの速度がJavaScriptで実現可能かということは原理的には可能だろ。 C++のテンプレート使うと、必要な型のすべてのバイナリを生成し、バイナリの中身は型付き変数として動作する。 JavaScriptコンパイラを作り最適化したらいいだけ。 http://mevius.5ch.net/test/read.cgi/tech/1363752460/467
468: デフォルトの名無しさん [sage] 2013/04/03(水) 13:53:54.03 >>467 原理的に可能って、JSでコンパイル時点ですべての型を予測して あらかじめ生成するなんてムリだろ。 http://mevius.5ch.net/test/read.cgi/tech/1363752460/468
469: デフォルトの名無しさん [sage] 2013/04/03(水) 13:55:33.59 >>467 テンプレートの場合に型が変化するのはそのテンプレート引数の組み合わせだけだけど、 Javascriptの関数の場合に型が変化する組み合わせはそれこそ莫大な数になる可能性が考えられるわけよw しかも実行と同等なことをしてみないと必要な組み合わせが判明しない なので無理 http://mevius.5ch.net/test/read.cgi/tech/1363752460/469
470: デフォルトの名無しさん [sage] 2013/04/03(水) 13:56:06.23 C言語自体は機種依存してないよな 言語とライブラリを分離してるだけで #ifdef使えば UNIXとWindowsですらソースコードレベルのポータビリティが有る訳で API部分を抽象化しても結局うまくいかないのはJavaが証明したし JavaScriptもそれを繰り返すことになるだろう http://mevius.5ch.net/test/read.cgi/tech/1363752460/470
471: デフォルトの名無しさん [] 2013/04/03(水) 15:51:24.12 >>468>>469 あまりに実行中に新型の型を生成するようではエラー出してコンパイルを停止させる。 どこで新型が生成されるか事前に判別できるから、無限ならず有限で済むケースでのみコンパイルを成功させる。 http://mevius.5ch.net/test/read.cgi/tech/1363752460/471
472: デフォルトの名無しさん [sage] 2013/04/03(水) 16:46:56.25 >>471 ちょっと複雑なコードを書いたらすぐエラーになるか、コンパイルが終わらなくなりそう。 http://mevius.5ch.net/test/read.cgi/tech/1363752460/472
473: デフォルトの名無しさん [sage] 2013/04/03(水) 17:06:28.40 >>471 ごまかすな お前が言ってたのはJavascriptのコードをCのコードと同等な速度に変換できるってことだろ? 変換可能な部分のみ変換するのでは JavascriptのコードをCのコードと同等な速度に変換できるとは言えない その程度だったら事前に変換してコンパイルじゃなくて、JITコンパイルで十分なのよ http://mevius.5ch.net/test/read.cgi/tech/1363752460/473
474: デフォルトの名無しさん [sage] 2013/04/03(水) 17:10:40.28 GCありきで書かれたクソコードを静的解析してスタックに割り付ける作業に戻れ http://mevius.5ch.net/test/read.cgi/tech/1363752460/474
475: デフォルトの名無しさん [] 2013/04/03(水) 19:12:32.02 JavaScriptでC言語に並べるのは事実。 CソースをJavaScriptソース内にStringとしてコピペして JavaScript製Cコンパイラに通したら、C製Cコンパイラと同じ実行ファルを生成でき 速度はC製Cコンパイラと一緒。 http://mevius.5ch.net/test/read.cgi/tech/1363752460/475
477: デフォルトの名無しさん [sage] 2013/04/03(水) 19:35:41.34 >>475 つまりCで書かないとはやくならないのか。 http://mevius.5ch.net/test/read.cgi/tech/1363752460/477
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 410 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
アボンOFF
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s