アカウント名:
パスワード:
Flashみたいなもの?
Javaみたいなものだよ。また一歩javascriptがJavaに近づいたな。
もうちょっと詳しく言うとJavaバイトコードみたいなものだな。
一般的には中間言語方式のコンパイラ・インタープリタですかね.
古くはUCSD pSystem [wikipedia.org]とか, FIG FORTH [forth.org], それにMS-BASICあたりから続く方法ですね.
多くの中間言語インタープリタがスタックマシン [wikipedia.org]モデルで実装されていたりするんだけど, 今回のはどんな構造なんだろう?
今回もスタックマシンですCやC++で書かれたプログラムをwebassemblyにコンパイルするのが最初の目標ですemscriptenで普通のjavascriptやasm.jsにコンパイルするのはやっぱり強引だったということでしょう
中間言語としてはスタックマシンではなく AST を保っているはず。ASTのエンコーディングがスタックマシンになっているだけで。
FIG FORTHの実装って中間言語だったのか・・・
30年以上前に移植したことがあるんですが, スタックマシンを構築するプリミティブなワードと中間言語を処理する内部インタプリタ, そしてOS/BIOSを直接叩くIO部分だけはアセンブラで組む必要がありますが, それ以外は基本的にワード定義の並びのままワードへのポインタ(相対アドレスだったかも)がリストになっています. この様な構造のため, 最小限の手間で多くのCPU/動作環境に移植できたわけですね. CPU/動作環境が雑多で, ハードウェアの制限が多かった1970年台末から1980年台初頭らしい作りです.
ただこうした構造から, 動作速度, 特にFORTHらしい多重のワード呼び出しはオーバーヘッドが大きくてかなり遅く, 当時の8bit CPUでは実用にはかなり厳しい状態でした. 速度が問題になる部分はアセンブラでワードを組んで, それをFORTHプログラムから呼び出すという感じですね.
threaded codeというやつですなhttps://en.wikipedia.org/wiki/Threaded_code [wikipedia.org]fig forthはdirect threadingタイプ
JavaApplet再びなのかとおもってしまったおっさん
ただのFlashじゃないぞ。Flash、JavaApplet、ActiveX、Unity、Silverlightといった先行ライバル技術を首尾よく排除することに成功したWeb業界が、満を持して開発した「おれのかんがえたさいきょうのFlash」だぞ。伏して拝領しろ。
JavaAppletは無関係に衰退したしSilverlightはわりと自滅だしFlashはまだまだ普通に使われてるしActiveXはWindowsの骨組みだしUnityに至ってはわが世の春じゃねーか。
三者闘争には直接関与せず、一者独走になった時点で脆弱性につけこんでしれっと成り代わった普みたいなもんか。
名前が上がっているのと WebAssembly の何が一番違うかというと、インサイダーである各ブラウザベンダ4者が参加して作ってるところかな。端的にいうとアドオンや拡張がいらないってことだけど。
脆弱性や非互換性も4倍、独自仕様で内ゲバ分裂の未来ですね
将来性ないってこと?
マジな話、何で同じこと繰り返すんだこいつらって思ってしまう。
今度のはさいきょう(母体組織的な意味で)だから結構もつだろきっとしらんけど。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson
結局のところ (スコア:0)
Flashみたいなもの?
Re: (スコア:0)
Javaみたいなものだよ。
また一歩javascriptがJavaに近づいたな。
Re: (スコア:0)
もうちょっと詳しく言うとJavaバイトコードみたいなものだな。
Re:結局のところ (スコア:1)
一般的には中間言語方式のコンパイラ・インタープリタですかね.
古くはUCSD pSystem [wikipedia.org]とか, FIG FORTH [forth.org], それにMS-BASICあたりから続く方法ですね.
多くの中間言語インタープリタがスタックマシン [wikipedia.org]モデルで実装されていたりするんだけど, 今回のはどんな構造なんだろう?
Re:結局のところ (スコア:2, 興味深い)
今回もスタックマシンです
CやC++で書かれたプログラムをwebassemblyにコンパイルするのが最初の目標です
emscriptenで普通のjavascriptやasm.jsにコンパイルするのはやっぱり強引だったということでしょう
Re: (スコア:0)
中間言語としてはスタックマシンではなく AST を保っているはず。
ASTのエンコーディングがスタックマシンになっているだけで。
Re: (スコア:0)
FIG FORTHの実装って中間言語だったのか・・・
Re:結局のところ (スコア:1)
30年以上前に移植したことがあるんですが, スタックマシンを構築するプリミティブなワードと中間言語を処理する内部インタプリタ, そしてOS/BIOSを直接叩くIO部分だけはアセンブラで組む必要がありますが, それ以外は基本的にワード定義の並びのままワードへのポインタ(相対アドレスだったかも)がリストになっています. この様な構造のため, 最小限の手間で多くのCPU/動作環境に移植できたわけですね. CPU/動作環境が雑多で, ハードウェアの制限が多かった1970年台末から1980年台初頭らしい作りです.
ただこうした構造から, 動作速度, 特にFORTHらしい多重のワード呼び出しはオーバーヘッドが大きくてかなり遅く, 当時の8bit CPUでは実用にはかなり厳しい状態でした. 速度が問題になる部分はアセンブラでワードを組んで, それをFORTHプログラムから呼び出すという感じですね.
Re: (スコア:0)
threaded codeというやつですな
https://en.wikipedia.org/wiki/Threaded_code [wikipedia.org]
fig forthはdirect threadingタイプ
Re: (スコア:0)
JavaApplet再びなのかとおもってしまったおっさん
Re: (スコア:0)
ただのFlashじゃないぞ。
Flash、JavaApplet、ActiveX、Unity、Silverlightといった先行ライバル技術を首尾よく排除することに成功したWeb業界が、
満を持して開発した「おれのかんがえたさいきょうのFlash」だぞ。
伏して拝領しろ。
Re: (スコア:0)
JavaAppletは無関係に衰退したし
Silverlightはわりと自滅だし
Flashはまだまだ普通に使われてるし
ActiveXはWindowsの骨組みだし
Unityに至ってはわが世の春じゃねーか。
Re: (スコア:0)
三者闘争には直接関与せず、一者独走になった時点で脆弱性につけこんでしれっと成り代わった普みたいなもんか。
Re: (スコア:0)
名前が上がっているのと WebAssembly の何が一番違うかというと、
インサイダーである各ブラウザベンダ4者が参加して作ってるところかな。
端的にいうとアドオンや拡張がいらないってことだけど。
Re: (スコア:0)
脆弱性や非互換性も4倍、独自仕様で内ゲバ分裂の未来ですね
Re: (スコア:0)
将来性ないってこと?
マジな話、何で同じこと繰り返すんだこいつらって思ってしまう。
Web業界は弱肉強食 (スコア:0)
今度のはさいきょう(母体組織的な意味で)だから結構もつだろきっとしらんけど。