問題タブ [paradigms]

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.

0 投票する
2 に答える
3252 参照

oop - 現実世界のエージェント指向設計?

私たちはソフトウェア開発クラスでエージェント指向プログラミングについて学んでおり、私の教授はそれを大いに支持しており、彼の人生全体でエージェント指向プログラミングに取り組んできました。

私の質問は、設計と実装の両方の観点からエージェントを使用することの真の利点/欠点についてです。私の教授の観点からすると、エージェントは通常の OOP メソッドよりもはるかに簡単に非常に複雑な操作を再現できます。しかし、複雑な環境でエージェントをプログラムするのも同様に面倒だと私には思えます。これらは、さまざまな並行性、タイミング、およびデータの整合性の問題の影響を受けます。コーダーの観点から見ると、エージェント コードはかなり複雑で、通常の OOP コードよりもはるかに理解しにくいものです。

ソフトウェアエージェントが実際の開発でどのように見られているか、また学術的な演習以外でどのような利点/欠点があるかについて誰か教えてもらえますか?

0 投票する
2 に答える
22572 参照

programming-languages - リアクティブプログラミングと関数型リアクティブプログラミングの違い

私は最近リアクティブプログラミングについていくつかの研究を行っていますが、リアクティブと関数型リアクティブの違いについての適切な説明を見つけるのは難しいと感じています。

宣言型またはOOパラダイムを使用するのではなく、機能的なメソッド/パラダイムを使用してリアクティブプログラミングを実装するだけですか?

0 投票する
2 に答える
110 参照

dependencies - 私はそれを副作用プログラミングと呼びたいのですが、これにはもっと適切な用語が必要です

次のプログラミング パラダイムの名前は?

コードは、true (句) に解決される一連の論理テストに基づいて実行されます。この句は、演算子とオペランドで構成されます。各オペランドは値/オブジェクトです。

命令型言語 (例: のような通常のフロー制御) で行われるように、句を明示的に評価する代わりにif(){}、句が宣言され、結果のコードにバインドされます。句が満たされると、将来の任意の時点でコードが実行されます。

したがって、基本的には、依存関係の状態が変化するたびにコードを実行する必要があるかどうかを再評価する依存関係ツリーです。

例えば、

より正式な名前と定義を探していますが、検索しても何も思いつきません。これは宣言型と命令型の間のどこかですが、これを可能にする言語やパラダイムは見たことがありません。

ありがとう、ショーン

0 投票する
4 に答える
131 参照

python - Pythonでは、Noneでない場合に関数の値を返すきれいな方法はありますか?

次のようなコードをたくさん書いていることに気づきました。

これを 1 または 2 ライナーにするきれいな方法はありますか? そのようなパラダイムの「例」は

0 投票する
2 に答える
7610 参照

r - R のプログラミング パラダイムとは何ですか?

R (GNU S の R) のプログラミングパラダイムは何ですか?

私は、さまざまな概念パラダイムのプログラミング言語 (C++、Java、Prolog、およびその他のいくつかの言語でプログラミングされている) に精通していると思いますが、独自の小さな R スクリプトを既に作成していますが、R がどのパラダイムを表すことになっているのかわかりません。

0 投票する
3 に答える
6141 参照

functional-programming - 日常の問題を解決するために純粋な関数型プログラミングを使用することに苦労している

今日のハッカーニュースでこの投稿を見ました。私は、純粋な関数型プログラミングが現実世界の問題を抽象化するのにどのように役立つかを理解するという同じ問題に苦しんでいます。私は 7 年前に命令型プログラミングから OO プログラミングに切り替えました。私はそれをマスターしたと感じています。ここ数年で、map や reduce などの関数型プログラミングのトリックや概念をいくつか学びましたが、それらも気に入っています。私はオブジェクト指向コードでそれらを使用しており、それに満足していますが、一連の命令を抽象化するとき、コードをより美しくするためのオブジェクト指向抽象化しか考えられません。

最近、私は python の問題に取り組んでおり、それを解決するために OO を使用しないようにしています。ほとんどの場合、私のソリューションは必須のように見えますが、OO を使用すれば見栄えが良く、きれいに見えることはわかっています。私は問題を投稿しようと思っていました.機能の専門家が美しく機能的な解決策を提示できるかもしれません. 必要に応じて醜いコードを投稿できますが、投稿したくありません。:) 問題は次のとおりです。

ユーザーは画像または画像のサムネイルをリクエストできます。ユーザーが画像のサムネイルを要求し、それがまだ存在しない場合は、python の PIL モジュールを使用して作成します。また、元の画像名はハッシュコードであり、その内容を説明するものではないため、人が読めるパスを使用して元の画像またはサムネイルへのシンボリック リンクを作成します。最後に、そのイメージのシンボリック リンクにリダイレクトします。

OO では、SymlinkImage 基本クラス、ThumbnailSymlinkImage サブクラス、および OriginalSymlinkImage サブクラスを作成する可能性があります。共有データ(SymlinkImage クラス内)は、オリジナルへのパスのようなものになります。共有動作は、シンボリック リンクを作成します。サブクラスは、該当する場合はサムネイルを作成し、スーパークラスを呼び出して新しいシンボリック リンクを作成する「generate」などと呼ばれるメソッドを実装します。

0 投票する
5 に答える
273 参照

function - 機能をバラバラにする行為を何と呼ぶ?

通常、私は多くのプライベート関数を介してクラス (C#、C++) を実装します。これらの関数は、読みやすさ、保守性、およびスコープのために懸念事項とロジックを分離する以外の目的はありません。たとえば、100 行の長さの関数に 3 つのコメントが含まれていて、それを仮想の 1/3 セクション チャンクに分割している場合、それは私にとって 3 つの関数です。そのため、その大きな関数を 3 つの小さな関数に分割し、元の関数は 3 つの関数のみを呼び出します。

このパラダイムの名前がわかりません。最初は関数型プログラミングかモジュール型プログラミングかと思ったのですが、そうではないようです。このパラダイムが何と呼ばれているかを理解するのを手伝ってくれる人はいますか? さらに、この正確なユース ケースについて説明しているウィキペディアの記事へのリンクを読むことができれば、すばらしいでしょう (もちろん、パラダイムの名前を教えていただければ、自分で簡単に調べることができます)。

前もって感謝します。

0 投票する
4 に答える
764 参照

c++ - C++ プログラマーのための C の落とし穴と間違い

あなたが C プログラマーまたは C をよく知っている C++ プログラマーである場合、C++ プログラマーから気づいた最も一般的な間違い/パターン/スタイルを教えてください。たとえば、C プログラマーが作成した C プログラムと C++ プログラマーが作成した C プログラムの違いに気付きましたか? C++ プログラマーが C について持ちがちな主な誤解を特定するリストを提供できれば、本当に感謝します。

C を学びたいと思っていますが、C++ のバックグラウンドがあると役に立ちますが、それが害になるのではないかと心配しています。私は、C++ を知っているので、いくつかのキーワードとライブラリを除いて、他に何も学ぶ必要がないという奇妙な思い込みを持っています。私は C++ != C を認識しているので、その仮定を持っていることに気分が悪くなりますが、C++ で C ライブラリを使用したり、他のものからレガシー手続き型 C++ を維持したりすると、違いがぼやけてしまうことがあります。

ところで、私は C に存在しない C++ の機能は何か、または「malloc」を使用して「new」を使用するかどうかを尋ねているわけではありません。

ありがとう。

0 投票する
5 に答える
18039 参照

oop - OOPの反対は何ですか?

私は高校でJavaとPythonを学び始めましたが、私はいつもOOPを学んだと思いますが、他に何も質問はありません。OOP以外のプログラミングパラダイムやプログラミング言語の種類は何ですか。

0 投票する
6 に答える
4302 参照

c# - C#パラダイム:リストへの副作用

私は、副作用と、それらをどのように制御および適用すべきかについての理解を深めようとしています。

次のフライトリストでは、条件を満たす各フライトのプロパティを設定したいと思います。

この式では、リストに副作用があります。私の限られた知識から、私は元のために知っています。「LINQはクエリにのみ使用されます」および「リストへの操作はわずかであり、値の割り当てまたは設定はそれらの1つではありません」および「リストは不変である必要があります」。

  • 上記のLINQステートメントの何が問題になっていますか?また、どのように変更する必要がありますか?
  • 上記のシナリオの基本的なパラダイムに関する詳細情報はどこで入手できますか?