Javaとは
プログラミング言語の1つです。
役立つサイトはマニュアルに移動しました。
用語
正直分かりづらいのですが、以下のように使うのがいいのかなと。
- Java: プログラミング言語としてのJavaについて語るとき
- Java SE / Java EE: JavaのAPIについて語るとき
- Java 8という書き方をすることもありますが、SE/EEは明らかに違うので、分けたほうがいいですね。
- JDK / JRE: 配布されるJava開発キット、ランタイムについて語るとき。
公式で「Java SE 9 (JDK 9)」という言い方をしているので1、 そこまで厳密に使い分けなくていいかなという気もしますが。。。
バージョンごとの改良
基本的には文法など、通常のプログラムで意識するところを書きます。
- Java 10
- Java 10新機能まとめ - Qiita
- ローカル変数の型推論
Java SE 9以降のサポートはどうなるか?
Java 9以上も無償で使用可能です。
以下は少し前の情報です。
これのQ7が参考になると思います。
ざっくり言うと、Java 6と7で起こったように、 Oracleがサポートしなくなったあとも新しいバージョンから 変更をバックポートすることで、サポートし続けるかもしれない(may)し、 その場合はメンテナの移行についてOracleはサポートするとのこと。
他社のことなので断言した言い方はしてないようですが、 以下のスレッドやこれまでの実績を見る限り、LTS版(Java SE 11)は長期サポート、 それ以外はcriticalなもののみ入れそうな感じですね。
昔はJava嫌いだった
Javaを知ったのは大学生の頃、おそらく1996〜2000年ですが、当時はJavaが嫌いでした。当時好きだったプログラミング言語がRubyだったのもあって、Javaはなんて冗長な言語だろうと思ってました。
その認識を変えたのは、IBMのVisualAge for Javaを見てからでした。これはいわゆる統合開発環境(IDE)なのですが、サクサクとコードが書ける環境だったと思います。そして、IDEとしての完成度の高さは、Javaの曖昧さの少ない言語仕様に支えられていると気づきました。
VisualAgeの親戚とも言えるのが、あのEclipseです。
公式サイト
外部サイト
- Javaのリリースは6ヶ月ごととなる
- Javaのコードをさらに読みやすくする「Project Amber」。JavaOne 2017 - Publickey
- 来月にはJava 10が登場し、9月にはJava 11が登場予定。新しいリリースモデルを採用した今後のJava、入手方法やサポート期間はこう変わる - Publickey
関連項目
テーマ
- OpenJDKの互換性について
- Javaのクラスとインタフェースはバイナリ互換性がない
- Java: フィールドの初期化について
- JavaとJavaScriptの違い
- OracleによるGoogleのJava API利用の訴訟について
- Javaの例外について
- Java: toString()に頼るべきではない
- Java: 配列は使うべきでない
- Java: ローカル変数は意味のない値で初期化してはいけない