No.2ベストアンサー
- 回答日時:
究極には「設計者がそれがいいと考えたから」なんですが。
テキストのソースを解釈する、という作業は、どんな言語でも必ず行ってます。そこに書かれている単語が変数なのか関数なのか只の間違いか、括弧の対応がどうなっていて、実行順序はどうすればいいのか、といったことです。
このときに、処理しやすいように内部で独自のデータ形式にするのが一般的です。これが「中間コード」「中間言語」になります。
生成された中間コードをさらの処理していくことでプログラムを実行します。
中間言語をそのまま実行するための処理系を使うものもありますし、そのような処理系も持たずに機械語で単独に動かせる状態にまで変換するものもあります。
中間コードを外部に出力するか/内部処理だけに使うか、は、その言語の設計思想によるものであって、出力しないなら作らなくてよい、というものでもありません。
これらを、どのタイミングでどこまで行うか、ですが
・実行時に1命令ずつ
・実行時に最初にまとめて
・実行前に予め中間形式まで/実行時には行わない
・実行前に予め最終形式まで/実行時には行わない
等があり、下へいくほど実行時の効率はよくなりますが、準備にかかるコストや実行時の制限やリスクが大きくなります。
で、PHPは、手軽さと効率/リスクのバランスを考えて
・スクリプトのまま実行する
・効率を考えて、最初にまとめて中間コードに変換
・中間コードをそのまま実行できる処理系を用意
・中間コードは出力しない
というのがよい、と開発時に決めたのでしょう。
この回答へのお礼
お礼日時:2011/04/11 00:48
なるほど。もやもやしていましたが、理解できました。。
いろいろネット上を調べてみたのですが、よくわからなくて困っていました。ありがとうございます。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 作詞・作曲 【作曲で大事なこととは?】 作曲において重要なのって、音楽理論や楽典の知識もそうですが、ジャンルとそ 7 2023/04/09 04:46
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- Excel(エクセル) エクセルVBA 作業後に選択範囲を解除する方法 5 2023/02/17 07:13
- IT・エンジニアリング プログラマーの仕事量について 3 2023/01/04 23:25
- 教育・学術・研究 情報系の学部で卒業研究中の大学四回生です。 現在、卒業研究中なのですが不安に感じることがあるので質問 2 2022/09/09 00:19
- Excel(エクセル) エクセルのマクロについて教えてください。 7 2023/01/13 13:33
- 作詞・作曲 或る曲の楽譜のコード進行の中に"F onA"なるものがありました。これはどんな和音ですか? 7 2023/05/22 00:34
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- 作詞・作曲 作曲家を目指して音楽理論の勉強をしていますが、あと何をすれば良いのかわからなくなりました。 楽典・実 6 2023/04/27 19:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
query、prepare、executeの違い
-
シェルスクリプトをPHPで動かそ...
-
phpからエクセルのマクロを実行...
-
copy() で属性保存
-
php実行中に実行中のphpファイ...
-
PHPでUNIXシステムコマンド...
-
eclipseのlocalhostの設定について
-
【PHP】命令は記述順に処理...
-
Switch文における、returnとbre...
-
PHPからCプログラムを実行して...
-
mysql複数レコードをまとめて削...
-
PHP フォルダ名やファイル名に0...
-
PHPのWARNINGをcatchするには
-
フォントの色を変えるには?
-
phpでPEAR::DBを使っているので...
-
別ファイルの変数を呼び出した...
-
onedrive にexcelファイルをア...
-
PHPのif文でその処理を途中で抜...
-
バッチを用いたフォルダの自動移動
-
現在位置より2つ上のディレク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
mysql複数レコードをまとめて削...
-
php実行中に実行中のphpファイ...
-
phpからエクセルのマクロを実行...
-
ヒアドキュメントの中で演算子...
-
PHPからバッチファイルの実行
-
【PHP】命令は記述順に処理...
-
シェルスクリプトをPHPで動かそ...
-
Switch文における、returnとbre...
-
httpdのプロセスが自動で消えな...
-
copy() で属性保存
-
Prompt入力値をphp変数として取...
-
JSのWINOW.CONFI...
-
htmlでsubmitで指定したAction...
-
unix(freebsd)でmysqldumpコマ...
-
PHPのsystem()でjava
-
別サーバのプログラムを起動
-
PHPでコマンドプロンプトを実行...
-
社内LANで複数台のPCからApache...
-
PHPからCプログラムを実行して...
-
PHPで、C#のプログラムを実行す...
おすすめ情報