コンピューター, ソフトウェア
コンパイラは何ですか - 説明
あなただけのプログラミングや問題でちょうど興味を学ぶために始めている場合は、おそらく言葉「コンパイラ」に神秘的な目に遭遇します。 この一見恐ろしい考え方は人を怖がらせることが可能です。 この記事では、すべてがひどいかどうかを確認しようとします。 コンパイラは何ですか?
発生の定義と歴史
簡単な言葉では、コンパイラは、コンピュータ上の実装に適しているいくつかの形式で、ユーザによって書かれたプログラムのテキストを変換するプログラムです。
このようなプログラムは、一緒に最初のプログラミング言語の誕生と、ありました。 これは50年代後半に起こりました。 これは、コンパイラやプログラミング言語に関連付けられている話は、戻って半年以上十年を行くことが判明しました。 こうした深刻な用語にもかかわらず、いずれの場合も、コンピュータサイエンスのこの傾向は、日付や定住の外に考えることはできません。 逆に、時間の経過とともに、コンピュータが使用されているため、新たな産業やタスクの出現で、新しい、よりユーザーフレンドリーなプログラミング言語を開発する必要があります。 したがって、これらの言語のコンパイラを必要としていました。 Windows、Linux、MacOSのは - プラットフォームごとに独自のデザインをしています。
動作原理
高レベルの言語の開発者によって書かれたソースコードは特別な機械語でプログラムに変換されます。 得られたコードは、実行可能プログラムと呼ばれています。 これは、任意のより多くの変更を加えることなく、インストールされ、任意のコンピュータ上で実行することができます。
シンプルな、しかし難しいです
伝統的に、コンピュータサイエンスのコンパイラは、オペレーティングシステムやデータベースと共通の基本的なものの一つです。 コンパイラは何ですか? それはある意味で、コンピュータ科学の基礎です。
別の観点からは、このようなプログラムを作成するのは非常にトピックが、プログラミングに関連する理論的および技術的側面の多数を必要とします。 多くの開発者は、このトピックは、一般的に、科学の全体の中で最も魅力的であると信じています。 プログラマは、いくつかの問題を解決するプログラムを開発するとき、彼は特定の言語でそれを書きました。 開発プロセスの間に、彼は我々が対処する必要があり、そこから正確な地域に近いという点で話します。 コンピュータは、彼が人々に伝えるかを理解しません。 数字のみと変数セルやレジスタ、恒久的かつ一時的なメモリを含む非常に単純なもの、に見つけることができます。 コンパイラは何ですか? 翻訳に近い概念-これは、そのタスクのプログラムである 被写体領域 のコンピュータを操作することができるコンセプトで開発。
これは、Javaコンパイラまたは他のプログラミング言語に関わる課題です。 新しい言語の各出現は、コンピュータが理解できる形で、その上に書かれたコードを転送する必要があります。 そうでなければ、彼は実行されませんでした。 結局のところ、人間とコンピュータの概念間の意味的なギャップが常にあります。 それは、それを克服することであり、プログラミング言語コンパイラです。
作りの難しさ
これらのプログラムの作成者は、さまざまな問題に直面しています。 アプリケーションドメインの概念の正しいマッピングに関連付けられているこの科学的な問題。 この表示の実施に関連し、このエンジニアリングと技術的な問題。
コンパイラのタスクを作成することは、異なる複数のサブタスクで構成されています。 これは、多くのプログラマに命を捧げる難しいが、非常にエキサイティングな業界です。 そして、後悔していません。
クラスとコンパイラ
おそらく、多くは、CやC ++などの言語を聞いたことがあります。 結局のところ、彼らは最も人気のある一般的なの一つです。 これにより、開発者は働いている応用分野の概念を示すしやすい強力な概念を含む、非常に深刻なプログラミング言語です。 たとえば、クラスや関数の概念があります。 彼らは多くの言語のために不可欠ですが、C ++のために特に特徴的なものです。
このような概念の助けを借りて、モデルを作成する方がはるかに簡単プログラマー。 コンパイラ Windows用のC または任意の他のオペレーティングシステムは、コンピュータが理解できる形でこれらの高レベルのものを表示することができます。 そうして彼は、それらを操作することができるようになります。
任意のコンピュータは、どんなに強力で複雑なことはなかったどちらも、非常にシンプルなコンセプトで動作します。 それは非常に便利な現実の生活から多くのことを表示するようにしているのでしかし、クラスの概念は、困難です。 コンパイラは、原始的で複雑な概念を変換します。
仕事としてデザインコンパイラ
近年では、情報技術に関連するすべての大企業は、その後、開発者の広範な大衆に移動し、独自のプログラミング言語を生成する傾向があります。
もちろん、各言語用のコンパイラが必要です。 そして同社は、原則として、舌でそれらを提供します。 しかし、一つの理由または別の言語用の独自のコンパイラを持ちたいか、彼らは、このように彼らのためにコンパイラを新しい言語を開発し、独立したプログラマーや企業も多数あります。 私たちは自信を持ってこの分野に身を捧げてきた専門家は、確かな作業をせずに残っていないと言うことができます。
だから、今ではどのようなコンパイラ明確でなければなりません。 これは、どこでもコンピュータサイエンスの分野であることなく、開発者とコンピュータとの間でプログラム・翻訳者、です。
Similar articles
Trending Now