JavaRush /Java Blog /Random-JA /コーヒーブレイク#68。Java とそのエコシステムについての率直な意見。2021 年に検討すべき 3 つの新しい...

コーヒーブレイク#68。Java とそのエコシステムについての率直な意見。2021 年に検討すべき 3 つの新しい Java ツール

Random-JA グループに公開済み

Java とそのエコシステムについての率直な意見

出典: Dev.to さて、私のメイン言語が C# であることを認めます。しかし、これは Java とその周囲のエコシステムに関する私の公平な意見です。私は Java で bash コマンドを頻繁に使用しましたが、その欠点をすべて認識していました。たとえば、Java にはプロパティがなく、ネイティブにはイベント、構造体、演算子のオーバーロードがなく、Java 10 までは推論がなかったため、「var」はありません。すべてが C# にあります。また、LINQ、var、enum がないため、Java には bash を使用しました。それでも、特に Android 用のアプリケーションを作成するときはもちろん、その他のことでも Java でかなりの量を書きます。私の最初のプロジェクトも Java でした。それで、金曜日の夕方、緊急のため、私は数時間続けて Java で書かなければなりませんでした。そして私が何を発見したと思いますか?ストリーム!コーヒーブレイク#68。 Java とそのエコシステムについての率直な意見。 2021 年に検討すべき 3 つの新しい Java ツール - 1どうやら Java 8 でスレッドが導入されたようです。そして私はそれについて何も知りませんでした!知らない人のために説明すると、Streams は LINQ の Java 実装です。また、Java 10 には型推論があることもわかりました。そのため、Java には var 関数が追加されました。私の知識がどれほど古いのか信じられませんが、正直なところ、それには理由がありました。この 2 つのことが私の考え方に大きな変化をもたらしました。Java は常に例外をチェックしますが、C# はチェックしないことをご存知ですか? 正直、C# のこの機能が本当に恋しいと思っています。はい、構造やプロパティなどはありませんが、なんてことでしょう、エレガントです! Java の設計により、開発者はより堅牢なアプリケーションを作成する必要があると思います。一方、.NET の世界では、これは主にプログラマの裁量に任されています。こうした制限を好む開発者もいますが、自由を好む開発者もいます。どちらの言語も非常に安全ですが、Java には明らかにわずかな優位性があります。では、なぜ大企業は Java を好むのでしょうか? もう答えがわかった気がします!私が最もイライラするのは、インターネット上で見られるほとんどのコード例では、これらの高度な機能が常に使用されているわけではないということです...新しい Java 開発者がコード ベース全体に 'var' が書かれているのを見たら、そう思うでしょう。 、彼は発狂するでしょう!ストリームについてはどうですか? ストリームとは何ですか? Java 開発者は For ループが大好きです。実際、Java の世界では foreach ループさえも非常にまれです (おそらくこれには理由があります。For ループの方がはるかに最適化されています)。しかし、これらは悪い機能ではありません。さらに言っておきますが、これらの機能は素晴らしいです。Android アプリを作成しているときに、Android API のほとんどどこにも enum が使用されていないことに気づくと、本当に心が痛みます。Android は何年も前に書かれたものなので、これは当然のことです。私が最もイライラするのは、Android でアクティビティの結果関数を使用する必要があるたびに、次のように定数を使用しなければならないことです。int PICK_IMAGE_FROM_GALLERY = 3000 兄弟、これはクレイジーです!それでも、世界中の人々がそれを受け入れるようになりました。そして私さえも。Java にはネイティブ イベントの実装もありません。C# のようなイベントとデリゲートがあればよかったのですが... (Java 言語の作成者の皆さん、これを読んでいるなら、イベントを追加する必要があります。すでにイベントを持っている場合、または作成中の場合は、お知らせください。 )。ここで、Java エコシステムの最大の欠陥となる可能性のあるものを説明します。ドキュメンテーション!!!Oracle の Web サイトにある乱雑で役に立たないドキュメントは、2007 年のレベルでは愚かで時代遅れに見えます。コード例が常にあるわけではありません。比較的珍しい機能や API メソッドを探し始めると、退屈な定義、宣言、引数、それが属するパッケージが見つかるだけです。これは不合理だと思います。これは不合理だと思いませんか?コードスニペットはありませんか? そのため、私たち開発者は、StackOverflow などのフォーラムや、TutorialsPoint などの他のプログラミング Web サイトに大きく依存する必要があります。この機能を示す優れたコード例が非常に役立つ場合もありますが、あまり役に立たない場合もあります。Microsoft の C# ドキュメントと Oracle の Java ドキュメントを比較することをお勧めします。天と地ほどです。信じられない?行って確認してください: OracleMicrosoft。Microsoft サイトのドキュメントはとても美しいです。ダークモードもあります!私たち開発者はダークモードに夢中です。Oracle のドキュメントについてはどうですか? 先ほども言いましたが、2007 年もそのままでした。おそらく当時はダークモードはなかったのでしょうか?ということで、Javaはすごい!ということを言いたいのです。しかし、この言語はドキュメントが古くなっているために大きな影響を受けています。これらはほとんどが古いドキュメントや古いマニュアルであり、スレッド、変数、列挙型などの必要な新機能については強調されていません。最近では、Java は時代遅れになり始めており、Kotlin に取って代わられるだろうと言われていますが、私はそうは思いません。たとえそれが本当だったとしても、彼は彼女の代わりに長くはならないからです。これには何年もかかります。Scala もそれを置き換えようとしたことを覚えていますか? それで何が起こったのでしょうか?Java は依然として JVM エコシステム全体を支配しています。ただし、Scala が Java とは主に機能面で大きく異なることは認めます。さて、最後に... Java の世界で最も感動的なことがもう 1 つあります。これはJDKを取得しています。JDK をダウンロードするのが難しいのはなぜですか? つまり、JDK が必要な場合、簡単な Google 検索で Oracle Web サイトが表示され、そこにアクセスして必要な JDK のバージョンを見つけることができます。ここまでは比較的簡単ですが、ダウンロードするには登録が必要です。JDK をダウンロードするだけでなく、Oracle でアカウントを作成し、毎週メールを処理する必要があるのはなぜでしょうか? Java は最初からオープンソースであることに留意してください。C# とは異なり、2015 年にオープンソースになったのはつい最近です。それで、私はすでにイライラして、Google検索結果の2番目のWebサイトにアクセスします。OpenJDK サイトを示しています。そこで JDK を見つけて、「ダウンロード」をクリックします。しかし (驚いたことに!) 他のサイトから JDK 実装へのリンクが提供されています。サイトの中には、このいまいましい Oracle もありますが、Red Hat サイトへのリンクもあります。はい、Red Hat は素晴らしいです、世界のオープンソース企業の先駆者の 1 つです。わかりました、彼らのウェブサイトに行きます!そこからダウンロードしてみます!このリンクをクリックして、探している JDK バージョンを見つけます。私もそこに登録しなければなりません... (劇的な沈黙) これはただ悲しいです... クソ!この人たちの何が問題なのでしょうか?最後に、私は諦めて Chocolatey をインストールします (apt-get に似ていますが、Windows 用です。これは、広く配布され、使用されている Windows 用の最初のパッケージ マネージャーだと思います)。したがって、これをすべて行った後、PowerShell で「choco install jdk-1.8」のような簡単なコマンドを記述する必要があります。そして私はそれをします!(C# 開発者であれば、登録などを行わずに、わずか 2 ~ 3 回のクリックで .Net SDK を入手するのがいかに簡単かをご存知でしょう)。私の長い愚痴の結論として、Java は優れたプログラミング言語です。これは美しく、信頼性が高く、(私の意見では) 世界で最高の IDE、JetBrains の有名な IntelliJ IDEA を備えています。さらに、Java には非常に役立つコミュニティと大規模で多様なエコシステムがあります。私は C# 開発者としてこれを言っています...しかし、ドキュメントを更新する必要があります。コード例。API。JDK を簡単に入手できるようにする必要があります。全体として、Java は正しい方向に進んでおり、最近人気が少し落ち込んでいるかもしれませんが、だからといって Java がなくなるわけではありません。長年にわたり、世界最高の言語リストのトップに君臨し続けています。私は常に Java を使用しており、今後も使用し続けるつもりです。

2021 年に検討すべき 3 つの新しい Java ツール

出典: OpenSource 近年、人工知能、機械学習、Kubernetes に関連するプロジェクトを実装するために Python、Go、Node.js が積極的に使用されているにもかかわらず、Java テクノロジは依然としてエンタープライズ アプリケーション開発において重要な役割を果たしています。Developer Economy によると、2020 年の第 3 四半期には世界中に 800 万人のエンタープライズ Java 開発者がいました。コーヒーブレイク#68。 Java とそのエコシステムについての率直な意見。 2021 年に検討すべき 3 つの新しい Java ツール - 2Java プログラミング言語は 25 年以上存在しており、常に更新されています。アプリケーションとキャリアを強化できる新しいツールやフレームワークが登場しています。Java プラットフォームの大部分は、動的動作を伴う長時間実行プロセスを実装するために作成され、サーバーまたは仮想マシン上で実行されるように設計されています。これは 2014 年に Kubernetes コンテナの登場により変わりました。Kubernetes 上で Java を実行する際の最大の課題は、メモリ フットプリントの削減によるアプリケーションのパフォーマンスの最適化、起動時間と応答時間の高速化、ファイル サイズの削減です。

3 つの新しい Java フレームワークとツール

Java 開発者は、人気のあるツールやオープンソース プロジェクトを Java アプリケーションに統合する最も簡単な方法を常に探しています。新しい高性能ツールにより、開発の生産性が大幅に向上し、より多くの企業や個人の開発者が Java スタックを使用することが奨励されます。今日は、3 つの新しい Java フレームワークとツールについて説明します。

クォーカス

Quarkus は、クラウド マイクロサービスとサーバーレス アプリケーションを開発するために設計されています。Kubernetes などのコンテナ オーケストレーション プラットフォームでは、起動時間が短く、メモリ常駐セット (RSS) サイズが小さく、メモリ密度が高くなります。JRebel の第 9 回年次報告書によると、Java 開発者の間での Quarkus の使用率は 6% 増加しました (前年は 1% 未満)。Micronaut と Vert.x はそれぞれ 4% と 2% に成長しました (昨年は約 1% 増加)。

Eclipse JKube

Eclipse JKube を使用すると、Java 開発者は、Docker、Jib、または Source-To-Image ビルド戦略を使用して、クラウドベースの Java アプリケーションに基づいてコンテナー イメージを作成します。また、このツールはコンパイル時に Kubernetes および OpenShift マニフェストを生成し、デバッグ、監視、およびログ ツールのエクスペリエンスを向上させます。

マイクロプロファイル

MicroProfile は、新しいフレームワークを導入したり、アプリケーション全体をリファクタリングしたりすることなく、Java マイクロサービスのエンタープライズ アーキテクチャの最適化に関連する問題を解決します。さらに、MicroProfile 仕様 (例: Health、Open Tracing、Open API、Fault Tolerance、Metrics、Config) は、Jakarta EE 実装に合わせて進化し続けています。

結論

どの Java フレームワークやツールがエンタープライズ Java 開発者にとって最適であるかを言うのは困難です。Java スタックを改善し、企業のビジネスの成長を加速する機会がある限り、新しいフレームワーク、ツール、プラットフォームが登場することが期待できます。2021 年に Java アプリケーションを改善できるかどうかを確認してください。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION