私は Java 開発者ですが、Scala や Groovy などの言語を学ぶことの主なメリットは何ですか?
9 に答える
別の JVM 言語を学習することで、新しい言語を学習するのと同じ利点が得られます。これにより、プログラミング全般の理解が深まり、さらに重要なことに、ツールボックスに別のツールが追加されます。
そのため、次に問題を解決しなければならないときは、ハンマーではなくネイル ガンに手を伸ばすかもしれません。
より具体的に言うと、Groovy はコードをすばやくモックアップするための優れた言語であり、Scala は、私は使用したことがありませんが、その機能的なアプローチにより、並行アプリケーションを作成するのに最適であると思われます。他の人が述べたように、JVM 言語は Java コードと対話できます。これは、レガシー システムに追加したり、アプリケーションの一部をすばやくモックアップしたりするのに役立ちます。
頭に浮かぶいくつかの正当な理由:
- これらには、Java にはない機能があり、特定の状況で役立つことがあります。
- 彼らは異なるプログラミングパラダイム、異なる考え方を使用しています。
- 他の言語を学ぶと、心が開かれます。
- 言語を学ぶことで、それぞれの長所と短所を意識するようになります。
- それらはますます注目を集め、より優れた JVM サポート (Java 7 を使用) を獲得しています。
実際には、逆の質問を自問してみてください。
- 追加の JVM 言語を学んでみませんか?
ここでの他の回答には非常に良い点がありますが、欠けていることが1つあります。
優れたコーダーは、自分が「Java 開発者」、「Python 開発者」、またはその他の「開発者」であると自認することはめったにありません。別の言語 (JVM 言語であろうとなかろうと) を学ぶと、世界には学ぶべきことがたくさんあることがわかります。
1 つの言語だけに満足している場合、それは通常、その言語の問題に気づいていないことを意味し、他の言語により適したタスクがたくさんあることを意味します。
これが、Pragmatic Programmers がすべてのプログラマーに 1 年に 1 つの言語を学ぶことを奨励する理由です。
あなたが言及した言語は、生産性の向上に役立つ別のプログラミング パラダイムを実践しています。また、一緒に仕事をするのがより楽しくなります。
Scala や Clojure などの言語は JVM 上で実行され、同期要件を課すことなくマルチコア システムで優れたパフォーマンスを発揮します。
そしてもちろん、Java で利用可能な豊富なライブラリーをすべて使用することができます。
http://groovy.codehaus.org/から:
「Groovy は Java のスーパー バージョンのようなものです。Java のエンタープライズ機能を活用できますが、クロージャー、ビルダー、動的型付けなどの優れた生産性機能も備えています。開発者、テスター、またはスクリプトの専門家であれば、Groovy を気に入るはずです。」
したがって、多くの場合、Java よりも Groovy を使用する方が理にかなっています。たとえば、Java 単体テストで!
そうすれば、新しい言語を知ることができます。つまり、より幅広いスキル セットと、問題に対する別の見方ができるからです。しかし、Groovy と Scala は JVM で実行され、Java の知識があるため、必要に応じて既存のライブラリとコードを統合できます。
jvm 内のスクリプト言語の利点。コンパイルされた Java コードとのシームレスな対話。
申し訳ありませんが、回答よりも多くの質問..
- 新しい言語を学んでいない場合、何に時間を費やしますか?
- なぜ JVM 言語に限定しているのですか?
- テスト駆動開発を学ぶことはより有益でしょうか?
- 標準意匠特許の学習はどうですか?
- 時間をかけて何を達成しようとしていますか?
言語を学ぶことは常に良いことですが、言語を十分に習得して使用しないと、大きなメリットは得られません。マインド。
会社で複数の言語を使用すると、長期的には多くの追加コストが発生するため、主要な言語でより適切にプログラミングする方法を学ぶことで、より多くの利益を得ることができます。決定できるのはあなただけです。
Groovy を使用すると、実行時に Java アプリケーションからスクリプトを (ファイルから) ロードできることを私は知っています。これにより、コードを再コンパイルしなくても、クライアント サイトでアプリケーション アクションの動作をカスタマイズできます。むしろ素敵です。