問題タブ [language-comparisons]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - この Bash コマンドを純粋な Python で表現する方法
Python に変換できなかった便利な Bash スクリプトに次の行があります。「a」は、アーカイブするファイルのユーザー入力日数です。
私は、最も一般的なクロスプラットフォーム要素の os.name と getpass.getuser に精通しています。~/podcasts/current に相当するすべてのファイルの完全な名前のリストを生成するこの関数もあります。
まず、それを行うためのより良い方法があるはずです。どんな提案も歓迎します。どちらの方法でも、たとえば、Windows では "AllFiles('/users/me/music/itunes/itunes music/podcasts')" で関連するリストが表示されます。おそらく、このリストを調べて os.stat(list_member).st_mtime を呼び出し、特定の日数より古いすべてのものをアーカイブに移動できるはずです。私はそのビットに少し立ち往生しています。
もちろん、bash コマンドの簡潔さを備えたものはすべて照明にもなります。
groovy - JythonやJrubyに対するGroovyの利点は?
JythonまたはJrubyを使用できるのに、なぜGroovyを使用することを選択するのですか?この言語は、JythonとJrubyのスキルがJVMの外部の親言語に適用できるという事実を補うための固有の利点を提供しますか?
私は意図的にこの質問を一般的なものにしていますが、特定のドメインに存在する利点がある場合は、遠慮なく説明してください。
編集
明確にするために、Jrubyでコードを記述した場合、必要に応じてそのコードをJVMの外部に移動できるようになりました。少なくとも、Rubyについての理解が深まりました。一方、Groovyスキルは、JVM内に存在する言語を使用する場合にのみ適用できます。JythonとJrubyにはこれが組み込まれている利点がありますが、Groovyはこの欠点を何で補う必要がありますか?
Groovyにあなたが見つけた利点がなく、JythonまたはJrubyを使用することを提案する場合は、私に知らせてください。
編集2
すべての回答に感謝します。ほとんどの回答が同じです。GroovyはJavaとの統合がわずかに優れており、JythonやJrubyよりも優れています。
Netbeans 6.5をIDEとして使用してフォローアップ
するGroovyは、JrubyよりもJavaプロジェクトとの統合が優れていることがわかりました。統合の欠如がJrubyまたはNetbeansの失敗であるかどうかはわかりません。しかし、少しの間それを使用した後、Groovyは間違いなく足を上げているようです。
python - Perl、Python、AWK、sed の違いは何ですか?
それらの主な違いは何ですか?また、各言語を使用するのに適した典型的なシナリオはどれですか?
haskell - Haskell、Lisp、および冗長性
HaskellとLispのいくつかのフレーバーの両方を経験した人にとって、HaskellとLispの両方でコードを書くことがどれほど「楽しい」(恐ろしい用語を使用する)のか興味があります。
いくつかの背景:私は今Haskellを学んでおり、以前にSchemeとCLで作業していました(そしてClojureに少し進出しました)。伝統的に、あなたは私を動的言語のファンと見なすことができます。それは、動的言語が提供する簡潔さと迅速さのためです。私はすぐにLispマクロに夢中になりました。それは、冗長性と定型文を回避するためのさらに別の方法を私に与えてくれたからです。
Haskellは、私が存在することを知らなかったコーディング方法を紹介してくれるので、非常に興味深いと感じています。部分関数の記述のしやすさなど、敏捷性の実現に役立つと思われる側面が確かにあります。しかし、私はLispマクロ(私はそれらを失うと思います;真実は私がまだそれらについて学んでいないかもしれないと言われていますか?)と静的型付けシステムを失うことについて少し心配しています。
両方の世界でかなりの量のコーディングを行った人は、経験がどのように異なるかについてコメントすることを気になりますか?
ruby - Perl の Data::Rmap に相当する Ruby はありますか?
Perl のData::Rmapを使用すると、データ構造のリストに対して BLOCK を再帰的に評価し (ローカルで各要素に $_ を設定)、そのような評価の結果で構成されるリストを返すことができます。$_ を使用して要素を変更できます。
これは、ネストされたハッシュやハッシュの配列の階層などを反復処理する場合に便利です。
c# - C# vs Java Enum (C# 初心者向け)
私はしばらく Java でプログラミングを行っていましたが、完全に C# で記述されたプロジェクトに参加することになりました。私は C# に慣れようとしていて、新しいプロジェクトのいくつかの場所で列挙型が使用されていることに気付きましたが、一見すると、C# の列挙型は Java 1.5 以降の実装よりも単純に見えます。C# と Java の列挙型の違いと、その違いを克服する方法を列挙できる人はいますか? (私は言語フレーム戦争を開始したくありません。Java で行っていたいくつかのことを C# で行う方法を知りたいだけです)。たとえば、誰かが Sun の有名な Planet 列挙型の例に対応する C# を投稿できますか?
c# - Why doesn't Java have a way of specifying unescaped String literals?
In C#, if you want a String to be taken literally, i.e. ignore escape characters, you can use:
However there is no equivalent in Java. Is there any reason Java has not included something similar?
Edit:
After reviewing some answers and thinking about it, what I'm really asking is:
Is there any compelling argument against adding this syntax to Java? Some negative to it, that I'm just not seeing?
php - PHPの全体的な設計哲学は何ですか?
私は最近、クライアント用の Drupal アプリケーションを通じて PHP (5) に初めて出会いました。使いこなしてみて特に難しいことはありませんでしたが(たとえば、ドキュメントが充実しているなど)、「これは賢い!」「これは使っていて楽しい!」と思った瞬間はありませんでした。さらに、関数がどのように命名されるかを正確に予測することも、従うべき指針を確認することもできませんでした。
これは、たとえば Ruby とは対照的です。Ruby では、すべてがオブジェクトであり、メソッドは予測可能で疑似ポリモーフィックであり、ブロックは (いくつかの例を挙げると) 使用するのが楽しくなります。対照的な他の言語のハイライト: Python のリスト内包表記は、反復に対する考え方を変えます。C は、ポインターとビット操作を使用してハードウェアに戻ります。javascript は、名前のない関数とハッシュの高度なサポートを備えており、驚くほど優れています。無愛想さは、データに感謝し、関連性を考慮してデータについて考えるように強制します。
それを念頭に置いて、phpのハイライトは何ですか? そして、言語の全体的な設計哲学は何ですか? PHP が全体的にあまり評判がよくないことは承知していますが、多くのプロではない開発者がコードのコピーと貼り付けを行っているため、それは認識の問題であるといつも聞いていました。
編集:
さて、コンセンサスは、PHP は Web プログラマーのモンキー レンチであるということです。私はそれを受け入れることができます。私はただ洞察を探していましたが、私はすでにそれを持っていたと思います. たとえば、mod_php/libphp を高く評価しています。また、php の経験がなくても 2 週間でアプリケーションを完成させることができました。
投稿ありがとうございます。
c# - C++ から C# への驚きの移行
私は C# に移行する C++ プログラマーです。私はこの言語を 1 か月間使用し、多くの概念を理解しています。
C++ から C# に移行する際に驚くことはありますか? デストラクタが意図したとおりに実行されないという警告を受けました。最近、T を基本クラスとして使用するジェネリックスで何かをしようとしました。それはうまくいきませんでした。私も別の問題を抱えていましたが、それは C# の経験不足のせいだと思います。また、自分のアプリが RAM を消費していることにも驚きました。それから.dispose
、1 つの関数で使用する必要があることがわかりました。(スマートポインターのようにきれいになると思いました)
他に何が私を驚かせるでしょうか?
言語バッシングはご遠慮ください。誰もそうしないとは思いますが、念のため...