0

JAVA で長い間働いた後、気分転換に他の言語も学びたいと思っています。今回は、動的言語の 1 つを学び、読むことに時間を費やしたいと思います。これは、動的言語によって提供されるほとんどの機能と、おそらく楽しい構文をカバーする最も適切なものであり、ほとんどの動的言語で使用される構文に近いものです。

BR、ケシャブ

4

7 に答える 7

7

Python はいつでも楽しいものです。がんばってください。

于 2010-07-31T17:45:47.603 に答える
4

Javascript は、現実世界の実用的な作業に最も役立つ動的言語です。ユーザーのブラウザでの「クライアント側」の作業にかけがえのないものであるだけでなく、Node.jsによって急速にサーバー側の作業が非常に興味深いものになっています。それも。確かに、それには多くの問題がありますが、Crockford のJavascript のような本: 良い部分は、それらの多くを回避するのに役立ちます。

もちろん、JS の構文は、中かっこやセミコロンを避けようとする Python や Ruby などの動的言語の構文とはまったく異なります (JS では避けた方がよいでしょう: JS はユーザーに代わって推測しようとしますが、あまりにも頻繁に間違った推測をします! -)。これらの大きな構文の違い(Scheme、Erlang、Perl、PHP、Tclなどを混在させると大きくなる)を考えると、「ほとんどの動的言語で使用される構文」は実際には存在しないため、仕様の一部はばかげている。

今日、2 番目に役立つのはおそらく Python です。Allison Randall (OSCON のプログラム チェアであり、Perl の第一人者として有名) が述べているように、Python は驚くべきことに、多くの分野で「既定の言語」のようなものになっています。たとえば、SEC は株式取引で使用されるアルゴリズムの公開を義務付ける規則を検討しており、そのような公開のために最初に提案された言語は「もちろん」Python です。この投稿で説明しているように、

なぜパイソンなのか? SEC は実際に、代わりに Perl や Java などを義務付けるべきかどうかについてコメントを求めています。私は Perl をかなり広範囲に使用していますが、透明性の要件を実装するのに Perl が適切な言語であるという考えはばかげています。Perl は、強力だが判読不能で不可解なコードのモデルです。Java と C-Sharp に関して言えば、インタープリターもオープン ソースでなければ、オープン ソース コードを使用してもほとんど意味がありません。私自身は Python を使用していませんが、目の前のタスクには Python が適しているようです。

これが Allison が意味する「デフォルト言語」であると私は思います: 必ずしも特定のタスクを実装するために選択するものではありません (たとえば、上記の投稿の著者はPerlを使用することを好みます) 。公開されている、または提示されているアルゴリズムを理解するために - Bruce Eckel (C++ と Java に関する本のベストセラー著者) がここに書いているように、

Python は実行可能な疑似コードです。

redditやyoutubeなどの大規模なシステムが実装されているにもかかわらず、「実行可能」部分をボーナスとして見ることができます(実行可能でない疑似コードに欠けている可能性のあるあいまいさがないことを保証します;-)。

逆に、すぐに役立つ知識を探しているわけではなく、視野を広げたい場合は、Scheme や Erlang が最適かもしれません (ただし、それぞれの場合の構文は他のほとんどの言語とはかなり異なりますので、注意してください;-) .

ただし、その場合は、 Van Roy と Haridi のConcepts, Techniques, and Models of Computer Programming ( SICPが Scheme を学習するのと同じように、この本は Mozart を学習する十分な動機となります) である傑作と一緒に行くために、Mozartをお勧めします。 - 実際、私は CTMCP を「21 世紀の SICP」と表現しました!-)。

于 2010-07-31T18:11:29.337 に答える
3

これらの[いずれか]を学びます:

  • ルビー
  • パイソン
  • Clojure (最新の Lisp)
  • JavaScript (はい、これは素晴らしい動的言語です!)

半動的、半 Java 言語を介して移行しないでください。飛び込んで、動的言語を試してみてください。他に何が起こっているのかを本当に理解するには、つま先を水に突っ込むのではなく、飛び込んで Java の世界から抜け出さなければなりません。

はい、Clojure が JVM 上にあり、Ruby と Python も JVM 上に実装されていることは知っています。しかし、言語のランタイム実装は言語を定義しません。言語を学び、お気に入りのランタイムを選ぶことができます。

于 2010-07-31T17:54:01.437 に答える
2

ああ、ナイス トロール :) (ruby および python タグ付き)。

私の謙虚な意見では、多くの言語を試した結果、私のお気に入りは Ruby on Rails を使用した Ruby です。

于 2010-07-31T17:46:19.787 に答える
2

あなたは Java のバックグラウンドがあるので、Groovyは試してみる価値があるかもしれません。

とても楽しいです:)

于 2010-07-31T17:45:38.197 に答える
2

Groovy ( http://groovy.codehaus.org/ ) から始めることもできます。Groovy ( http://groovy.codehaus.org/ ) は Java に近い言語であるため、知っていることを使用できますが、最初は関数を使用する経験を積むことから始めます。 -class オブジェクト、たとえば。

次に、Groovy を理解したら、Ruby と Python の実験を開始できます。

于 2010-07-31T17:46:07.260 に答える
0

Jythonを試してみてください。Java が好きなら、この方法で両方できます ;-)

于 2010-07-31T17:46:33.903 に答える