プログラミング言語および開発・実行環境の「Java」は、GoogleのスマートフォンOS「Android」やエッジ(データの発生源)デバイス、IoT(モノのインターネット)用のアプリケーション開発などに広く利用されている。(続きはページの末尾にあります)
AI技術活用を進める上で、アプリケーション開発において「Python」よりも「Java」を採用する企業が多いという調査結果がある。なぜ企業はJavaを選ぶのか。その背景には、企業のIT活用特有の事情がある。
他のプログラミング言語に慣れ親しんでいる開発者の目に、「Java」はどう映るのか。Javaを初めて使ったときに感じる可能性がある、「Python」「JavaScript」との違いと共通点を取り上げる。
Oracleから「Java EE」を譲り受けたEclipse Foundationが、2019年9月にJava EEの互換版「Jakarta EE」をリリースした。その詳細や今後の開発方針を関係者に聞いた。
メインフレームで稼働する「COBOL」のプログラムを「Java」に移行する際、生成AIの活用が効果的だとIBMは説明する。具体的にはどういったツールを使うことになるのか。事例と共に紹介する。
2023年1月、Oracleは「Java SE」のライセンス体系を変更することを発表した。これによって、一部の企業で従来よりも多くのライセンス料が発生することをGartnerは懸念している。どの程度変わるのか。
「Java」をこれからでも学びたくなる理由は、以前よりも習得しやすくなったことにあるという。どのようにやさしくなったのか。
ARM64アーキテクチャの台頭により、従来の主流だったx86サーバの一強状態は崩れる可能性がある。その状況下で、プログラミング言語「Java」が注目を集める理由とは。
初心者がプログラミングを楽しみながら学ぶには、ゲームを題材にすることが有効だ。「Java」を使った「三目並べゲーム」の開発を通じて、Javaプログラミングを学ぼう。
優秀なプログラミング言語の一つに「Java」があるが、どのタスクにも適するわけではない。Javaと他の言語との比較を通して、適切なプログラミング言語を選ぶヒントを解説する。
動作するソースコードを記述できても、それが“優れたソースコード”とは限らない。「三目並べゲーム」のソースコードを例に、プログラムの品質を高める観点を解説する。
Javaアプリケーションを利用する企業にとって、「Oracle JDK」のライセンス体系の変更は悩ましい問題だ。他の「OpenJDK」ディストリビューションに移行するための方法とは。
Oracleの「Java SE」のライセンス体系が変わり、他の「OpenJDK」ディストリビューションに移行する選択肢が生じた。どのようにしてJDKを切り替えればよいのか。
「Java」を学んだ人でも、必ず開発職になる必要はない。有識者の経験談を交えながら、Java学習者が選び得るさまざまな進路の可能性を紹介する。
Oracleの方針転換によって「Java」の料金が増えたことを受け、企業は代替製品への移行を検討し始めている。移行が加速する背景と、移行がスムーズに進みづらい要因を解説する。
Oracleが「Java SE」のライセンス体系を刷新した。これに対してGartnerは「利用料が大幅に増額する可能性がある」と警告する。Oracleの戦略をGartnerはどう分析するのか。
パンデミックを経て活気を取り戻したコミュニティーは、「Java」をこれから学ぼうとする開発者にとって心強い存在だ。具体的にどのような交流の場があるのか。そして、なぜ「今こそJava」なのか。
Javaはプログラミング言語「C++」に似た使用感の、オブジェクト指向のプログラミング言語だ。Javaを使えば、1台のPCで実行するアプリケーションだけではなく、ネットワーク内の複数のサーバとクライアントデバイスでデータを分散処理するアプリケーションも開発できる。Webページの構成要素となる小さなアプリケーション「アプレット」の開発にも使用可能だ。
主にJavaには、以下の5つの特徴がある。
Javaは実行環境として「Java仮想マシン」(JVM)を利用する。JVMは、Javaソースコードを「バイトコード」という中間プログラムに変換する。バイトコードは、JVMをインストールしたインフラであれば、サーバとクライアントデバイスを問わず実行可能だ。JVMは、バイトコードをインストール先のOSで実行可能なプログラムに変換する。
プログラミング言語「COBOL」やC++はJavaとは違い、ソースコードをOS固有のバイナリファイルに変換する。そのためMicrosoftのクライアントOS「Windows」を搭載するPC向けに開発したプログラムは、Appleのクライアントデバイス「Mac」や、オープンソースOS「Linux」搭載のサーバ、IBM製メインフレームでは基本的に実行できない。
オブジェクト指向プログラミングとは、プログラムを「オブジェクト」という小さな単位に分割し、オブジェクト同士の関係を定義しながら開発を進める手法だ。Javaはオブジェクト指向プログラミングのためのプログラミング言語として構築されている。
同じオブジェクト指向プログラミング言語であるC++とは違い、Javaでは、メモリのアドレスを直接指定する「ポインタ」によるデータの操作はできない。ポインタによるデータ操作は、しばしばプログラムがクラッシュする原因になる。
Javaのバイトコードは、人は容易に判読できない。Javaにはプログラムをサンドボックス(隔離環境)内で実行する仕組みがあり、プログラムの意図しない変更を防ぐ。こうした工夫により、Javaはプログラムの安全性を確保している。
C++に似た構文を持つJavaは、特にプログラミング言語「C」の知識がある開発者にとって、比較的習得が容易だ。
Javaと名前がよく似たプログラミング言語に、スクリプト言語の「JavaScript」がある。JavaとJavaScriptに関連性があるというのはよくある誤解だ。JavaとJavaScriptの構文は似ているものの、適した用途や動作環境が異なる。