1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AUTOSAR CountdownAdvent Calendar 2022

Day 11

JAVAについて知っているとよいことかどうかわからない11項目

Last updated at Posted at 2019-05-01

JAVAについての相談は、1995年頃から約24年間、定常的にいただいている。
2001年頃までは、JAVAのプログラミング研修を6年ほど実施していた。

当時の経験からすれば、現状のよくわからない情報は、当初のよくわからない情報と同じで、たいした違いは感じていない。

<この項は書きかけです。順次追記します。>

ポインタ不要

JAVAの一番の画期的なところは、C言語の記述で一番難しいポインタ処理を排除したことである。
この点以外に、C++に対する優位点は、その後の様々な改良の成果だと理解している。
当初設計でC/C++に対する優位性は、C言語のように書けるが、ポインタ処理をしなくても必要な機能を実現できることだ。

#文字コード対応
JAVAは当初から国際対応していて文字コード対応が万全だと言う方がいた。

日本語の表現は、1バイト2バイト混在のデータを文字コードを切り替えて表現する。
画面で左から右に表示している時に、右端から逆に辿ると、現在位置の文字コードはわからない。

この状態を回避するには、いくつか方法がある。
JAVAのシステムで文字コード対応がそれなりに安定したのは1−2年経過してからのような気がする。
これは、気がするだけである。
実際にどうだったかは、過去の資料を紐解いてみる。

画面周りの変更

描画用の仕組みは、当初からすこしづつ改定されている。

1.1 におけるAWT 、1.2におけるSwing など、目まぐるしく変化した。
画面は、さまざまな道具類の設計の変更により、どのような構造が適しているか変化していくものだという理解をしている。

Visual J++

MicrosoftがVisual J++を発表した時には、すぐにセミナを開催した。
Visual J++のよいところは、GUIで記述したソースコードを生成するところだったと思う。
逆に、使うのをやめることにしたのは、生成したコードが読みにくいことだった。

ちょうど、C++がで始めた頃、C++のソースコードをCのコードに変換するプリプロセッサ(C Pre ProcessorでCPPという)を購入したことがある。使うのをやめたのは、マイクロソフト、ボーランンドから高速なC++が発売されたことと、生成されたCソースコードが読みにくいことだった。

国際規格投票でアメリカが反対

JAVAを国際規格になれば、write once move anywaereが実現できるはずだった。

アメリカがSUNのライセンスに対する不透明さから国際規格に反対投票し、結果としてJAVAの国際規格が否決された。
当時、別の国際規格のeditorをしていた。
ニュースを聞いて小踊りした。

本当にWrite Once move anywareなら、国際規格に誰も反対しない。
どこでも動くような状況を作るために、JAVAの技術者は、いろいろなCPUにVMを作られ、すごく努力された。
SUNが公開でこれらの努力にもっと経緯を払っていれば、アメリカが反対したとしても、圧倒的多数で国際規格になったはずである。

JAVAの閉鎖性は当初から、一貫して見え隠れしている。

DBミドルウェア

JAVAプログラミング教育をしていて、
JAVAが一定の規模で利用されるようになり、一番大きな分野がネットワークを介したDB利用であった。

しかし、DBのミドルウェアは高価なものが次々に出てきて、
当方が教育から撤退したのは、有償のミドルウェアが購入できないため。

DBまわりの発展が、一時的とはいえ、高価な道具類を使わないと仕事にならなかったのは残念だった。

これ以降、JAVAの教育から撤退している。
それまでとは、JAVAに関して積極的に情報取得、情報発信は半分以下になった。

Vertical Machineの淘汰

いろいろなVertical Machineが増えた。
小ささ、高速さをうたうものもあった。

Vertial Machineの興隆を計ってこそJAVAの発展が望めたはずである。

MacintoshでJAVAのVMを同梱しなくなった時点で、JAVAの理想が終わったと思った。

C#の登場

C#は、Windows処理ではJAVAよりも便利な記述ができるところを売りにしていたのだろうか。

標準化も、ECMA, JISと順調に進んでいった。

Windows以外のOSへの展開に時間がかかっていて、当方が積極的に参入することができなかった。

CLIであるmonoの導入など、進捗を知るためにも何度か挑戦をしようとした。

JavaからCOBOLへの移行

COBOLからJAVAへの移行案件は、何度か小耳にはさんだ。
半分くらいはJAVAに移行したらしい。残りはまたCOBOLに戻ったと聞いている。

そこで、JAVAで書いたプログラムをCOBOLに移行する方法を検討する。

COBOLはもともとオブジェクト指向言語であり、英語そのままでプログラムが動く。

Open JDK

Oracle JDK 8 の公開アップデート終了

オラクルは2019年1月を最後に、公開されたダウンロードサイトにおける商用利用向けのJava SE 8アップデートリリースを終了します。Java SE 8やそれ以前のバージョンに対する、バグ修正やセキュリティ修正などメンテナンスされたアップデートリリースが引き続き今後も必要な場合、Oracle Java SE Subscription または Oracle Java SE Desktop Subscriptionで提供される長期サポートで入手・利用が可能となります。Oracle JDK 8 の長期サポートに関するより詳しい情報は、Java SE サポート・ロードマップをご確認ください。

<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>

最後までおよみいただきありがとうございました。

いいね 💚、フォローをお願いします。

Thank you very much for reading to the last sentence.

Please press the like icon 💚 and follow me for your happy life.

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?