ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
インストール
ブラウザよりも高速アクセス!
 

プログラミング言語と動的コンパイル

ショートカット: 違い類似点ジャカード類似性係数参考文献

プログラミング言語と動的コンパイルの違い

プログラミング言語 vs. 動的コンパイル

プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。. 動的コンパイル(英: Dynamic compilation)とは、 プログラミング言語の実装で用いられる、プログラムの性能を実行時に向上させるための手法である。この技術はSelf プログラミング言語を起源とており、これを用いる最もよく知られた言語は Java である。動的コンパイルはランタイムにのみ知ることができる情報による最適化を可能にする。 通例動的コンパイルを用いる実行環境は、プログラムを開始後最初の数分間は低速で実行し、その後コンパイルと再コンパイルが完了すると、高速に実行する。このように開始直後パフォーマンスが低いことにより、動的コンパイルが好ましくない状況も存在する。また動的コンパイルの大半の実装では、初回のコンパイル時に実行可能な最適化も実行時に更なるコンパイルが行われるまで遅延させるため、不要にプログラムの動作を遅延させてしまうことがある。ジャストインタイムコンパイル (JITコンパイル) は、動的コンパイルの形態の一つである。 密接な関連のある技術として、増分コンパイルがある。増分コンパイラは、POP-2、POP-11、MaclispなどのLispの一部、またMLプログラミング言語の少なくとも一つのバージョン (Poplog) で用いられている。 増分コンパイルでは、対応するプログラミングのコンパイラが実行時環境の一部となっている必要がある。それゆえ、ソースコードは、端末や、ファイル、あるいは動作中のプログラムによって作成されるデータ構造からいつでも読み取り可能で、機械語コードや関数に変換ができ(同じ関数を置き換えることもできる)、即座にプログラムから利用可能になる。対話的な開発やテストの際のコンパイル速度への要求から、コンパイルされたコードは通常の「バッチ型コンパイラ」ほどの強い最適化は行われない。しかし、増分的にコンパイルされたプログラムは同じプログラムのインタプリタ版よりは高速に動作する。増分コンパイルはインタプリタ言語とコンパイル言語の双方の利点を備えている。移植性をもたらすため、一般的に増分コンパイラの動作は二段階に分かれることが望ましい。最初のコンパイルで何らかのプラットフォーム非依存の中間コードを生成し、次にこれをホストマシンの機械語コードにコンパイルする。上述の動的コンパイルとは異なり、増分コンパイルはプログラムが最初に動作した後に更なる最適化が行われることはない。.

プログラミング言語と動的コンパイル間の類似点

プログラミング言語と動的コンパイルは(ユニオンペディアに)共通で6ものを持っています: 実行時コンパイラコンパイラ英語JavaLISPML (プログラミング言語)

実行時コンパイラ

実行時コンパイラ(じっこうじコンパイラ、、JITコンパイラ、その都度のコンパイラ)とは、ソフトウェアの実行時にコードのコンパイルを行い実行速度の向上を図るコンパイラのこと。通常のコンパイラはソースコード(あるいは中間コード)から対象CPUの機械語への変換を実行前に事前に行い、これをJITと対比して事前コンパイラ (Ahead-Of-Timeコンパイラ、AOTコンパイラ)と呼ぶ。.

プログラミング言語と実行時コンパイラ · 動的コンパイルと実行時コンパイラ · 続きを見る »

コンパイラ

ンパイラ(英:compiler)とは、コンピュータ・プログラミング言語の処理系(言語処理系)の一種で、高水準言語によるソースコードから、機械語に(あるいは、元のプログラムよりも低い水準のコードに)変換するプログラムである。.

コンパイラとプログラミング言語 · コンパイラと動的コンパイル · 続きを見る »

英語

アメリカ英語とイギリス英語は特徴がある 英語(えいご、)は、イ・ヨーロッパ語族のゲルマン語派に属し、イギリス・イングランド地方を発祥とする言語である。.

プログラミング言語と英語 · 動的コンパイルと英語 · 続きを見る »

Java

Java(ジャバ)は、狭義ではプログラミング言語Javaを指す。広義では言語仕様以外にも、仕様が与えられているJavaクラスライブラリやJava仮想マシン、さらにはJDKやJREなどの公式のものをはじめとする、場合によってはサードパーティのものなどを含め曖昧にJavaプラットフォームと総称されるようなものなどのエコシステムなどを指すこともある。構文についてはJavaの文法の記事を参照。.

Javaとプログラミング言語 · Javaと動的コンパイル · 続きを見る »

LISP

LISPは、プログラミング言語である。 によって記述される。-->前置記法などが特徴である。 1958年にはじめて設計されたLISPは、現在広範囲に使用されている高水準プログラミング言語の中でもFORTRANに次いで2番目に古い。ただし、FORTRANと同様に、現在のLISPは初期のものから非常に大きく変化している。 これまでに多数の方言が存在してきたが、今日最も広く知られるLISP方言は、Common LispとSchemeである。 元々、LISPは、アロンゾ・チャーチのラムダ計算表記法に影響を受け、コンピュータープログラムのための実用的かつ数学的な表記法として作られた。そして、すぐに人工知能研究に好まれるプログラミング言語になった。最初期のプログラミング言語として、LISPは計算機科学にて、木構造、ガベージコレクション、動的型付け、条件分岐、高階関数、再帰、セルフホスティング、コンパイラを含む多くのアイディアを切り開いた。 LISPの名前は、「list processor」に由来している。リストはLISPの主要なデータ構造であり、LISPソースコードはそれ自体がリストからできている。その結果、LISPプログラムはソースコードをデータとして操作することができ、プログラマーは、マクロ・システムで新しい構文やLISP埋め込みの新しいDSLを作成できる。 コードとデータの互換性は、LISPにそのすぐに認識できる構文を与える。すべてのプログラム・コードはS式または入れ子のリストとして書かれる。関数呼び出しまたは構文は先頭が関数または演算子の名前で、その続きが引数であるリストとして書かれる。具体的には、3つの引数を取る関数fは、(f arg1 arg2 arg3)として呼び出される。.

LISPとプログラミング言語 · LISPと動的コンパイル · 続きを見る »

ML (プログラミング言語)

ML(えむえる、Meta-Language)は、関数型言語のひとつである。現代風の関数型言語としては歴史が古いほうで、型推論機能などを持つが、デフォルトの評価戦略は遅延評価ではなく先行評価で、書き換えが可能なレコード型を持つなど、いわゆる「純粋関数型」でない特徴や機能を持つ。.

ML (プログラミング言語)とプログラミング言語 · ML (プログラミング言語)と動的コンパイル · 続きを見る »

上記のリストは以下の質問に答えます

プログラミング言語と動的コンパイルの間の比較

動的コンパイルが12を有しているプログラミング言語は、146の関係を有しています。 彼らは一般的な6で持っているように、ジャカード指数は3.80%です = 6 / (146 + 12)。

参考文献

この記事では、プログラミング言語と動的コンパイルとの関係を示しています。情報が抽出された各記事にアクセスするには、次のURLをご覧ください:

ヘイ!私たちは今、Facebook上です! »