JavaからScalaへ:新しい言語を学ぶ7つの理由

学生だけが多くの自由時間を持っています。 学生ではない場合、新しいプログラミング言語の学習を開始する非常に良い理由が必要です。 この言語はそのセグメントのリーダーであるため、これは特にJavaプログラマーに当てはまります。 それにもかかわらず、新しい言語を学ぶ理由があります。



最初の理由:経験は、彼らが戻ってこないことを示しています 。 私は一度に他の言語よりも多くのプログラムをC / C ++で書きました。 それから、Javaについて学びました。まったく同じ質問に直面しました。「なぜ?」最も興味深いのは、なんらかの理由でJavaを学ばず、単に好奇心だったので、戻れないことに気付きました。 私の人生では、Javaを学んだC ++プログラマーが1人もいなかったので、「いいえ、私はこの言語が嫌いです。C++の方が良い」と言いました。 今、私にはある種のdeja vuがあります。Scalaを研究してこの言語を放棄したJavaプログラマーは一人もいません。 これは品質の十分な指標だと思います。



理由2:Scalaはよりモダンです。 ファッショナブルではありませんが、技術的にはより高度です。 Scalaは、Java設計での多くの間違いを考慮に入れています。 例として、等価演算子==



を取り上げます。 どのくらいの頻度でJavaで使用しますか? あなたは考えないかもしれません、私はあなたのために答えます:あなたはそれをまったく使用しません。 なんで? 役に立たないからです。 メモリを使用した直接作業から開発者を解放することが目的の言語では、ポインター比較演算子は意味がありません。 さらに悪いことに、このステートメントはオーバーロードできません。 OderskyはScalaでこの演算子を使用して何をしましたか? そうです、彼は==



演算子をequals()



equals()



。 最初のものが2番目のものよりどれだけエレガントであるかを説明する必要はないと思います。



 object1 == object2 object1.equals(object2)
      
      





ちなみに、Javaの設計時に==



演算子でエラーが発生したとはまったく思いません。 C ++の支配の時代には、これは正しい決定でしたが、時間がたつにつれて状況は変わりました。



3番目の理由:宣言的 。 はい、はい、非常に機能的なプログラミングです。 今、私の住所には多くの誓いの言葉が注がれますが、私はあまり議論しません。 私の議論は非常に単純です。関数型プログラミングを習得していない人を十分に見て彼をscりましたが、習得して拒否した人は誰もいませんでした。 ただし、もう1つ議論します。関数型プログラミングがなんらかのナンセンスであれば、愛するJavaには表示されません(ラムダとストリームを知っていますか?)私たちスカラ? 回答:Scalaを勉強して、その鐘楼のJava機能を見ると、開いたビューはあなたを笑顔にするでしょう。 試してみてください!



理由4:コードが少ない 。 誰かは、Scalaコードは一般にJavaコードの2〜3倍小さいと述べました。 私自身は数えませんでしたが、それは真実のようです。 たとえば、多くはおそらくローカル変数にfinalを使用するかどうかに関する長年の議論に精通しているでしょう。



 String mama = "Jane"; final String papa = "John";
      
      





2行目は不変であり、その整合性を保証し、バグの可能性を減らします。しかし、問題があります。この2行目は1行目より28%多いため、コードの全体的な成長を意味し、バグなどの可能性が高まります。 ここを見てください:



 var mama = "Jane" val papa = "John"
      
      





このScalaコードは以前のJavaコードと同じです。 何か言う必要がありますか?



これはさらに印象的な例です。 Java:



 public class Child { final String mama; final String papa; public Child(String mama, String papa) { this.mama = mama; this.papa = papa; } }
      
      





Scalaでも同じです:



 class Child(val mama: String, val papa: String)
      
      





それだけです! 単一のブレースさえ必要ありませんでした! さて、このようなチップがどれだけあるか想像してみてください(もっとたくさんあります、信じてください!)大規模なプロジェクトのコードを減らし、コードが短いほど、





5番目の理由:非常に簡単です。 Scalaは、宣言的であると同時に命令的であるという意味で、元の言語です。 ちなみに、Javaよりもさらにオブジェクト指向です。 Javaプログラマーとして、まずは必須の部分を調査し、Scalaを「ステロイド上のJava」と見なし、機能部分を学習する過程で後者をますます使用することから始めることができます。 おそらく、単一の関数型プログラミング言語ではこのような柔軟性と使いやすさは提供されません。 ScalaはJavaプログラマーを逃がすためだけに書かれているという印象さえありました(冗談です)。



理由6:新しい視野 。 プログラミング言語の学習は、多くの新しいことを発見できるという点で、言語言語の学習に非常に似ています(ただし、プログラミング言語が完全に異なり、「別の退屈な言語」ではない場合)。 別の言語は、異なる文化、異なる考え方へのアクセスを開きます。 Scala、特にその機能部分について学ぶと、Javaコードの記述方法が大きく変わることを保証します。 もちろんより良い。



理由7:これは興味深いです。 さて、ここで言うことはもうありません。 好奇心は、少なくとも最小の脳をもつすべての生物の特徴です。人間について言えます。 確かに、多くの人は年齢とともに好奇心を失いますが、読者の中には誰もいないと確信しています。 したがって、時間をかけてScalaで遊ぶことをお勧めします。 私はあなたがたくさんの心地よい感覚を経験することを保証します!



All Articles