ホームページ  >  記事  >  バックエンド開発  >  php はコンパイル言語ですか、それともインタプリタ言語ですか?

php はコンパイル言語ですか、それともインタプリタ言語ですか?

王林
王林オリジナル
2019-09-20 11:54:344817ブラウズ

php はコンパイル言語ですか、それともインタプリタ言語ですか?

コンパイル言語

特定のプラットフォーム (オペレーティング システム) をターゲットとする特殊なコンパイラ (Windows の Visual Studio と同様) を使用します。 -レベル言語のソース コードは、プラットフォームのハードウェアによって一度に実行される機械語コード (機械語命令とオペランドを含む) に「変換」され、プラットフォームによって認識される実行可能プログラム (.exe) 形式にパッケージ化されます。この変換プロセスは、と呼ばれます。編集。

コンパイルによって生成された実行可能プログラムは、開発環境から分離して、特定のプラットフォーム上で独立して実行できます。一部のプログラムをコンパイルした後、他のコンパイル済みオブジェクト コードをリンクする必要がある場合があります。つまり、2 つ以上のオブジェクト コード モジュールをアセンブルして、最終的な実行可能プログラムを生成します。このようにして、低レベル コードの再利用が実現されます。

コンパイルされた言語コードは、一度コンパイルされ、繰り返し使用されます。つまり、先人は木を植え、子孫はその日陰を楽しんだのです。

C、C、Objective-C などはすべてコンパイル済み言語です。

インタープリタ言語

ソース プログラムは、プログラムの実行前に中間言語にプリコンパイルされ、その後、その中間言語がインタープリタによって実行されます。

インタープリタ型言語のプログラムは実行するたびに一度コンパイルする必要があるため、通常、インタープリタ型言語プログラムの実行効率は低く、インタープリタから独立して実行することはできません。 C#、PHP、Python、Java などはすべてインタープリタ型言語です。

コンパイル言語

利点

1. コンパイル言語の最大の利点の 1 つは、その実行速度です。 C/C で書かれたプログラムは、Java で書かれた同じプログラムよりも 30% ~ 70% 高速に実行されます。

2. コンパイルされたプログラムは、解釈されたプログラムよりもメモリ消費が少なくなります。

欠点

1. 欠点 - コンパイラはインタプリタよりも作成がはるかに困難です

2. コンパイラがプログラムをデバッグするときとても助かりました - C コードで「null ポインター例外」に何度遭遇し、コードのどこにエラーがあるのか​​を理解するのに何時間も費やしたことでしょう。

3. 実行可能なコンパイル済みコードは、同じ解釈されたコードよりもはるかに大きくなります。たとえば、C/C .exe ファイルは、同じ機能を持つ Java .class ファイルよりもはるかに大きくなります。

4. コンパイルされたプログラムはプラットフォーム固有であるため、プラットフォームに依存します。

5. コンパイルされたプログラムは、コード内でのセキュリティの実装をサポートしていません - たとえば、コンパイルされたプログラムはメモリの任意の領域にアクセスし、PC に対して必要なことを何でも行うことができます (ほとんどのウイルスはコンパイルされた言語で書かれています) 。

6. セキュリティとプラットフォームへの依存性が緩いため、コンパイル言語はインターネットまたは Web ベースのアプリケーションの開発には適していません。

インタープリタ言語

利点

1. 優れたデバッグ サポート。 PHP プログラマが「Null Pointer Exception」を見つけて修正するのに数分しかかかりません。これは、PHP 実行環境が例外の性質を示すだけでなく、例外が発生した特定の行番号と関数呼び出しシーケンスも示すためです (有名なスタックトレース情報)。このような利便性はコンパイル言語では提供されません。

2. インタプリタはコンパイラより実装が簡単です

3. 優れたプラットフォーム独立性

4. 高いセキュリティ - これはインターネット アプリケーションに緊急に必要です

5. 中間言語コードのサイズは、コンパイルされた実行可能コードよりもはるかに小さくなります。

欠点

より多くのメモリと CPU リソースを消費します。これは、インタープリタ型言語で記述されたプログラムを実行するには、まず、関連するインタープリタを実行する必要があるためです。インタプリタは複雑でインテリジェントなリソースを大量に消費するプログラムであり、大量の CPU サイクルとメモリを消費します。

実行効率はコンパイルされたプログラムよりもはるかに遅くなります。インタプリタは多くのコードの最適化とランタイム セキュリティ チェックを実行しますが、これらの追加の手順により多くのリソースが消費され、アプリケーションの速度がさらに低下します。

推奨チュートリアル: PHP ビデオ チュートリアル

以上がphp はコンパイル言語ですか、それともインタプリタ言語ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。