問題タブ [interpreted-language]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - すべての実装がバイトコードにコンパイルされている場合、Ruby は本当にインタープリター言語なのでしょうか?
Blue Ruby に関するこの質問に対する選択された回答で、Chuck は次のように述べています。
現在の Ruby 実装はすべてバイトコードにコンパイルされます。SAP の主張に反して、Ruby 1.9 の時点で、MRI 自体にバイトコード コンパイラが含まれていますが、コンパイルされたバイトコードをディスクに保存する機能は、YARV 仮想マシンをマージするプロセスのどこかで消えてしまいました。JRuby は Java .class ファイルにコンパイルされます。私は MagLev についてあまり詳細を知りませんが、それもその道をたどると言っても過言ではありません。
Ruby に関するこのコンパイル/解釈の問題について混乱しています。
Ruby はインタープリター型言語であることを知りました。そのため、Ruby ファイルに変更を保存するときに、プロジェクトを再構築する必要はありません。
しかし、Ruby の実装がすべてコンパイルされたとしても、Ruby はインタープリター型言語であると言えるのでしょうか? それとも私は何かを誤解していますか?
c++ - C ++を解釈して実行しますか?
C++ コードをコンパイルではなく解釈して実行する方法はありますか? その場でコードを編集して関数を書くことができますか?
関連している:
bytecode - 解釈された言語のコードは、行に到達するたびに再解釈されますか?
Ruby、Perl、PHPのように、プログラムに対してバイトコードが生成されないとします。この場合、実行が1行目に達するたびに、以下の1行目が再解釈されますか?
つまり、ループが100,000回実行された場合、その行は100,000回再解釈されますか?
もしそうなら、バイトコードの作成は、プログラムの最初の起動だけでなく、実行中も役立ちますか?(コードを再度解釈する必要がないため)
html - HTML/JavaScript/CSS がコンパイルされた言語ではないのはなぜですか?
HTML/JavaScript/CSS がコンパイル済み言語にならないのはなぜですか (または、単一のコンパイル済み言語に統合される可能性さえあります)? ブラウザが「ブラウザ仮想マシン」を実行していて、html/javascript/css ソースを「ブラウザ バイトコード」にコンパイルできるとしたらどうでしょう。開発者とユーザーにとって大きな助けになると思いませんか?
いくつかの課題があります。
無数の既存のページをどうするか? このコンパイルをオプションにして、必要に応じてプレーンな古い html を使用できます。コンパイルされたページをブラウザーに送りたい場合は、たとえば .chtml を使用してください。
検索プロバイダーはどのようにページをインデックスに登録しますか? バイトコードを正確な元のソースに逆コンパイルする逆コンパイラを作成します (たとえば、フラッシュを逆コンパイルできます)。または、検索プロバイダーは同じ仮想マシンを使用して、そこから必要なデータを取得できます。
すべてのブラウザと互換性を持たせるにはどうすればよいですか? この仮想マシンを開発する集中開発者 (w3c としましょう) が 1 人いると、各ブラウザーがそれを埋め込みます。
しかし、利点はどうですか:
- スピード。
- サイズ。
- 「ルーズ」で「半分正しい」html はもう必要ありません。正しいか、コンパイルされません。
- すべての (サポートされている) ブラウザーで同じように見えます。
バイトコードでない場合は、少なくともネイティブ圧縮が行われているため、html はおそらく最も効率的なデータ格納方法ではありません。gzip があることは知っていますが、一度圧縮してブラウザーにフィードできるのに、サーバーで毎回ページを圧縮し、ブラウザーで解凍するのはなぜですか?
では、私たちがこの道を歩むのを妨げているものは何でしょう?
svn - コンパイルされていない言語で Subversion を使用するには?
スクリプト ベースの開発システムで Subversion を使用したいと考えており、通常の状況 (C#/.NET) とは異なる方法を考えていました。
リビジョンの変更追跡と比較と同様に、通常の日々の更新/コミット サイクルは正常に機能します。アドバイスが欲しいのは、展開の処理に関するものです。
このスクリプト システムでは、明確なビルド手順は必要ありません。代わりに、デプロイには、選択したスクリプトをホスト アプリケーションに直接アップロードすることが含まれます。
スクリプトへの変更は、必ずしも次のリリースに含まれるとは限りません。それ以降のリリースまたはその次のリリースに予定されている場合があります。
理想的な世界では、テストが完了したら、特定のリリース、たとえば「2009 年 9 月」のリリースにスクリプトを割り当て、そのリリースのすべてのスクリプトを 1 つのコマンドで引き出すことができるようにしたいと考えています。
アップデート
私が知る限り、タグも ChangeLists も答えにはなりません。
ChangeList は永続的ではなく (リポジトリには存在しません)、後でレビューできるソリューションが必要です。
タグは実質的にブランチと同じです。タグにはデフォルトですべてのファイルが含まれており、リビジョンを選択するだけです。
必要に応じて特定のファイル リビジョンを配置できる空のブランチから開始するアプローチを期待しています。
更新 2
他のツールの機能を使用してこの状況に対処する方法を示す 2 つの例。これらのツールを宣伝しようとしているわけではないことに注意してください。Subversion を使用したいので、方法を見つけようとしているだけです。
QVCSを使用すると、ファイルの特定のリビジョンにラベルを適用することで、目的の結果を得ることができます。そのラベルはそのまま残り、そのファイルのそのリビジョンに添付されます。いつでも空のディレクトリにクリーン チェックアウトを実行し、指定したラベルの付いたファイルのみをコピーするように指定できます。
同様に、StarTeamでは、ファイル リビジョンにラベルを適用し、そのラベルが付いたファイルのみをチェックアウトできます。
php - Webサイトのインタプリタ言語とコンパイル言語(PHP、ASP、Perl、Pythonなど)
私はデータベース駆動型のWebサイトを構築しています。以前は、MySQLでPerlまたはPHPを使用していました。
今、私は大きな新しいプロジェクトを開始しています。可能な限り最も応答性の高いサイトになるような方法でそれを実行したいと思います。
PHPを最適化する方法についての質問が、「PHPはインタプリタ言語であり、それほど大きな違いはないので、PHPを最適化するために長い時間を費やす価値はない」という質問が、ここでいくつか見られます。
また、コンパイル言語とインタプリタ言語の利点についてさまざまな議論(特にSOポッドキャストで)を聞いたことがありますが、インタプリタ言語の代わりにコンパイル言語を使用してサイトを提供することは私の利益になるようです。
これはWebコンテキストでも可能ですか?もしそうなら、合理的な言語の選択は何でしょうか?
速度に加えて、私が予想する1つの利点は、Webサイトをデバッグする代わりに、コンパイル時にバグを見つけることができることです。これは期待するのに合理的ですか?
programming-languages - インタープリター言語の長所と短所は何ですか?
現在Perlを勉強中です。インタープリター言語の長所と短所は何ですか?
r - R は解釈された、またはコンパイルされたプログラミング言語ですか?
R は解釈された、またはコンパイルされたプログラミング言語ですか?
performance - 通訳言語が遅いのはなぜですか?
インタープリター言語の長所と短所について読んでいましたが、最も一般的な短所の 1 つは遅いことですが、インタープリター言語のプログラムはなぜ遅いのでしょうか?