1. ホーム
  2. python

[解決済み] メタプログラミングのためのPythonとRubyの比較 [終了しました]

2023-03-23 20:49:10

質問

私は現在、主に D プログラマーですが、自分のツールボックスに別の言語を加えたいと考えています。できれば、D のような静的コンパイル言語ではできないようなメタプログラミングのハックをサポートしている言語がいいです。

私は Lisp を少し読みましたが、Lisp のような奇妙な構文などがなく、Lisp が行うクールなことのいくつかを可能にする言語を見つけるのが大好きです。RubyとPythonにはトレードオフがあると思うので、私個人にとって重要なことを列挙します。Ruby、Python、または他の言語のどれが私にとってベストなのか教えてください。

重要です。

  1. 優れたメタプログラミング。実行時にクラス、メソッド、関数などを作成できること。 コードとデータの区別が最小限であることが望ましい、Lispスタイル。
  2. 素晴らしく、きれいで、まともな構文と、一貫した、直感的なセマンティクス。 基本的に、よく考えられた、使って楽しい、現代的な言語です。
  3. 複数のパラダイム。 すべてのプロジェクト、あるいはプロジェクト内のすべての小さな問題に対して、1つのパラダイムが正しいということはありません。
  4. プログラミングに対する考え方に実際に影響を与える、興味深い言語です。

多少は重要。

  1. パフォーマンスです。パフォーマンスがまともならいいのですが、パフォーマンスが本当に優先されるときは、代わりにDを使うことにしています。
  2. ドキュメントが充実している。

重要でない。

  1. コミュニティのサイズ、ライブラリの利用可能性など。 これらはどれも言語自体の特徴ではなく、すべて非常に迅速に変化する可能性があります。
  2. 仕事の都合。私はフルタイムのプロのプログラマーではありません。私は大学院生であり、プログラミングは私の研究に間接的に関係しています。
  3. 100 万人のコードサルによって作業される非常に大規模なプロジェクトを念頭に置いて主に設計されたあらゆる機能。

どのように解決するのですか?

Pythonとrubyの間には、少なくとも思想的なレベルでは大きな違いはないんだ。 ほとんどの場合、それらは同じものの異なるフレーバーに過ぎません。 したがって、どちらがより自分のプログラミングスタイルにマッチするかを確認することをお勧めします。