【現役エンジニアが想うこと】Javaはレガシー言語でオワコン言語なのか?

Javaはレガシー言語か

こんにちは、エンジニアの@オノデラユウトです。

プログラミング言語の流行り廃りのスピードが近ごろ早い。
女性の洋服のそれと同じぐらいスピーディーです。
特に最近はファスト開発の流れに乗って、GoやKotlin、RubyやPHPでフレームワークをがっつり使った開発がトレンドです。

いわゆる、モダン言語ってやつです。

SNSとかを見ていると若い世代のエンジニアはモダンな言語の習得割合が高いような気がします。
LaravelやRuby on Railsってキーワードをしょっちゅう目にします。

まぁ実際、モダン言語だとサックと手軽にシステム開発できるので開発のハードルが低いです。

開発ハードルが下がるのは良いことですが、一方で手軽に開発はできないJavaやCなどのレガシー言語の存在感も未だ健在です。

データ型を気にするJavaやポインタを意識するCなどはモダン言語エンジニアには敬遠されがちですね。

というか、そもそもJavaがレガシー言語に組み込まれ始めているのが少し驚きです。(笑)
若いエンジニアの方々に「Javaって古いよね」、「構文が面倒だからもう人気ないでしょ?」とか言われがちなので、Javaエンジニアの僕は少々寂しいのですが、現実はそんなことないんですよね。未だJava人気は圧倒的に高いです。

【案件数は圧倒的No.1】Javaを採用したシステムがめっちゃ多い

若いエンジニアの方々にはレガシー言語と思われがちなJavaですが、正直、仕事量は圧倒的に多いと思います。しかも開発規模が巨大な大型プロジェクトです。

業務系アプリは8割ぐらいJavaです。圧倒的にJava+Oracleを用いた開発が多いんですね。Javaの歴史は長いので、今まで安定稼働してきた実績があるし、データ型は面倒ですが、その分、バグが発生しづらいというメリットがあります。

お客様も「とりあえずJava採用しておこう」って感じです。

さらにJavaは業務システム、Androidアプリ、組み込み系(家電とか)などあらゆる場所で動きます。

OS関係なく動くので、まぁあらゆるシステムで動くんです。
動くフィールドが多いから、仕事はもちろん多くなりますよね。

どこでも動くJava

【切り替え時も】Javaからモダン言語へ切り替える場合もJava知識は必須

このようにプロジェクトでは圧倒的に採用されているJavaですので今後もJavaを採用したシステムは存在し続けるでしょう。

ただ、万が一。

まぁほぼ可能性はないのですが、今後、Javaに何かしらの欠陥が見つかったとして、Javaに不安を感じた企業がJavaからモダン言語への切り替えがトレンドとなる未来が到来するかもしれません。(個人的には99.9%ないと思っていますが、未来は誰にも分かりません)

そうなったら、Javaの仕事はなくなるのでしょうか?

答えはNoです。

そんな状況下でもJavaの仕事は当分あると思います。

理由は、モダン言語に切り替える状況では、元のシステムの言語が理解できないと切り替えられないからです。

Javaシステムからモダン言語に切り替える場合もJavaの知識がないとどこの機能をどういう風にモダン言語に書き換えるべきか分からないです。

今後、モダン言語に切り替えが流行しても、既存システムの言語がJavaなら、Javaの知識は必須です。

そしてJavaの知識さえあれば、切り替え設計を考えつつも、モダン言語の勉強ができるので、、徐々にスキルチェンジも可能になります。

現にCOBOLと呼ばれる、Javaよりももっとレガシーな言語があります。
COBOLは演算が正確なので、金融や自治体系システムで採用されています。今、新規プロジェクトで採用されるのはほぼありませんが、未だに仕事はあります。
例えば、COBOLからJavaへの切り替え案件。

これ、Java知識があってもレガシーなCOBOLの知識がないと切り替えられません。モダン言語に詳しくてもCOBOL(レガシー言語)の知識ゼロだと仕事ができない。

つまり、レガシー言語の知識がベースにあります。

Javaが不人気になったとしても当分はJavaでご飯を食べていけますよ。

セキュリティ、確実なシステムを求めるお客さんが多い

Javaが人気な理由として、セキュリティ面やシステム稼働の安定感が挙げられます。

お客様の中には、スピーディーな開発より、時間をかけてもいいから頑丈でセキュリティに優れたシステムを望むお客さんは多いです。

特にインフラ系企業や大企業のお客様。まぁ資金が潤沢なお客様です。

こういう企業様のシステムは止めてはいけないのが大前提です。モダンとかレガシーとかはどうでも良くて、快適に、安全に動作し続ければいいので、そうな
ると自ずとJavaが採用されます。

【まとめ】レガシーなJavaは死なない(Javaはレガシーじゃない)

結局、現場ではJavaが採用されて、Javaが使われます。つまり、若い世代にレガシー言語と思われているJavaは死にません。

というか、個人的にはJavaはレガシー言語じゃないと思っています。

ちなみに、モダン言語に興味があるエンジニアの方もJavaを先に勉強しておくのはおすすめですよ。モダン言語から始めて、JavaやCを習得するのは難しいですが、JavaやCを習得した後にモダン言語を習得するのは比較的イージーです。

勉強すべき言語が決まっていない将来のエンジニア達は、言語構造を理解するうえでも仕事量の面でもJavaを最初に学ぶのがいいんじゃないかなと思っています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です