プログラミング言語『Java』がこの先生きのこるには [645525842]



1 ::2022/04/02(土) 19:56:29.23 ● ?2BP(2000).net
https://img.5ch.net/ico/nida.gif
開発者からの支持を集め続けるプログラミング言語「Java」。根強く利用される背景には何があるのか。Javaの主なメリットを整理する。

 プログラミング言語には、はやり廃りがある。その中で「Java」は、開発者に支持され続けてきた。この傾向は、2022年以降も間違いなく続くと考えられる。本連載は、2022年の今からでも開発者がJavaを習得すべき主な理由を5つ紹介する。前編は、そのうち2つを取り上げる。

■理由1.根本的な有用性

 登場以来、Javaの人気が衰えないのはなぜだろうか。端的に答えるなら、Javaは

●プログラミングの難しい問題を解決するためのライブラリ(プログラム部品群)を豊富に備える、バランスの取れたプログラミング言語

だからだ。

 Javaは素早い処理や高度なセキュリティ、長期のメンテナンスが必要なアプリケーションの開発に適している。Javaに関する深い知識を持つコミュニティーの存在は、開発者にとって心強い。

 登場以来、Javaは複雑な企業システムで発生する問題を解決できる、ユーザーフレンドリーなプログラミング言語になるよう設計されてきた。これはまさに、現代の企業が必要とするプログラミング言語だと言える。

■理由2.中国市場での存在感

 Webトラフィックを解析するWebサイト「StatCounter」の2021年2月〜2022年2月における統計情報によると、中国のモバイルデバイスのシェアは約80%が「Android」デバイスだ。2位の「iOS」デバイスのシェアは20%前後で、大きく離れている。調査会社TrendForceは、「2022年もこの状況は大きく変化しない」と予測する。

 JavaはAndroid用アプリケーション開発のための主要なプログラミング言語だ。中国におけるAndroid用アプリケーションの需要だけでも、今後しばらくはJavaエンジニアのニーズがあると考えられる。

−−−−−
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
−−−−−

…etc

「Java」がいまだに使われ続ける“端的な理由”
https://techtarget.itmedia.co.jp/tt/news/2204/01/news14.html
2022年04月01日 10時00分Dmytro Vezhnin,TechTarget

194 ::2022/04/03(日) 11:41:00.29 ID:z9x+0UGW0.net

>>190
コボルは誰が見ても分かり易いからね。
全く知らない人でも半日あれば簡単なコーディングできるようになるし、
数日で簡単な修正業務ならこなせる。
未だに銀行勘定系システムの主流だから、というのもあるが
このとっつきの良さがあるからコボルが廃れることは無いだろうね。

172 ::2022/04/03(日) 07:41:29.59 ID:9e2RQAfY0.net

kotlin気持ち悪いからもうしばらく生きのこると思う

209 ::2022/04/03(日) 18:00:34.76 ID:kenCslHy0.net

>>64
うちの会社も脱Oracle令出てる
今は改善されたのかわからんけどVM関係のライセンスが正気を疑うような設定で目玉飛び出る価格になってた記憶

246 ::2022/04/04(月) 00:13:19.31 ID:uyfeGAVp0.net

現代のOracleは索引無しのほうが速かったりする
ハイエンド環境の数TBデータの検索とかね
バッファキャッシュも使わないダイレクト読み込みとかする

77 ::2022/04/02(土) 21:24:14.89 ID:rD8CC6/i0.net

冗談じゃねえ、Javaは大手インフラ案件ばかりでめんどくさいし絶対炎上するし環境重いしおれにとってはトラウマや

221 ::2022/04/03(日) 20:59:20.93 ID:BO9CD+CY0.net

プログラミング言語はハードウェアに組み込まれてちゃんと動かせるかは重要だ
パフォーマンスがちゃんと出るかとか
実問題のモデルとの親和性も重要だ
実問題が行列や多次元多元連立方程式とかあるいは自然言語処理かとか
横や縦との連携性も重要だ
OSやミドルウェアのバージョン違いとかOS違いあるいはアーキテクチャ違いとか
長期間における保守運用や更改案件の際の管理のしやすさも重要だ
大規模なシステムを複数有する大企業のシステム群や他社との外部連携を包括的に考えた場合の

23 ::2022/04/02(土) 20:26:39.05 ID:eb4m5YEk0.net

Javaってほとんどフレームワーク依存じゃないか?

146 ::2022/04/03(日) 01:03:23.93 ID:8b66263N0.net

構造体って何?

238 ::2022/04/03(日) 23:00:00.74 ID:HDq4oAlJ0.net

>>220
昔の経験ですよ。
データ量が増える度に突然遅くなることが頻発して、その対応しての繰り返し。
怖いお客さんの仕事だったので、原因の説明と再発防止策を求められて、必死に調べた。

最初はSQLの見直しくらいで済んでたけど

136 ::2022/04/03(日) 00:15:00.66 ID:NZTFBuiO0.net

JavaってSIerとウォーターフォールのイメージが強過ぎて敬遠する
本質はそこじゃなくて
フルリモートにスクラムアジャイルとBYODしたいだけなんだよな
でもjava採用案件は総じてそういうのと縁遠いIT土方体質の企業が多いんよ
なのでモダンでより良い技術者が離れてIT土方がさらにスパイラルしていく

108 ::2022/04/02(土) 22:16:39.79 ID:wcyb5h9h0.net

javaは消極的選択でしかないよ、メモリ食うし遅いし、開発環境めんどいし.マゾしか使わない

137 ::2022/04/03(日) 00:17:35.37 ID:MsU4yAvn0.net

>>134
コイツは世界で1番信用できない

276 ::2022/04/05(火) 12:39:51.65 ID:gOdZ/hxB0.net

>>275
Kotlinでスマホアプリ作るのがいいかと

250 ::2022/04/04(月) 00:40:08.16 ID:1WkaULTZ0.net

珍しく為になる流れ

134 ::2022/04/03(日) 00:02:42.92 ID:lebxy8is0.net

>>21
無償化に戻しただろ……

217 ::2022/04/03(日) 20:01:07.28 ID:HDq4oAlJ0.net

DBは極力インデックスを張らない方が良いです。
リビルドで時間がかかるようになって死にます。
インデックスは張った瞬間、すごく効果があるように思えるけど、オンメモリで処理出来るようになったからのことが多いです。
更に使い続けて、オンメモリで処理出来ないくらいインデックスが肥大化すると途端に遅くなります。
あと基本的にレコード単位で頻繁に削除しない方が良いです。
統計情報が腐ってしまい、アホな実行計画になってしまうことが頻発します。
統計情報の更新もフルで行うと時間がかかるし、サンプリングで行うとアホな統計情報が残ることがあります。
大きなテーブルであれば、パーティショニングして不要なパーティションごと削除するのが良いです。

16 ::2022/04/02(土) 20:22:35.50 ID:HFzrP78B0.net

もうCPUコストを無視できる時代だからな

125 ::2022/04/02(土) 23:11:12.48 ID:CMwLSnMJ0.net

無職な連中はプログラマー教室にでも行って一発逆転だ
中抜きされて辛いならJavaプログラマーになるのが一番
プログラミング教室のバナー広告もあるからクリックしてみれば?

Aさん
俺はJavaオンリーで700万だなぁ
Javaはここのアンチみたいに全然コーデングできない無能が現場に多いから
必然的に比較対象として優秀に見られるから楽なんだよね
こちとら一切勉強してないのに

Bさん
俺Javaメインで1400万だけどね
FInTechとかJavaの高額案件いくらもあるだろう
Javaしか出来ないという人間は少ないだろうが

Nodeもちょっといじったし今後増えるかもしれないけどバックエンドに関してはJSはまだまだぐちゃぐちゃ

265 ::2022/04/04(月) 12:34:40.45 ID:9nurqjkF0.net

>>257
C++がなかなか理解できない時にJavaに手を付けたらオブジェクトの何たるかが理解できたっけな
C#とかでも行けると思うが

91 ::2022/04/02(土) 21:41:49.70 ID:3JcFviOM0.net

まだjavajavaやってたんだ

49 ::2022/04/02(土) 20:45:37.73 ID:msncP/pv0.net

Javaの案件は一時期明らかに減っただろ
今はnode.jsの案件やってるがゴミがコンパイルエラー起こすレベルのソースマージンはしても検知できないから厄介だわ。実行しないと検知できない

66 ::2022/04/02(土) 21:04:46.83 ID:UfB2llIA0.net

>>62
Perlはほぼ書き捨てで書いた本人も読めないってこと言いたかっただけや

7 ::2022/04/02(土) 20:10:55.07 ID:O6/Uq6tS0.net

クラスってなんぞ

107 ::2022/04/02(土) 22:13:45.50 ID:ziXjvb9x0.net

昔話、strutsの案件やったなぁ。
いまでも生きてるのか?

275 ::2022/04/05(火) 12:37:13.20 ID:NnlXLiEg0.net

30年以上前にプログラマーやってましたが最近趣味兼アプリ開発したいなと
思うのですが今からお勧めの言語は何でしようか?

101 ::2022/04/02(土) 21:59:09.09 ID:EnHcITsc0.net

保守的な現場はJavaかCOBOLなのでは

236 ::2022/04/03(日) 22:03:11.40 ID:BO9CD+CY0.net

>>228
>>226の間違いだったw
まあいいんだけどねw
ちなみに俺は車載OS開発部署のインフラ、OSS開発部署のインフラ、4種類の銀行の基盤、
クレジットカード会社の基盤、高官庁向けシステムの基盤開発保守運用、業務系アプリ開発のミドルウェア開発担当(OSSをマージするだけ)、
社内システムの保守運用などはやったことあるよ

196 ::2022/04/03(日) 12:17:54.28 ID:C3Iy9rwf0.net

>>189
中カッコ{}の使い方はこれがベストじゃないかなあ。
begin endじゃ長ったらしいしインデントだけで示すのは読みづらい。

157 ::2022/04/03(日) 02:19:28.92 ID:KntrKolE0.net

>>156
クラスオブジェクトで返せば良いだけでは?

142 ::2022/04/03(日) 00:59:04.93 ID:2P16Un6O0.net

ポリテクセンターでジャバ教えるらしいぞ
ハローワークは何年周回遅れだよwww

244 ::2022/04/04(月) 00:04:29.20 ID:NpI/SyMz0.net

>>240
インデックスを張ると検索が早くなるというのはその通り。
ただ問題は定期的にインデックスをリビルドをする必要があること。
夜間バッチとリビルドの時間がかち合うと夜間バッチに余計な時間がかかってしまう。
なので出来る限りリビルドを終わらせたいので、インデックスの張り過ぎに注意という話です。

テーブルスキャンでも問題無い速度が出るテーブルであれば、敢えてインデックスを張らずに様子見する。
実行計画を見てみたらインデックススキャンになってなくて、実は効果が無かったということもあります。

240 ::2022/04/03(日) 23:42:38.46 ID:BO9CD+CY0.net

>>238
データ件数やSQLによるんじゃない?
普通にレコード数が多いテーブルから少ないレコード数をselectするSQLなら
インデックス張った方が速くなるケースの方が多いけど? レアケースじゃなくて?

34 ::2022/04/02(土) 20:34:41.21 ID:FQJoO+PV0.net

きのこる先生いわく。
「コンセプトを導入すればキノコるでしょう」とのこと。

156 ::2022/04/03(日) 01:58:05.66 ID:3KPwsX3B0.net

Javaで唯一面倒くさいなと思うのが
返却値が1つしか返せないということ

「引数の値を変更するのは良くない」という思想と利便性がいつもぶつかる

75 ::2022/04/02(土) 21:22:07.37 ID:I4Jb9Li/0.net

>>4
錆喰い的な

12 ::2022/04/02(土) 20:14:50.79 ID:KKY2HY/00.net

生き残らなくていいから
速やかに死ね

267 ::2022/04/04(月) 15:20:53.27 ID:s8tHDosW0.net

言語でスクラッチ開発するとライフサイクルがめんどい。
対応したと思ったらすぐサポート切れみたいな

103 ::2022/04/02(土) 22:01:46.04 ID:XJnXHkJ50.net

こんなのだったら無理して頑張ってCOBOL屋でメシ食っていくべきだった!30年前に戻れ!

132 ::2022/04/02(土) 23:51:28.17 ID:DiKvERgu0.net

どのデバイス、OSにも適用できて
プロプライエタリのフレームワークにも依存しないゲーム作ろうと思ったら
Javaなの?

いや、マインクラフトがそうだったからその選択肢しかないのかなと気になった。

177 ::2022/04/03(日) 09:59:46.39 ID:8FdjNZXU0.net

コメント無しでもクラスファイルからそこそこのJavadocを生成できるようにして欲しい。
もしかしてできたりする?

249 ::2022/04/04(月) 00:37:56.60 ID:m6RCdtUB0.net

>>246
数TB(≒RAMにテーブルやインデックスが全部乗らない=ディスクIOが発生する)
検索の場合はインフラ目線ではいくらoracleが頑張ってもインデックススキャンの
方がシーケンシャルスキャンの方が速い気がするんですけど。
ストレージの帯域を負荷分散で48Gbpsとかにしてストレージ側のreadキャッシュを
ほとんど1つのDBサーバで占有できてたとしても

104 ::2022/04/02(土) 22:04:14.98 ID:9wn1Ry1A0.net

>>93
おいおいエアプマンか?
セキュリティ面を考えたらクライアントに色々やらせるなんて恐怖以外の何物でもないんだがな・・・

サーバサイドで色々やらないとおまえの個人情報だって守れないぞwww

168 ::2022/04/03(日) 04:33:12.75 ID:nwDiIrot0.net

>>2
ジャワティー?

178 ::2022/04/03(日) 10:01:46.02 ID:QDqfcVXR0.net

職業訓練でJava習ったけどすぐAndroidアプリも作れたから習ってよかった

133 ::2022/04/02(土) 23:53:00.38 ID:J9aeZTAU0.net

ガラケー時代からAndroidになってもまだJAVAなのかい?

87 ::2022/04/02(土) 21:37:41.59 ID:5oHmixq10.net

有料言語に未来は無いだろ

22 ::2022/04/02(土) 20:26:32.04 ID:z9I4gAMI0.net

Oracle Java有償化の流れでJavaやめるとこ結構あったんじゃね?
なんかOpenJDKに流れてったのをみてまた無償化したとかいう話もあるみたいだけど、Oracleのやることだからどうなるか。
この業界ってOracleと関わらないで済むなら関わりたくないとこがほとんどでしょ。

42 ::2022/04/02(土) 20:42:03.61 ID:sqg5P6gp0.net

>>33
sdkmanでググれ

225 ::2022/04/03(日) 21:27:13.31 ID:MsU4yAvn0.net

>>215
上でも言われてるけど、基盤に使う分散システムとOracleの課金単位の相性が絶望的に悪い

272 ::2022/04/04(月) 23:54:23.42 ID:19W1a8wX0.net

>>270
SDKやツール,ライブラリー等をアップデートすると、古い仕様のコードでエラー出まくりのが増えたけどな

コメント

Translate »
タイトルとURLをコピーしました