Java
じゃば
1990年代に当時のサン・マイクロシステムズによって開発されたオブジェクト指向のプログラミング言語である。C言語やその拡張言語であるObjective-C、派生言語のC++の強い影響を受けている。
「Java VM」という仮想マシン用のバイトコードを生成し、マシンごとにあった実行コードを生成するため移植性が非常に高い。
Java VMの実行環境であるJava Runtime Environment (JRE) は現在主流のOSのほとんどに実装されており、家電製品から大規模なサーバまで、適用範囲が非常に広い。ただし、一部のプラットフォームにしかない機能は、他の機種では使えないので全ての環境で同じJavaプログラムが動くわけではない。2000年代以降、最も広く使われているプログラミング言語である。
また、他の言語でも「Java VM」用のバイトコードを生成すればJavaプラットフォーム上で動かすことが可能である。例えばJava用のRubyの実行環境であるJRubyとか。
なお、名前が似ているJavaScriptはJavaの派生言語ではなく、全くの別物である。
サーバーサイド
2000年代にIBMが経営資源を投入したことを契機に、Javaサーブレット技術によるサーバーサイドのJavaプログラミングが非常に多く使われるようになった。大規模なWeb環境で用いられることが多く、負荷に強い。
デスクトップアプリケーション
当初喧伝されたほど流行らなかったが、今でもたまに見かける。Java8になり、JavaFXというライブラリを使ったアプリケーションがデフォルトでJREで動かせるようになった。
組み込み
C言語やC++に替わる機器制御用言語としても広がっている。元が家電の制御用であるので適性は高い。移植性の高さと、セキュリティが高いのがメリットである。組み込みシステム自体もかつてに比べはるかに高性能化しているので、2010年代に入ってからはネイティブコードへのコンパイルをせず、Java VMを介して動作させることも増えつつある。ただ、メモリ管理を楽にするため言語仕様に組み込まれたガベージコレクション(GC)が悩みの種で、JAVAを使った開発ではGC周りのチューニングに手間をとられるという本末転倒な事態もよくある。
過去の用途
クライアントサイド
Webブラウザにプラグインを導入することで、アプレットと呼ばれるブラウザ上で動くプログラムを実行できた。登場した1990年代にはリッチインターネットアプリケーションを実現する画期的な技術として注目されたが、当時はインターネット環境とJava VM自体の双方が成熟しておらず動作が非常に遅く、後発のShockwaveやFlashの台頭もあって広まらず。
Javaアプレット自体は2018年にその役割を終えて開発キットから除外された。競合技術のFlashを含め、2014年に勧告されたオープン技術であるHTML5で完全代替できるために、既にほとんどのブラウザでもサポートが打ち切られていた。
関連記事
親記事
子記事
兄弟記事
コメント
pixivに投稿されたイラスト
すべて見るpixivに投稿された小説
すべて見るJavaでBound_Boxを作ってみた。
バッファ処理は施していませんww。(チラつきひどくなる) あと謎の縛り付きでやってたんで効率の悪い処理やってるとこあるかと思いますw。因みにJava歴は2年目です。1,207文字pixiv小説作品private boolean isLove () {
社内サーバー内の個人フォルダ。 その中に見覚えのないテキストファイルがあった。タイトルは「開けてみて.txt」。彼女は開けた。3,391文字pixiv小説作品- プログラミング劣等生のぼちぼち成長日記
劣プロ!!立て方=1=!!~Java~
プログラミング劣等生の少女。そんな少女が少しずつプログラミングが出来るようになっていく。ほのぼの成長日記。810文字pixiv小説作品 マルチメディア工学の宿題
冬休みの宿題という奴で、文章をハフマン符号化しなさいよんということになったので、夕方ごろからプログラミング。十時過ぎにできたのですが、これに時間とられて今日は小説書きだすのが遅れてしまいました。今から書きます。// 急いでやったのでハフマン符号化の伝統的なコーディング手法とかは探せず、適当にやっつけ仕事してしまいました。他にも色々と汚いけれど申し訳ない。// 対象としているのがアルファベットのみなので、8bitで元のデータ量を計算してるので、圧縮率は低めです。まぁ、一応文章が復元できてる感じなのでよしとしてください。25,442文字pixiv小説作品