Javaはどこへ行った?

Javaがどこかに行っちゃった???

ジャカルタがあって、JKT48がいるのがジャワ島で、英語だとJavaなのにインドネシア語ではJawaで、動きようがないだろうって、そっちのJavaじゃない!
Suda pergi ke sana!

僕の記憶だと、確かMac OSXの
/System/Library/Frameworks/JavaVM.framework/Versions/
の下に、
1.6とか1.7とかがあって、Currentがここにあって、っていう感じだったのに
AとCurrentしかない?
いや、もしかしたら、/usr/localとか、/usr/libの下だったか?rubyやphpと勘違いしてる?ほら、もう、昔の話はどーでもいいから。今どうなの?ってことでしょ?

Qiitaのこれ
https://qiita.com/qoAop/items/d2c85183863970f93577
あっちこっちにJavaが・・・
/Library/Java/JavaVirtualMachines/の下、確かに入れた覚えのあるJavaVMがあったけど、中身はJava仮想マシンで、コマンドがない、って、名前からして仮想マシンか。当たり前だな。でも、仮想マシンとコマンドは、ワンセットじゃないのか?1.8のコマンドから1.6のVMを叩けるの?

実は、1.8よりさらに古い1.6で動作を試したい、ツールがなんか文句を言ってくるから仕方ない、1.6で付き合ってみたらどうなるか、確認したいんだけども・・・
javaって、こんなにも、コマンドと仮想マシンとが切り離されていたっけか?

ツールが古い?だけど、Android Studioの最新版から派生的に辿って入れたんだよな?
え?俺の勘違い?いや、確かにポップアップが「1.6じゃないから、動作保証しねーぞ」と、最初に言い訳して来たのを見た(気がする)んだが、どこをどう操作した時だったっけか?気に留めずにOKしたから、思い出せない。わからん・・・
この辺、bundlerってないの?
Android Studioは最新でも、APIレベルが古いから、AVD(仮想デバイス)の都合でこうなるの?そっちか?

そういえば、昔は必ずJAVA_HOMEを設定しなければならなかった。
ところが、最近はこの「JAVA_HOMEの設定をしましょう」という説明を見かけない。
ふとみたら、Macでも、Windowsでも、環境変数にJAVA_HOMEがない!なんてこった!いつの間に?
(—>嫌だねぇ、俺、いつの間にかJava原人になっちゃったか?)なくなった経緯を理解してない!Oracleが買収してからか?
と思っていたら、Macの場合コントロールパネルにJavaの項目があるらしい。確かに。
なんだか、景色が変わっているのに気づかなかった自分に、気づいてしまった。

/usr/libexec/java_home -v 1.6
などとコマンドを叩くと、古い環境に切り替えられるらしい。試したんだけれども、VMは残っているのにコマンド群がなくなってるから、リンクされない。
>> 勘違いなので、訂正:切り替えられない。パスが参照できるだけ。いや、リンク先がわかれば、スクリプト書けばいいだけだから、参照できれば切り替えられるってのは間違いじゃないけれども・・・
煮詰まった。again。 >>> 今年の「泥沼始め」ですね。

C言語もそうだけれども、javaなんかももう十分に「枯れて」いる言語だし、なんていうか、例えば、International Computer Language Federation(国際コンピュータ言語連盟)みたいな団体を作って、どこかの会社の利益ってことじゃなくて、業界団体の代表団体の管理下、みたいなところに置いて欲しいな、なんてことをふと思ったりする。あ、GNUやApacheがそうか!

CはGNUのおかげで公共財に近くなってる。C#は、Microsoftのもの、だけれども、gnu-Cは完全に公共の言語資産になっている気がする。どこかの組み込みチップの言語が、最終的にgnu-cに落ちているとホッとする。
あ、そうか、gnu-javaが出来ればいいんだ!誰か作って!と思って検索したら、あるじゃない。GCJか?で、2015年からメンテナンスモード?ってことは、この試みは失敗?
もしかしたら、Oracleは、囲い込みを試みているんじゃなくて、必死でメンテナンスしてくれてる?それだったら、古いバージョンへの切り替えも、rbenvとかpyenvみたいな、簡便な切り替え環境を提供して欲しい。java_homeコマンドは、インストール済みが前提なのに、Mac OSをバージョンアップした後、古いJava環境が探せなくなって、どうにもならない。(と思っているのは、私が勉強不足だから、かも知れないけど。どこをどう、調べたらいいのさ!)

どうでもいいんだが、MySQLがOracleに買収されて、(という言い方は正確じゃなくて、Sun MicroがOracleに買収されて)MySQLはフリー、Oracleは滅茶苦茶に高い、というイメージがどうしてもこびりついている。中小規模のデータベース開発は、なんとなく悲観的な気分が・・・。何も考えずに、PostgreSQLを第一選択にするようになった。僕の認識の間違いかなぁ・・・。もっと外に出て、ユーザ会とかにも参加してみないといかんなぁ、とは思うんだが。

いや、わからんでもないのは、JavaもMySQLも、無料の環境で、僕らはその恩恵をこうむっていた。それなのにSun Microには何らの貢献もしていない。Oracleはライセンス料が滅茶苦茶高い。貢献するも何も、大企業の新人プログラマの数十分の1以下のコード単価で仕事をしてる僕らのようなペーペーは、SunもOracleも、手の出しようがない。申し訳ないけど、無料のオープンソースに頼らざるを得ない。(うちは、安いですよ!ソフトウェアのコード単価が、そもそも大手より一桁安い。スピードと体力と気力だけで勝負してるから。)

いまだに、Javaを基幹に据えたシステム開発、多いもんなぁ。その割には、バージョン管理が遅れまくってる気がする。しばらく、rubyやpythonでコードを書いて、javaに戻ってみたら、この面倒臭さをまた思い出してしまった。Ruby on Railsが掲げるCoC(Convention over Configuration)の有り難さは、Java開発を経験しないとわからない。
Javaも、何とかならんのか。

いっそのこと、GoogleがGoogle-Javaを提供してくれたら、話が早いのに。

と思うと同時に、これまでの経験が役に立たないどころか、むしろ邪魔になる開発環境って、何なんだよ、とも思う。プンプン。

泥沼始め・・・ 気を取り直して、もう一度!
次は、どこから攻めようか。ってか、1.6なんていう言い訳は無視して、1.8で突っ走ろうか。(それで問題ないことを確認する、ってな攻め方もあるなぁ。)

そうそう、このページ書きながら、途中で一服して血圧測ったら、138/76mmHgでした。やや高めとは言え、喫煙直後だから、高血圧の問題は、どうにかなったみたいだ。問題は一つずつ潰せば、いいってか。