大変お世話になっております。
反逆する武士
uematu tubasaです。
初回投稿日時:2024年1月5日(令和6年1月5日)
本日は、情報技術系の備忘録的な記事です。
JavaSilver17の日本語版資格が正式リリース
Oracle Certified Java Programmer, Silver SE 17 認定資格は、Javaアプリケーション開発に必要とされる基本的なプログラミング知識を有し、上級者の指導のもとで開発作業を行うことができる開発初心者向け資格です。
引用元:Java SE 17 Programmer I (1Z0-825-JPN) 試験
日常的なプログラミング・スキルだけでなく、さまざまなプロジェクトで発生する状況への対応能力も評価することを目的としています。
先日の記事にて、Oracle Certified Java Programmer, Silver SE 11の認定資格を取得しました。
どうやら昨年の12月1日にSE11の次のバージョンの17の日本語版認定資格が正式にリリースした模様です。
したがって、今後のJava関連資格としては、こちらを取得した方がよろしいのではないかと推察します。
しかしながら、現段階では黒本(JavaSilverの解説書と問題集)が出版されていないので、今すぐ勉強し始めるのは非効率的かと。
黒本(JavaSilverの解説書と問題集)の著者の方が、今年中には出版するという話がございましたので、それを待つべきです。
私個人としては、JavaSilverを取得したので、JavaGold SE 17を早めに正式リリースしてほしいと思っています。
Long-Term-Supportのリリースとそのスケジュール
オラクルは、オラクルの Lifetime Support Policyに記載されているように、Oracle Java SE製品に対するOracle Premier Supportをお客様に提供します。
引用元:Oracle Java SE Supportロードマップ
Java SE 8以降の製品リリースの場合、オラクルでは、特定のリリースのみがLong-Term-Support (LTS)リリースとして指定されます。
Java SE 8、11、17、21はLTSリリースです。
オラクルは2年ごとにLTSリリースを行う予定で、次のLTSリリースは2025年9月に予定されているJava 25です。
オラクル社はJava SE 8以降の製品リリースの場合、特定のリリースのみがLong-Term-Supportリリースとなります。
上記で記載したJava SE 17の次は21であり、その次は25なのだそうです。
率直に申し上げて、システム開発現場においては、Javaのバージョンを軽く上げるわけにはいきません。
テスト工数が必要ですし、ライブラリのバージョンも変えないといけないので、簡単な話ではございません。
しかしながら、さすがにJava SE 8を17または21にバージョンアップするという案件はIT業界で大量発生するのではないかと。
最も人気のプログラム言語はPython
複数の言語の中でどの言語をメインに使っているのだろうか。
引用元:「最も使っている」プログラミング言語で異変、前年首位のJavaが王座陥落
アンケートでは最も使っている言語を1つだけ挙げてもらった。
第1位は「Python」(80人)だった。
回答者の22.3%が最も利用していると回答した。
2022年の調査では第1位はJavaであり、Pythonにその座を奪われたことになる。
それだけPythonに勢いがあるということだろう。
日経クロステックではアンケート調査「プログラミング言語利用実態調査2023」を実施したようです。
読者のプログラミング言語を調査することでトレンドを炙り出す意図のようでして。
調査期間が短く、回答人数も500人を超えていないという小規模なアンケート調査です。
したがって、内容を鵜呑みにするべきではありません。
その調査結果によると「Python」がメインに使用しているプログラミング言語として第一位でした。
Javaは第二位に陥落した模様です。
人工知能(AI)関連の需要が増えているから、こういった結果になるのは自明ですね。
生産性向上はシステム刷新から始めよ
古いシステムを温存するツケは明らかだ。
引用元:COBOLに罪はない トップ自ら情報戦略を
経済産業省が18年9月に公表したDX(デジタルトランスフォーメーション)リポートには、ユーザー企業の悩みが表れる。
金融や商社・流通など8割の企業が老朽システムを抱え、7割の企業が「有識者がいない、ブラックボックス化している」といった理由でデジタル化の足かせだと答えた。
上記は日本経済新聞電子版より一部引用させていただきました。
底辺プログラマーとしてこの件に関して、いろいろ物申していきたいと思います。
簡単にこの記事の要点を押さえて説明させていただきます。
老朽化システムを抱えているが、対処可能なシステムエンジニアが足りず、予算も足りないため、改修及び刷新ができていない企業が多くて問題となっているようです。
私もこのような問題に現実問題として対処したことがございます。
このような場合は、最新のシステムを導入するか、全面的な改修をする必要がございます。
ユーザーの使い勝手の良いシステムをゼロから作るという意識を持つことが重要だと切に感じています。
守秘義務がございますので、具体的なところは申し上げることができませんが、頑張ってわかりやすく説明したいと思います。
オブジェクト指向以外だとITエンジニアが苦労する
簡単に言えば、古いシステムというのはオブジェクト指向の言語で開発されていないシステムが多いです。
一方で、オブジェクト指向の言語とは何かと申しますと、JavaやC#などがこれに該当します。
オブジェクト指向を、物凄く大雑把に説明します。
複雑なプログラミングを駆使して、ゼロからシステムを構築しようという考えではなく、既成部品を利用して、楽してシステム開発するという考えのことです。
TOYOTAのプリウスを製造する場合を例として、説明しましょう。
古いシステムというのが、タイヤを作るために東南アジアからゴムを輸入しようというところから出発する考えになります。
一方でオブジェクト指向というのは、タイヤがほしいなら、TOYOTAの工場で以前製造したものを利用すればいいよねというところから出発します。
したがって、どう考えてもオブジェクト指向の言語で開発した方が楽なのです。
現実のIT現場ではどのような問題が発生するのでしょうか。
例えば、オブジェクト指向の言語で開発や改修をする場合、ボタンを一つ移動するだけなら2秒ぐらいで改修できます。
しかしながら、古いシステムの場合だと、ボタンを移動するだけで30分必要ということもあり得るのです。
IT現場で使用されているツールや現場のルールによっても作業時間は変動します。
既存システムをオブジェクト指向で再構築せよ
情報システム会社のTISは、住宅金融支援機構から基幹システムの刷新を受注。
引用元:COBOLに罪はない トップ自ら情報戦略を
COBOLをJavaにリライトして、18年に新システムに移行させた。
この実績が功を奏し同様の開発案件が次々と舞い込む。
COBOLをJavaにリライトするという苛烈な案件を実行したとのこと。
現場の人間大変だったのではないかと推察します。
私はCOBOLとJavaの両方を理解し、ある程度のシステム改修ができる人間なので、このような現場に配属されても問題ありません。
けれども、COBOLしかわからない、Javaしかわからないというエンジニアだった場合は地獄と化します。
英語がほとんどわからない日本人がアメリカのシリコンバレーの現場に配属されるようなことになる可能性がございます。
ただ、こういったリライトが成功するとどうなるかと申しますと、改修効率が圧倒的に向上します。
Javaを動かせるツールやフレームワークなどにもよりますが、生産性が跳ね上がったのではないかと推察します。
私は最新のプログラミング言語でリライトするのは必要だと思います。
なぜならば、現場の人間の作業効率を上げ、ユーザー様のお客様満足度を上げ、現場の人材定着率を上げるべきだからです。
最新のプログラミング言語で改修しやすい環境を整えないとブラック企業とか言われて、人材確保が難しくなると思います。
生き残りたい経営者よ決断せよ
経営者自身がITシステムに詳しくなり、ITシステムをどのように最適化するべきなのかということを企業全体から指示するべきだと思います。
システム部門やCIO(最高情報責任者)に任せていては、駄目なのです。
なぜならば、システム部門やシステムに詳しい人間に牛耳られてしまい、ユーザーファーストのシステムにはならないからです。
現代においては、経営者の英断こそが必要であり、それが無ければ、既存システムが動かないということにもなりかねません。
最悪の状況を想定し、それに対処するというのが経営における安全保障だと思います。
理想的なことを申し上げれば、Java SE 21で最新のフレームワーク(Spring)を適用し、長期間メンテナンスが容易なシステムを開発するべきです。
以上です。