人気のあるプログラミング言語の比較
彼らはどのように積み上げますか?
ゲッティイメージズ/アーミンガット
1950 年代以来、コンピューター科学者は何千ものプログラミング言語を考案してきました。多くはあいまいで、おそらく博士号取得のために作成されました。論文であり、それ以来聞いたことがありません。他のものは、しばらくの間人気がありましたが、サポートが不足しているため、または特定のコンピューター システムに限定されていたために衰退しました。一部の言語は、既存の言語の変形であり、並列処理 (プログラムの多くの部分を異なるコンピューターで並行して実行する機能) などの新しい機能を追加しています。
についてもっと読む プログラミング言語とは?
プログラミング言語の比較
コンピュータ言語を比較する方法はいくつかありますが、簡単のために、コンパイル方法と抽象化レベルで比較します。
マシンコードへのコンパイル
一部の言語では、プログラムをマシン コード (CPU が直接理解できる命令) に直接変換する必要があります。この変換プロセスは、 コンパイル .アセンブリ言語、C、C++、および Pascal はコンパイル済み言語です。
通訳言語
他の言語は次のいずれかです。 解釈された Basic、Actionscript、Javascript など、または中間言語にコンパイルされる両方の混合物 - これには Java と C# が含まれます。
解釈された言語は実行時に処理されます。すべての行が読み取られ、分析され、実行されます。ループのたびに行を再処理しなければならないことが、インタープリター型言語を非常に遅くしている原因です。このオーバーヘッドは、解釈されたコードがコンパイルされたコードよりも 5 倍から 10 倍遅く実行されることを意味します。 Basic や JavaScript などのインタープリター言語は、最も低速です。それらの利点は、変更後に再コンパイルする必要がないことであり、プログラミングを学ぶときに便利です。
コンパイルされたので プログラム ほとんどの場合、インタープリターよりも高速に実行されます。C や C++ などの言語は、ゲームの作成に最も人気がある傾向があります。 Java と C# は両方とも、非常に効率的なインタープリター言語にコンパイルされます。 Java を解釈する仮想マシンと C# を実行する .NET フレームワークは高度に最適化されているため、これらの言語のアプリケーションは、コンパイルされた C++ と同等ではないにしても、高速であると主張されています。
抽象化のレベル
言語を比較するもう 1 つの方法は、抽象化のレベルです。これは、特定の言語がハードウェアにどれだけ近いかを示します。マシン コードは最下位レベルで、そのすぐ上にアセンブリ言語があります。 C++ は C よりも高度です。これは、C++ の方が抽象度が高いためです。 ジャワ および C# は、バイトコードと呼ばれる中間言語にコンパイルされるため、C++ よりも高くなっています。
言語の比較方法
- |_+_|
- アセンブリ言語
- ハ
- C++
- パスカル
- C#
- ジャワ
- |_+_|
- パール
- PHP
- |_+_|
- JavaScript
- ActionScript
- 基本
マシンコードは、CPU が実行する命令です。 CPU が理解して実行できる唯一のものです。解釈された言語には、と呼ばれるアプリケーションが必要です。 通訳者 プログラムソースコードの各行を読み取り、それを「実行」します。
通訳がより簡単に
インタープリター言語で書かれたアプリケーションは、停止、変更、再実行が非常に簡単で、プログラミングの学習に人気があるのはそのためです。コンパイル段階は必要ありません。コンパイルは非常に遅いプロセスです。大規模な Visual C++ アプリケーションのコンパイルには、再構築する必要のあるコードの量と、メモリと CPU の速度に応じて、数分から数時間かかる場合があります。
コンピュータが最初に登場したとき
1950 年代にコンピューターが初めて普及したとき、プログラムは機械語で書かれていました。他に方法がなかったからです。プログラマーは値を入力するために物理的にスイッチを切り替える必要がありました。これは非常に退屈で時間のかかるアプリケーション作成方法であるため、高レベルのコンピューター言語を作成する必要がありました。
アセンブラー: 実行は速く、書き込みは遅い!
アセンブリ言語はマシン コードの読み取り可能なバージョンで、次のようになります。
|_+_|
アセンブリ言語は、特定の CPU または関連する CPU ファミリに関連付けられているため、移植性が低く、習得と作成に時間がかかります。 C のような言語は、RAM が限られている場合やタイム クリティカルなコードが必要な場合を除いて、アセンブリ言語プログラミングの必要性を減らしました。これは通常、オペレーティング システムの中心部にあるカーネル コードまたはビデオ カード ドライバーにあります。
アセンブリ言語はコードの最下位レベル
アセンブリ言語は非常に低レベルです。ほとんどのコードは、CPU レジスタとメモリの間で値を移動するだけです。給与計算パッケージを作成している場合、A をメモリ ロケーション XYZ に登録するのではなく、給与と税額控除の観点から考えます。これが、C++ などの高水準言語が、C#またジャワより生産的です。プログラマは、ハードウェア ドメイン (レジスタ、メモリ、および命令) ではなく、問題のドメイン (給与、控除、および発生) の観点から考えることができます。
Cによるシステムプログラミング
C は、1970 年代初頭にデニス・リッチーによって考案されました。これは汎用ツールと考えることができます。非常に便利で強力ですが、バグを簡単に通過させてシステムを不安定にする可能性があります。 C は低水準言語であり、移植可能なアセンブリ言語として説明されています。多くのスクリプト言語の構文は C に基づいています。たとえば、 JavaScript 、PHP、および ActionScript。
Perl: Web サイトとユーティリティ
Linux の世界で非常に人気のある Perl は、最初の Web 言語の 1 つであり、今日でも非常に人気があります。 Web 上で「クイック アンド ダーティ」プログラミングを行う場合、他の追随を許さず、多くの Web サイトを駆り立てます。それは幾分影が薄くなった Web スクリプト言語としての PHP .
PHP を使用した Web サイトのコーディング
PHP Web サーバー用の言語として設計され、Linux、Apache、MySql、および PHP または略して LAMP と組み合わせて非常に人気があります。解釈されますが、プリコンパイルされているため、コードはかなり迅速に実行されます。デスクトップ コンピューターで実行できますが、デスクトップ アプリケーションの開発にはあまり使用されていません。 C 構文に基づいて、以下も含まれます。 オブジェクト およびクラス。
Pascal は、C よりも数年前に教育用言語として考案されましたが、文字列とファイルの処理が貧弱で、非常に制限されていました。いくつかのメーカーが言語を拡張しましたが、Borland の Turbo Pascal (Dos 用) と Delphi (Windows 用) が登場するまで、全体的なリーダーはいませんでした。これらは、商用開発に適したものにするのに十分な機能を追加した強力な実装でした。しかし、ボーランドははるかに大きなマイクロソフトと対戦し、戦いに敗れました。
C++: 洗練された言語!
C++ または C プラス クラスは、C から約 10 年後に登場し、オブジェクト指向プログラミングや、例外やテンプレートなどの機能を C に導入することに成功しました。 C++ をすべて学習するのは大変な作業です。C++ は、ここにあるプログラミング言語の中で群を抜いて最も複雑ですが、一度習得すれば、他のどの言語でも問題はありません。
C#: Microsoft の大きな賭け
C#はによって作成されましたデルファイアーキテクトの Anders Hejlsberg 氏は、Microsoft と Delphi の開発者に移った後、Windows フォームなどの機能に慣れ親しんでいます。
C# の構文は Java と非常に似ていますが、Hejlsberg が Microsoft に移った後も J++ に取り組んでいたことを考えると、これは驚くべきことではありません。 C# を学べば、Java の知識を深めることができます。どちらの言語もセミコンパイルされているため、マシン コードにコンパイルする代わりに、バイトコードにコンパイルし (C# は CIL にコンパイルしますが、バイトコードは似ています)、その後解釈されます。
Javascript: ブラウザ内のプログラム
Javascript Java とは異なり、C 構文に基づくスクリプト言語ですが、 オブジェクト 主にブラウザで使用されます。 JavaScript は解釈され、よりはるかに遅い 編集済み コードですが、ブラウザ内でうまく機能します。
Netscape によって発明され、非常に成功したことが証明され、数年間低迷していた後、 AJAX;非同期 Javascript と XML .これにより、ページ全体を再描画することなく、Web ページの一部をサーバーから更新できます。
ActionScript: 派手な言語!
ActionScript は JavaScript の実装ですが、Macromedia Flash アプリケーション内にのみ存在します。ベクターベースのグラフィックスを使用して、主にゲーム、ビデオの再生、その他の視覚効果、および洗練されたユーザー インターフェイスの開発に使用され、すべてブラウザーで実行されます。
初心者のための基本
基本 Beginners All-purpose Symbolic Instruction Code の頭字語で、1960 年代にプログラミングを教えるために作成されました。 Microsoft は、Web サイト用の VBScript を含む多くの異なるバージョンで独自の言語を作成し、非常に成功した ビジュアルベーシック .その最新バージョンは VB.NET であり、これは同じプラットフォームで実行されます 。ネット C# と同様であり、同じ CIL バイトコードを生成します。
二 ガベージ コレクションとコルーチンを含む、C で書かれた無料のスクリプト言語です。 C/C++ とのインターフェイスが良好で、ゲーム業界 (およびゲーム以外の業界) でゲーム ロジック、イベント トリガー、およびゲーム コントロールのスクリプトを作成するために使用されます。
結論
誰もが自分の好きな言語を持っていて、それをプログラミングする方法を学ぶために時間とリソースを費やしてきましたが、適切な言語で最もよく解決できる問題がいくつかあります。
たとえば、Web アプリの作成に C を使用したり、Javascript でオペレーティング システムを作成したりすることはありません。しかし、どの言語を選択しても、それが C、C++、または C# であれば、少なくともそれを学ぶのに適した場所にいることがわかります。