[解決済み] メタプログラミングのためのPythonとRubyの比較 [終了しました]
2023-03-23 20:49:10
質問
私は現在、主に D プログラマーですが、自分のツールボックスに別の言語を加えたいと考えています。できれば、D のような静的コンパイル言語ではできないようなメタプログラミングのハックをサポートしている言語がいいです。
私は Lisp を少し読みましたが、Lisp のような奇妙な構文などがなく、Lisp が行うクールなことのいくつかを可能にする言語を見つけるのが大好きです。RubyとPythonにはトレードオフがあると思うので、私個人にとって重要なことを列挙します。Ruby、Python、または他の言語のどれが私にとってベストなのか教えてください。
重要です。
- 優れたメタプログラミング。実行時にクラス、メソッド、関数などを作成できること。 コードとデータの区別が最小限であることが望ましい、Lispスタイル。
- 素晴らしく、きれいで、まともな構文と、一貫した、直感的なセマンティクス。 基本的に、よく考えられた、使って楽しい、現代的な言語です。
- 複数のパラダイム。 すべてのプロジェクト、あるいはプロジェクト内のすべての小さな問題に対して、1つのパラダイムが正しいということはありません。
- プログラミングに対する考え方に実際に影響を与える、興味深い言語です。
多少は重要。
- パフォーマンスです。パフォーマンスがまともならいいのですが、パフォーマンスが本当に優先されるときは、代わりにDを使うことにしています。
- ドキュメントが充実している。
重要でない。
- コミュニティのサイズ、ライブラリの利用可能性など。 これらはどれも言語自体の特徴ではなく、すべて非常に迅速に変化する可能性があります。
- 仕事の都合。私はフルタイムのプロのプログラマーではありません。私は大学院生であり、プログラミングは私の研究に間接的に関係しています。
- 100 万人のコードサルによって作業される非常に大規模なプロジェクトを念頭に置いて主に設計されたあらゆる機能。
どのように解決するのですか?
Pythonとrubyの間には、少なくとも思想的なレベルでは大きな違いはないんだ。 ほとんどの場合、それらは同じものの異なるフレーバーに過ぎません。 したがって、どちらがより自分のプログラミングスタイルにマッチするかを確認することをお勧めします。
関連
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] Flaskで1時間ごとに関数を実行するようにスケジュールするには?
-
[解決済み] Pythonの要素別タプル演算(sumなど
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] オブジェクトのリストに特定の属性値を持つオブジェクトが含まれているかどうかをチェックする
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] virtualenv の `--no-site-packages` オプションを元に戻す。
-
[解決済み] Pythonの文字列の前にあるbという接頭辞は何を意味するのですか?
-
[解決済み] virtualenvsはどこに作成するのですか?