問題タブ [language-features]
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.
php - PHPの全体的な設計哲学は何ですか?
私は最近、クライアント用の Drupal アプリケーションを通じて PHP (5) に初めて出会いました。使いこなしてみて特に難しいことはありませんでしたが(たとえば、ドキュメントが充実しているなど)、「これは賢い!」「これは使っていて楽しい!」と思った瞬間はありませんでした。さらに、関数がどのように命名されるかを正確に予測することも、従うべき指針を確認することもできませんでした。
これは、たとえば Ruby とは対照的です。Ruby では、すべてがオブジェクトであり、メソッドは予測可能で疑似ポリモーフィックであり、ブロックは (いくつかの例を挙げると) 使用するのが楽しくなります。対照的な他の言語のハイライト: Python のリスト内包表記は、反復に対する考え方を変えます。C は、ポインターとビット操作を使用してハードウェアに戻ります。javascript は、名前のない関数とハッシュの高度なサポートを備えており、驚くほど優れています。無愛想さは、データに感謝し、関連性を考慮してデータについて考えるように強制します。
それを念頭に置いて、phpのハイライトは何ですか? そして、言語の全体的な設計哲学は何ですか? PHP が全体的にあまり評判がよくないことは承知していますが、多くのプロではない開発者がコードのコピーと貼り付けを行っているため、それは認識の問題であるといつも聞いていました。
編集:
さて、コンセンサスは、PHP は Web プログラマーのモンキー レンチであるということです。私はそれを受け入れることができます。私はただ洞察を探していましたが、私はすでにそれを持っていたと思います. たとえば、mod_php/libphp を高く評価しています。また、php の経験がなくても 2 週間でアプリケーションを完成させることができました。
投稿ありがとうございます。
python - 実行時に Python 関数/メソッド デコレータを置き換えることは可能ですか?
関数がある場合:
実行時にデコレータを置き換えることは可能ですか?
java - ブラウザを介してJavaプログラムをローカルに配信する方法
1台のマシンで完全にローカルで実行されるアプリケーションを作成したいのですが、インターネットや外部マシンに接続する必要はありません。
このアプリケーションのプラットフォームとしてWebブラウザーを使用するのは良い考えだと思っていました。そうすれば、多くのUIをいじくり回す必要がなくなり、Webページをかなりすばやくまとめて利用できるようになります。アプリケーション全体で一貫したスタイルを取得するためのCSS。
ただし、問題のマシン上のMYSQLデータベースと対話したいと思います。このことを念頭に置いて、ユーザーがアプリケーションから入力した情報をJavaを使用して処理し、JDBCを介してデータベースに伝達できると考えていました。
アプレットを使用してこれを行うことができることは知っていますが、その欠点は、ユーザーがファイルをローカルマシンに保存できるようにすることです。また、アプレットがサンドボックスで実行されるため、アプレットが取得できないことを確認しました。ローカルマシンへのアクセス。
PHPを使用できることも知っていますが、Javaが最適なオブジェクト指向設計を利用したいと思います。
誰かがこれについて最善の方法を決定するのに役立つ可能性のある考え、提案、またはチュートリアル/Webページへのリンクを持っていますか?
どんな考えでも大歓迎です。
javascript - それらをループするときにJavaScriptオブジェクトのフィールドの順序は予測可能ですか?
PHP で、次のコードがある場合:
エントリは、配列に追加された順序でリストされることがわかっています。
さて、同じルールが以下の同等の Javascript に適用されると仮定できますか?
c - C マクロは何に役立ちますか?
私は C を少し書いたことがあり、C が何をしているのかを理解するのに十分なほど十分に読むことができます。マクロが何であるかを覚えておき、読みながら頭の中で代用する必要があります。私が出会った直感的で分かりやすいものは、いつも小さな小さな機能のようなものでした.
プリプロセッサでデバッグまたはクロスプラットフォーム ビルド用にさまざまなビルド タイプを定義する必要があることは理解できますが、任意の置換を定義する機能は、すでに難しい言語をさらに理解しにくくするためにのみ役立つようです。
C にこのような複雑なプリプロセッサが導入されたのはなぜですか? そして、単純な if #debug スタイルの条件付きコンパイル以外の目的でまだ使用されているように見える理由を理解できる使用例はありますか?
編集:
いくつかの回答を読んでも、まだわかりません。最も一般的な答えは、コードをインライン化することです。inline キーワードがそれを行わない場合は、それを行わない正当な理由があるか、実装を修正する必要があります。「このコードを実際にインライン化する」ことを意味するまったく異なるメカニズムが必要な理由がわかりません(インライン化の前に書かれたコードは別として)。また、「関数に入れるにはばかげている場合」という考えも理解できません。確かに、入力を受け取って出力を生成するコードは、関数に入れるのが最適です。私は C 言語のマイクロ最適化に慣れていないので、理解できないかもしれませんが、プリプロセッサは、いくつかの単純な問題に対する複雑な解決策のように感じます。
c# - null合体代入演算子?
C# で ??= 演算子が使用できるようになれば、非常に便利です。私は次のことを頻繁に書いていることに気づきました。
私はむしろ次のように書きたいと思います:
考え?新しい言語拡張は、その性質上、常に物議を醸しています。
language-features - 3 つの値変数、最大、最小、実際
ずっと前に、私はエキスパート システム言語である Egeria を使用してシステムを開発しました。変数に最小値、最大値、現在値の 3 つの値があるという非常に便利な機能がありました。このようにして、部分的に既知の値の確率が計算され、結果は範囲として終了します。構文は覚えていませんが、次のようなものでした:-
私の質問はこれです、このアプローチは何と呼ばれ、現在の言語はそれを実装していますか?
python - Python 関数の引数の最大数はいくつですか?
Python 関数が最大 256 個の引数を持つことができることは、ある程度一般的な知識です。私が知りたいのは、この制限が適用されるかどうか、*args
および**kwargs
次の方法でアンロールされる場合です。
仮説として、256 項目を超えるリストが*args
またはのセットとして展開される場合があるかもしれないので、質問し**kwargs
ます。
python - Ruby と Python の両方でモンキー パッチが許可されているのに、なぜ Ruby でもっと物議をかもしているのでしょうか?
私が聞いた Ruby についての多くの議論では、人々がこの言語について留保を表明していましたが、モンキー パッチの問題が彼らの主要な関心事の 1 つとして取り上げられました。
ただし、Python 言語でも許可されていますが、Python のコンテキストで同じ議論が行われることはめったにありません。
なぜこの区別?
Python には、この機能のリスクを最小限に抑えるためのさまざまなタイプのセーフガードが含まれていますか?
language-features - Cobol の明るい面は何ですか?
言語の優れた機能を調査するのに時間を費やすのが好きです.たとえすぐにそれらを使う機会がなくても.と同じくらい重要になります。では、Cobol から学べる優れた機能は何でしょうか?