1. Java は最も人気のあるプログラミング言語です
Java が世界で最も人気のあるプログラミング言語であることをご存知ですか?
TIOBE ランキングによると、Javaプログラミング言語は、世界中のすべてのプログラマーの17%以上によって使用されています。C が16%で 2 位になります。Java 言語が登場したばかりの 20 年前、誰もが認めるリーダーは C++ でしたが、現在ではそのシェアは 7% 未満です。
Java は 1990 年代半ばに登場し、すぐに人気を博しました。何千人ものプログラマーが C++ から Java に切り替えました。これは、 Java が非常に優れたプログラミング言語であることを改めて裏付けるものです。
では、何がそんなに素晴らしいのでしょうか?作成者はどのような機能を与えたのでしょうか?
Java と C++ を比較すると、非常に驚かれるでしょう。Java は、大幅にトリミングされた C++ に非常に似ています。
はい、Java 言語は、ある程度、大幅に要素を取り除いた C++です。C++ で 20 の方法で何かを実行できる場合、Java では1 つの方法でのみ実行できます。それで、ここの利点は何ですか?
今日のプログラムは非常に大きく、プログラマーは多くの場合、他の人が書いたコードを理解するのに時間の最大 90% を費やします。そして、新しいコードの作成に費やされるのはわずか 10% です。はい、シンプルさは利点です。
2. Javaコンパイラ
ところで、Java の比類のない利点はプラットフォームに依存しないことであるという話を何度も耳にするでしょう。それは何ですか、何のためにあるのですか?最初から始めましょう。
コンピュータは最も単純なコマンドのみを実行できます。
犬を訓練するとき、私たちは「ヒール」、「シェイク」などのコマンドを使用して、犬にさせたいことをさせます。コンピューターの場合、数字はそのようなコマンドの役割を果たします。各コマンドは特定の数字でエンコードされます (マシンコードとも呼ばれます)。
しかし、数字だけを使ってプログラムを書くのは非常に難しいため、人々はプログラミング言語とコンパイラを発明しました。プログラミング言語は、人間とコンパイラの両方が理解できます。コンパイラは、プログラミング言語で書かれたプログラムを一連のマシンコードに変換する特別なプログラムです。
プログラマーは通常、プログラミング言語でプログラムを作成してからコンパイラーを実行します。コンパイラーは、プログラマーが作成したプログラム コード ファイルをマシン コードを含む単一のファイル、つまり最終的な (コンパイルされた) プログラムに変換します。
- C++ でのプログラム
-
コンパイラ
- マシンコードで構成されるプログラム
作成されたプログラムはコンピュータですぐに実行できます。悪いニュースは、最終的なプログラムのコードがプロセッサーとオペレーティング システムに大きく依存していることです。これは、Windows 用にコンパイルされたプログラムは Android スマートフォンでは動作しないことを意味します。
Android用のプログラムを作成した場合、そのプログラムはWindowsオペレーティング システムでは実行できません。
ただし、Java ははるかに革新的なアプローチを使用しています。
- Javaでのプログラム
-
Javaコンパイラ
- 独立した特殊なコード(バイトコード)で構成されるプログラム
-
Java VM
- マシンコードで構成されるプログラム
Java コンパイラは、すべてのクラスを 1 つのマシンコード プログラムにコンパイルするわけではありません。代わりに、すべてのクラスを独立してコンパイルし、さらに、マシンコードではなく特別な中間コード (バイトコード) にコンパイルします。バイトコードは、プログラムの開始時にマシンコードにコンパイルされます。
では、プログラムの実行時に、誰がプログラムをマシンコードにコンパイルするのでしょうか?
これには、Java 仮想マシン (JVM) と呼ばれる特別なプログラムがあります。最初に起動され、次にバイトコードで構成されるプログラムが起動されます。次に、プログラムが実行される前に、JVM はバイトコードをマシンコードにコンパイルします。
これは非常に強力なアプローチであり、Java が完全に支配している理由の 1 つです。
3. Java が優勢な領域
上で説明した利点により、Javaで書かれたプログラムは、コンピュータ、スマートフォン、ATM、トースター、クレジット カードなど、ほぼすべてのデバイスで実行できます。
このアプローチには多くの利点があります。AndroidプログラムもJavaで書かれているのはこのためです。携帯電話業界の急速な成長のおかげで、Java はプログラミングの次の分野を支配しています。
- エンタープライズ: 銀行、企業、投資ファンドなど向けの重いサーバー指向のアプリケーション。
- モバイル: Android によるモバイル開発 (スマートフォン、タブレット)。
- Web : PHP がリードしていますが、Java も市場で確固たるシェアを獲得しています。
- ビッグ データ: 数千のサーバーで構成されるクラスター内の分散コンピューティング。
- スマートデバイス: スマートホーム、電子機器、IoT冷蔵庫などのプログラム。
Javaは単なる言語ではなく、プログラムで使用できる何百万もの既成モジュールのエコシステム全体です。ヘルプやアドバイスが得られる何千ものオンライン コミュニティや掲示板。
Java でプログラムを作成すればするほど、 「なぜ Java?」という質問に対する答えが増えます。。