重要ではありません-主なことはJavaとは異なることであり、その研究にはある程度の努力が必要です。
これにより、新しいことを学ぶ準備ができます。
なんで? 他の言語を学ぶと、Java開発者としてのあなたが良くなるからです。 真剣に。
別の言語を学ぶと、別のコミュニティに没頭することになります。
多くの一般的なタスクに対する他のアイデアとアプローチが表示されます。 アイデアやアプローチは必ずしも優れている必要はなく、単に異なるだけです。 他のコミュニティでは、このようなタスクについての新鮮な視点を見つけることができます。 また、Javaコミュニティにあるもの(たとえば、非常に便利な多数のライブラリ)に感謝することもあります。
別の言語を学習すると、新しいイディオムを教えることができます。
Javaで使用するものと使用しないものがあります。 たとえば、Rubyブロックは、ほとんどのRubyプログラムで一般的に使用されるクロージャーの形式です。 これらは、特定の動作を持つブロックに委任するコードを実行するのに非常に便利です。 配列を繰り返し、特定のアクションを実行する(要素を印刷する)簡単な例を次に示します。
animals = ['lion','tiger', 'bear']
animals.each {|animal| puts animal }
残念ながら、Javaにはクロージャはありません。 しかし、そうではありません。 Java 6(および以前のバージョン-約Per。)のクロージャーのほとんどは、実際にはリスナーを追加するときにGUIアプリケーションで使用される匿名のネストされたクラスに似ています。 必要なのは、実装を提供するクラスの特定のインターフェイスとメソッドだけで、これは(Rubyの各メソッドのように)繰り返されます。 java.util.ListにはそれぞれOnEachを入力とするメソッドがあると想像してください。
public interface OnEach {
void run(T obj);
}
public interface List ... {
void each( OnEach action );
}
:
List animals = Arrays.asList( new String[]{"lion", "tiger", "bear"} );
animals.each( new OnEach() {
public void run( String animal ) {
System.out.println(animal);
}
});
, ? , , , . Java 7, , Ruby Javascript-. Alex- Java 7.
.
Ruby RSpec, (Behaviour Driven Development - BDD), .
BDD - , .
: autotest - ZenTest, . ( ) , . , . , , . JUnit TestNG Eclipse, , .
, , Java . Java , . Java 13 Java. , , , Java .
Java ?
---
: jbossdna.blogspot.com/2008/06/java-developers-should-learn-ruby.html