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

412
(1): 2013/04/03(水)09:21 AAS
チューリング完全って何だよ
413
(1): 2013/04/03(水)09:28 AAS
論理的には計算速度の最適化もできそうだけど、
ソースコードの量の増加に応じた最適化のための計算量が爆発的に増加しそう
実質的には無理じゃないかな?
414
(1): 2013/04/03(水)09:30 AAS
>>413
動的型の言語の実行時にきまる動作を静的なコードで
置き換えようとするとコードの量が無限に大きくなりそうだな。
415
(1): 2013/04/03(水)10:01 AAS
コンパイラは、文字列処理にすぎない。
ソースコードをパースして、アセンブラ言語の文字列へ変換するだけ。
C製のCコンパイラと同等の速度が出せない言語のほうが珍しい。チューリング完全ということは処理能力に違いがないということ。
416: 2013/04/03(水)10:03 AAS
「Javascriptのコードから」ってルールが抜けてるんなら
バイナリ列のコピーだけでもいいからね。
417: 2013/04/03(水)10:04 AAS
>>412
計算理論において、ある計算のメカニズムが万能チューリングマシンと同じ計算能力をもつとき、その計算モデルはチューリング完全(チューリングかんぜん、Turing-complete)あるいは計算完備であるという。--Wikipedia/チューリング完全
>>414
生成され得ないパターンを除外してくとかはある程度出来るだろうけど、停止性判定不能コードの後ろに判定対象が並んでるとかの場合に
チューリングマシンの停止性問題から「有るコードが有る型で実行されるかは有限時間で判定不可能である」って導けそうな気がするんだよな
418: 2013/04/03(水)10:05 AAS
チューリング完全を完全に誤解してる。
419: 2013/04/03(水)10:06 AAS
まったくなんのスレだよ
420: 2013/04/03(水)10:10 AAS
万能チューリングマシンとか停止性問題とか神託機械とか、あのへん微妙に中二病患者にウケそうな概念や単語が並んでるからな
421
(1): 2013/04/03(水)10:11 AAS
>>415
Cと同等の速度が出せない言語がめずらしいって言っても、
実際には出せてない言語は多いよね。
なんで?
実装してる連中がバカだから?
(実際的にはムリだけど)原理的には可能っていう屁理屈?
422
(1): 2013/04/03(水)10:14 AAS
>>421
同等程度の性能しか出せないのに、Javascript製Cコンパイラをつくる意味がない。
それに明らかにコンパイル時間が長引いて実用的でもない。
ゼロからCで書くか、オープンソースのC言語製Cコンパイラを改良した方がいい。
423: 2013/04/03(水)10:17 AAS
脈絡なく屁理屈をレスするスレ
424: 2013/04/03(水)10:18 AAS
>>422
ああ、JavaScriptでも同等の処理を書けるってはなしで、
速度はやっぱり遅いんだな。
425
(5): 2013/04/03(水)10:33 AAS
JavaScriptで、C言語製ソフトと同等(速度)の事をやることは現実で可能。

Zopfli を Emscripten をつかって JavaScript に移植しました
外部リンク[html]:blog.livedoor.jp

Google Zopfli圧縮アルゴリズム、gzip -9より高圧縮  3月11日
外部リンク:headlines.yahoo.co.jp

この記事では、C言語で書かれたアプリケーションを Javascript エンジン上で動かすためのツールである Emscripten について解説します。
Emscripten の原理
Emscripten はC言語のコードを Javascript のコードへ変換するツールですが、人間が移植作業を行うように「書き直し」をしてくれるものではありません。
外部リンク:teikyo.tumblr.com
426: 2013/04/03(水)10:39 AAS
>>425
リンク先をざっと見てみましたけど、JavaScriptのコードをCと同等の速度で
実行できるってのはどこに載ってるんでしょうか。
427: 2013/04/03(水)10:39 AAS
emscriptenの出力コードはjavascript上で機械語コードをエミュレートするだけなんだけど
428: 2013/04/03(水)10:44 AAS
>>425
ドヤ顔でこれかよ・・・
429: 2013/04/03(水)10:45 AAS
>>425
それある程度の速度が出るのはJITコンパイルが前提だよ
上で馬鹿がわめいているような事前コンパイルでJavascirptを高速なネイティブコードに変換するのは難しい
430: 2013/04/03(水)10:48 AAS
コンパイラは文字列操作してるだけ。
C:製Cコンパイラと同じ文字列操作をすれば出力は同じで、速度も同じになるのは当たり前。

アセンブリ言語 - Wikipedia

次に示す機械語は AL レジスタに 01100001 というデータをロードする。
10110000 01100001

このバイナリコードを人間が読みやすいように十六進法で表現すると次のようになる。
B0 61

ここで、B0 は「ALに後続の値をコピーする」ことを意味し、61 は 01100001 を十六進法で表したものである。
インテルのアセンブリ言語では、この種の命令に MOV というニーモニックを割り当てており、
セミコロン以下に説明的コメントを添えたアセンブリ言語での表現は次のようになる。
MOV AL, 61h ; Load AL with 97 decimal (61 hex)

この場合、定数61Hがソース、レジスタALがデスティネーションに該当し、命令が実行されると、定数61Hが、レジスタALに単純に格納される。
これが人間にとってはさらに読みやすく覚えやすい。
431
(1): 425 2013/04/03(水)10:51 AAS
間違えるな。
Emscriptenで変換したコードが速いと言ってない。
JavaScript製Cコンパイラで、C:製Cコンパイラと同じバイナリ(=同じ速度のバイナリ)を作り出せるかだ。
432: 2013/04/03(水)10:52 AAS
真面目にJSでのゲーム開発を議論するスレかとおもいきや、普通の初心者スレになっているとは。
433: 2013/04/03(水)10:53 AAS
>>431
JavaScriptでCと同等の処理が書けるかって話じゃなくて、同等の速度がだせるかって話なんですけど。
434: 2013/04/03(水)10:56 AAS
emscripten はそういうのじゃないとおもうんだ
c->js はかのうかもしれない js->c は範疇外だろう?
435
(2): 2013/04/03(水)10:57 AAS
逆にJavaScriptソースと同等機能を実現するC、アセンブラソースを作り出すことも可能。
JavaScript ⇒ C、アセンブラ ⇒ バイナリ としたらJavaScriptも速く出来る。
436: 2013/04/03(水)10:58 AAS
「この処理系でJSを実行したらCと同等の速度になる」って実例をバーンと出せば
終わる話なのに、できないでいろいろ理屈を言ってることは、やっぱ遅いんだな。
わかりました。
437: 2013/04/03(水)10:59 AAS
ちょっとまてよw
>>401 = >>425 かよ
真面目にレスして損したわ・・・・・・
438: 2013/04/03(水)11:00 AAS
>>435
動的型の言語は単純にCに変換できないでしょ。
439: 2013/04/03(水)11:03 AAS
>>435
>JavaScript ⇒ C
これで作られるCコードを速度まで同等に最適化するのが難しいわけよ
莫大な計算量が必要で現実的じゃない
440
(2): 2013/04/03(水)11:08 AAS
C++からJavaScriptへ変換し、さらにJavaへ移植する話の続き
外部リンク:d.hatena.ne.jp

[GDC 2013]Webブラウザで「Unreal Engine 3」がヌルヌル動く!? ゲームエンジンを5日でHTML5へ移植した驚きの技術とは
外部リンク:www.4gamer.net

モジラ、ブラウザ上でゲーム機並みの3Dゲーム体験を可能にする取り組みなど発表
外部リンク:headlines.yahoo.co.jp

Mozilla、Firefox 22 にブラウザゲームを高速化する「asm.js」を搭載- インターネットコム(2013年3月28日12時00分)
ゲームは、大量のリソースと複雑なコンピューティングを要求するタスク。
このため、ゲームは、ハードウェアの特性にあわせた専用 OS 向けに、ネイティブコードで書かれるのが普通だ。
だが、Mozilla の JavaScript 高速化プロジェクトにより、高いパフォーマンスを持つブラウザゲームの実現が、現実味を帯びてきた。

米国 Mozilla は3月27日、ゲームエンジン「Unreal Engine」を開発した Epic Games と協働していることを発表した。
この共同プロジェクトは、Unreal Engine 向けのゲームを、Web ブラウザ内で動作可能にすることを目指すもの。

「Emscriptem」は C で書かれたコードを、どの Web ブラウザでも動作する JavaScript に書き換えるクロスコンパイラ。
Mozilla CTO であり、JavaScript の開発者でもある Brendan Eich 氏は InternetNews.com に対し、emscriptem を利用すれば、開発者が Web フレンドリーな新しいタイプの開発へ移行することが、より容易になると説明した。
画像リンク

外部リンク:news.infoseek.co.jp
441: 2013/04/03(水)11:09 AAS
ja.wikipedia.org/wiki/%E5%A4%89%E6%8F%9B%E8%A8%80%E8%AA%9E

asm.js もそうだけど 中間言語というかtranspilerかますと
復元できない
復元までふくめるとcoffeeみたいになるし…あれ解釈エンジンは
おなじだからこそparserラクしてる面もあるし
1-
あと 446 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.019s