4

Ruby、Groovy、Jython、Scala (静的ですが、動的言語のルック アンド フィールを備えています) など、動的言語は増加傾向にあり、たくさんあります。私のバックグラウンドは Java SE および EE プログラミングであり、私の知識をこれらの動的言語の 1 つに拡張して、将来によりよく備えることができます。

しかし、どの動的言語を学習に集中する必要がありますか? また、その理由は何ですか? 近い将来、どの言語が優先されるでしょうか?

4

12 に答える 12

16

Ruby または Python (およびそれほどではないが Scala) を学習することは、Java バージョン、ネイティブ バージョン、または .NET バージョン (IronRuby/IronPython) を使用できる、非常に応用可能なスキルを身に付けることを意味します。Groovy は便利ですが、JVM 固有です。

特定のシナリオを想定しない限り、「将来に備えた準備を整える」ことは困難です。どんなことに取り組みたいですか?動的言語で有効に実装できるプロジェクトはありますか? いくつか試してみて、違いを感じるのに十分小さいですか?

于 2009-06-24T08:44:46.780 に答える
10

Scala は動的言語ではありません。型推論は、型付けされていないことを意味するものではありません。ただし、OOP と関数型プログラミングをうまく組み合わせた非常に優れた言語です。唯一の問題は、途中で遭遇する落とし穴です。

あなたはすでに経験豊富な Java プログラマーであるため、スキルセットにうまく適合します。さて、完全に動的にしたい場合は、Ruby と Python の両方が素晴らしい言語です。どちらの言語にも需要があります。

于 2009-06-24T08:55:07.927 に答える
8

個人的にはClojureをお勧めします。Clojure は、私が今まで見たどの言語よりも急速に人気が高まっている素晴らしい新しい言語です。Clojure は、JVM に実装された強力でシンプル、かつ高速な Lisp です。もちろん、Scala と同様に、すべての Java ライブラリにアクセスできます。それについてはすでに本が書かれており、バージョン 1.0 に成熟しており、開発中の 3 つの IDE プラグインがあり、3 つすべてが非常に便利です。

于 2009-06-24T09:11:58.160 に答える
6

私はScalaを見ていきます。なんで ?

  1. これは JVM 言語であるため、現在の Java スキルを活用できます。
  2. 現在、多くのツール/IDE サポートがあります (たとえば、Intellij は Scala プロジェクトを処理します)。
  3. それには機能的な側面があります。関数型言語は現在、多くの注目を集めているようで、将来のために学ぶ価値のあるパラダイムだと思います

私の (完全に主観的な) 見解では、Scala は、Groovy が 1、2 年前に得たよりも多くの注目を集めているようです。私はここで異議を唱えたり、より良い言語にすることを提案したりしているわけではありませんが、新しい JVM 言語のようです

余談ですが、いくつかの動的な属性を持つ言語は Microsoft のF#です。私は現在これを見ています(上記のポイント1と2に関する私自身のアドバイスを無視しています!)。.Net 上に構築された、オブジェクトを使用した関数型言語であり、現在多くの注目を集めています。

于 2009-06-24T08:54:03.953 に答える
4

ゲーム業界では Lua、Adobe ベースのデザイナーなら Lua もいいですし、組み込みプログラマーなら Lua が実質的に唯一の軽量ソリューションですが、Web 開発や一般的なツール スクリプトを検討している場合は Python が適しています。より実用的になる

于 2009-06-24T08:49:52.290 に答える
4

Groovy は Java のバックグラウンドが豊富なため、比較的簡単に移行できることがわかりました。Groovy は Java のより便利なバージョンのようなものです。そのようなことを行う必要がある場合は、既存の Java コードとも非常にうまく統合されます。

于 2009-06-24T14:27:54.137 に答える
3

私はパイソンをお勧めします。それには巨大なコミュニティがあり、成熟した実装があります (いくつかの有望なまだ成熟していないものもあります)。私が見た限りでは、Perl は新しい言語と比較して多くの牽引力を失っています。おそらくその「非直感性」が原因です (いいえ、それを始めないでください)。

Python で 1 つまたは 2 つのプロジェクトを完了したら、別のプロジェクトに進んで、より広い視野を獲得してください。2 つの異なる動的言語でいくつかの重要なことを行ったことがあれば、他の言語を吸収するのに何の問題もありません。

于 2009-06-24T09:13:01.120 に答える
1

あなたのバックグラウンドを念頭に置いて、セマンティクスがあなたが知っているものと似ている言語をお勧めします。したがって、Scala、Fan、Groovy などの言語は出発点として適しています。関数型言語を使用する基本的なセマンティクスを理解したら (そしてそれを愛するようになると)、Ruby のような言語に移行できます。このようにして、ターンアラウンドタイムが短縮されるだけでなく、多言語プログラマーになる方向に進むことができます.

于 2009-07-02T11:11:36.003 に答える
1

JScript は非常に便利で、確かに動的言語です...

于 2009-06-24T08:44:48.057 に答える
1

十分な数のモジュールを備えた言語が必要な場合 (ほとんど何でも!)、Perlを使用してください。そのCPANを使用すると、車輪を再発明することなく、必要なものを常に見つけることができます。

于 2009-06-24T08:52:15.967 に答える