「より多くの障害が取り除かれることは大きいです、そして、私はJavaがより重いそのトラックに行くことを望みます」と、アレクサンダー・レビン


こんにちは、恋人!
次のスピーカーは、Javaコミュニティで起こっていることについての彼の考えを共有している!
アレックスは、フルスタックの開発とKotlin専門のシニアソフトウェアエンジニアです.彼は知識の共有に情熱的であり、慣用的なコルトに彼の専門知識をもたらします.彼は、コリンスターターのためのコミュニティの活発なメンバーです.

どのような新しい国は、オンライン形式のおかげで“訪問”を持っている?
と思う.いいえ? :ディー
ええ、それは主にロシアかドイツの会議のどちらかであったので、私のために新しい国がありませんでした.
どのようにJavaでプログラミングスタイルは、過去数年間に進化している?何がいくつかの重要な改善につながったものですか?
……言うのが難しい.部分的に、私は異なる言語で異なるスタイルで書いています.コードのように、コロンの上で、ScalaかJavaの上で、3つの異なるタイプのコードがあります.
Javaの進化はすぐに私のスタイルはJavaで変更することができますが、現実は異なると思うことができます.Java 8から来ているものさえ、時々使いにくいです.その例としては、チェックされた例外との互換性がないため、ストリームAPIでも命令型コードから機能的なものまで完全に切り替えることはできません.
それで、あなたは、以下を持ちますval result = input.map { service.callWithPossibleException(it, someOtherParam) }Javaでは以下のようになります.
var result = new ArrayList<>(input.size());

for (var it: input) {

    result.add(service.callWithPossibleException(it, someOtherParam));

}

この例では悪いことではありませんが、それは奇妙な矛盾を作成します.
Java 17以降のJavaの計画どのように、それはJava開発者の日常生活を変えますか?
を定義します
私はそれがすぐによくなることを望む間、多くのDEVSがまだJava 8を使用しているとき、変更について何も言うのは難しいです.
確かにそれらのすべてではなく、彼らのためでさえ、状況を改善する方法があります.
しかし、私たちがより楽観的に見てみると、すべての種類のものを追加するという大きなバランスがあるので、状況は興味深いものです.セキュリティ関連の事柄、新機能、パフォーマンスの向上など、私は、このバランスがJava 17の後でも残っていることを願っています.
JVM言語のファミリーにはGroovy、Scala、Kotlin、および他の多くがあります.Javaで他のJVM言語と比較してどのような機能を欠場か?入念な.
KotlinとScala 3からの主なもの-拡張性と使いやすさ.それはあなたがすぐに何かを書くときに可能な限りいくつかの障害物を持つことは素晴らしいです.
より具体的な例
*簡単なmain関数.Javaのように、クラス、奇妙なメソッド表記などがあります.
fun main() = println("Hello World")

また、Scala 3でもかなり簡単です.
@main def helloWorld() = println("Hello World")

そのことは簡単に説明しやすく、スマートフォンでも読みやすくできます.
拡張機能
拡張機能が最良のアプローチ(またはパイプ演算子のようなもの)であるかどうかについて議論していますが、それらのどれを持っているかは、より流暢なAPIを作成し、クラス自体から不要なものを切り離す素晴らしい方法です.
残念なことにJavaからのそれほどの進歩はありません(実験的なロンボクのものやマニホールドを除いて)
標準ライブラリ関数
Kollinは時には彼らとあまりにも遠くに行く(例:https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/first-not-null-of-or-null.html)多くの使いやすいユーティリティを持つことのアイデアは素晴らしいですが.
GUAVA/Apache Commonsのようなライブラリの必要性は少なくなります.
…はい、より多くの障害が削除されていると私はJavaはもっと重いトラックに行くと思います.)
初めに、makeは自家製ソリューションを超えて利用できる唯一のビルドオートメーションツールでした.makeは1976年以来であり、そのように、それはJavaの初期のJavaアプリケーションを構築するために使用された.
しかし、Cプログラムからの多くのコンベンションはJava生態系に合わなかったので、時間Antはより良い代替として引き継ぎました.MavenはAntと同じようにXMLファイルを使用していますが、はるかに管理可能な方法です.そして、GradleはAntとMavenの概念に基づいて構築されました.ファンシーグレードや古い学校のMaven?またはant ?!
それは面白い質問です.一方で、私はMavenが非常に単純であるという考えが好きです(少なくともあなたが中でAntプラグインを使用しないとき)、そして、それの時間の99 %はその単純さでちょうどうまくいきます.IDEでサポートされている方法も好きです.
一方で、私は本当にverbose mavenがどのように好きではありません.Maven Polyglotプロジェクトである程度解決できますが、すぐにすべてのIDE互換性をkillします.また、すべてのユーザーがこのボックスの中で素晴らしい作品ではないときに、この1 %のユーザーになり始めたとき、Mavenはかなり不快に感じ始めました.
Gradleでは、それはちょっと反対です:時々、それはどんな構造も見るのが難しいです、そして、同じことをする方法がたくさんあります.依存性を追加するような簡単なものでも!
しかし、あなたが「ユニークな」問題を持っているならば(あるいは、少なくとも、あなたがそれがユニークであるように感じます)、あなたはちょうどすぐに若干のものをスクリプトにすることができます、そして、それはそれです.
個人的なレベルでは、Gradleと一緒に仕事をするのを好みますが、この選択はStoneに設定されているとは言いません.
注:一度だけ触れるので、このツールについて意見を触れた.使用して“偉大な場所をいくつかのスクリプトを置く”としても難しいので、ビルドツールとしてそれを議論する
アレックスは6月26日に13.30 Cestで有効なテストのために彼のセッションカスタムIDE検査を実行します!彼に加わってください
Register to attend
Check out our Website