Javaは強力で、多様で、拡張可能で、楽しい。Javaがこれほど広く使われている理由と、正しい使い方を紹介します。
Javaは1995年にリリースされ、これを書いている時点で26歳です。当初はプロプライエタリでしたが、2007年にJavaはGPLの下でオープンソースとしてリリースされました。Javaの何が重要なのかを理解するには、Javaがどのような問題を解決すると主張しているのかを理解する必要があります。
Javaがどのような問題を解決するのかを理解する最善の方法は、ソフトウェアを開発することですが、もちろん、開発せずにソフトウェアを使用するだけでも、良いスタートを切ることができます。開発者としては、自分のローカル・コンピュータでうまく動作するソフトウェアを、他のコンピュータで動作するようにデプロイするとき、ソフトウェアが正しく動作しなくなるような奇妙な不具合が発生することがあります。ソフトウェアは正常に動作することが前提ですが、プログラマーなら誰でも、いくつかの問題は常に気づかれないものだと理解しています。別のオペレーティング・システム上でソフトウェアを実行しようとすると、状況はさらに複雑になります。そのため、各ソフトウェアの入手ページには、Windows、macOS、Linux、モバイル、さらには他の多くのOS環境用のダウンロードオプションなど、さまざまなオペレーティングシステム用のダウンロードボタンが用意されています。
もっといい方法はありますか?あるかもしれません。
コードは一度コーディングすれば、どんな環境でも動作します。
驚くべきことに、そして残念なことに、コードはオペレーティング・システムや環境に依存します。コードは、人間に親しみやすい高級プログラミング言語から、CPUが反応するように設計された一連のバイナリ命令である機械語にコンパイルされる必要があります。高度なコンピューティングの世界では、コードを書いて、それを実行したいプラットフォームに送信するだけで、そのプラットフォームがどのようなものであるかを気にすることなく、コードを実行することができない理由を理解するのは難しい。
Javaはこの矛盾を解決します。Javaのコードはクロスプラットフォームで、どのシステム上で実行しても同じ動作をします。Javaがこの偉業を達成する方法は、最初は直感に反するものでした。当初、Javaがこの偉業を達成する方法は直感に反するものでした。 ある時点では、Javaは1台のコンピューターとしか互換性がありませんでした。奇妙なことに、このコンピューターは実際には存在しません。JavaコードのターゲットとなるコンピューターはJava仮想マシンです。これはJavaのクリエイターが書いたプログラムで、思いつく限りのどんなコンピューター・デバイスでも使うことができます。このプログラムがインストールされている限り、あなたが実行するJavaコードはすべて、あなたのコンピュータ上のこの「仮想」コンピュータによって処理されます。JavaコードはJVMによって実行され、JVMは適切なプラットフォーム固有の命令をコンピュータに送るので、どのオペレーティングシステムやアーキテクチャでもすべてが同じように動作します。
もちろん、Javaで使われている方法は、ここでの本当のセールスポイントではありません。ほとんどのユーザーや多くの開発者は、ソフトウェアの互換性がどのように実現されるかを気にしていません。多くの言語がクロスプラットフォーム機能を約束し、たいていの場合その約束は実現されますが、そのプロセスは必ずしも容易ではありません。プログラミング言語はターゲットとするプラットフォーム用にコンパイルする必要があり、スクリプト言語はプラットフォーム固有のインタプリタを必要とします。クロスプラットフォームのサポートは、パス、環境変数、設定の変換を支援するライブラリによって改善されつつあり、多くのフレームワークが周辺機器アクセスのギャップを埋めるために多くのことを行っています。しかし、Javaは常に確実に互換性を提供してきました。
コードワイズ
Javaの構文は最高でも退屈です。Javaで書かれたソースコードを見れば、多かれ少なかれ、すべての具体的なプログラミング表現がわかります。括弧は関数やフロー制御の範囲を示し、変数は明示的に宣言され、使用前にインスタンス化され、式は明確で一貫した構造を持っています。
Javaの学習プロセスでは、独学プログラマーがより構造化されていない言語で、より洗練されたコードを書くように促すことが多いことに気づきました。Javaのオープン・フィールドのスタイルでのグローバル変数の宣言、例外の正しい予測と処理、クラスと関数の使用など、オンラインでソースコードを学習するテクニックからは学べない「基本的な」プログラミングの教訓がたくさんあります。Javaから拝借したちょっとした変更が、大きな違いを生むのです。
足場とサポート
人気のあるプログラミング言語には優れたサポートシステムがあります。それらはすべて、多くのドキュメント、統合開発環境やIDEの拡張機能、サンプルコード、無料・有料のトレーニング、開発者コミュニティを持っています。その一方で、何かをしようとして困ったときに十分なサポートがあるプログラミング言語はないようです。
さらに良いことに、Javaの周りには健全なインフラがあります。 Apache Ant、Gradle 、 Maven ようなツールは、ビルドと配信プロセスの管理に役立ちます。 Sonatype Nexus ようなサービスは、安全なモニタリングに役立ちます。Spring 」や「 Grails 」はウェブ開発を容易にし、「 Quarkus 」や「 Eclipse Che 」はクラウド上での開発を支援します。
OpenJDK 古典的な正式なJavaを提供し、 Groovy スクリプト言語のような簡略化されたアプローチで、 Quarkus コンテナファースト開発のためのフレームワークです。
他にもたくさんありますが、今のところ、Javaは、あなたがJavaに求めているもののための完全なエコシステムである、というだけで十分です。
さらに、学びやすい
Javaは、私にとっても、あらゆる分野の多くの開発者にとっても、スマートなソリューションであることが証明されています。以下は、私がJavaを好んで使う理由の一部です。
Javaは "プロフェッショナル "な言語であり、巨大な官公庁のウェブサイト専用で、"本物の "開発者だけが使うものだと聞いたり推理したりしたことがあるかもしれません。Javaの25年間の評判に騙されてはいけません!Javaはその評判の半分しか怖くない、つまり、他のどの言語よりも怖くないのです。
プログラミングが難しいという事実を避けて通ることはできません。論理に基づいて考え、母国語よりも表現が少ない新しい言語を学び、実行を完了するプログラムを使用して自動化できるように、難しい問題を解決する方法を考えなければなりません。
しかし、プログラミング言語には驚くほどさまざまな学習曲線があります。最初は簡単でも、詳細を調べ始めると複雑になるものもあります。つまり、"hello world "と表示するのは1行のコードで済むかもしれませんが、クラスや関数を学ぶとなると、またその言語を学び直すことになります。Javaは最初からJavaであり、一度学べば、そのトリックや便利な機能の多くを使えるようになります。
要するに、Javaを学んでください!Javaは強力で、汎用性があり、拡張性があり、楽しいものです。最初の10個のプロジェクトを開発するのに必要なすべての基本構文が含まれています Javaは完全に一貫性があり、予測可能だからです。お楽しみください!





