問題タブ [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.
paradigms - 宣言型プログラミングと命令型プログラミング
私はプログラミングの2つの主要なパラダイム、宣言型パラダイムと命令型パラダイムを研究しています。教科書やウィキペディアで行われた次のようなあいまいな発言を理解するのに苦労しています。
宣言型:-コンピュータが行うことの「何」に焦点を当てます。-「副作用」がない-制御フローなし
必須:-コンピュータがそれを行う「方法」に焦点を当てます。-一連のアクションの観点からそれを行う方法
2つのプログラミングパラダイムをどのように区別しますか?上記のステートメントを拡張できれば、非常に役立ちます。
windows - OO の質問への初心者
私の質問は、Windows フォームに関するものです
顧客と注文用のコンボボックスがあり、それらのコンボボックスで行われた選択に応じて、すべての注文の詳細のデータグリッドを設定するとします。
データグリッド行内のダブルクリック イベントに興味があります。
イベントが発生すると、次の 2 つのことが発生する可能性があります。
- レコードが削除されました。
- 1 つまたは両方のコンボボックスが変更されました。
オブジェクト指向の経験がないため、コード ビハインドですべてのロジックを処理しています。
それは間違ったことですか?すべての条件が満たされた場合にイベントをキャンセルするか、何か他のことを行うかどうかのブール値を返すクラスを作成する必要がありますか?
そのロジックを処理するクラスを作成する場合、そのクラスはデータグリッドと関連するすべてのコントロールとそれらの以前の値と現在の値への参照を必要とします。
私はただ混乱しています。
programming-languages - プログラマーになるには何が必要ですか?
プログラマーになるためには何を勉強すればよいですか。(プログラミング言語を除く:))
C/C++ と Java( はいくらか知っていますが、プログラマーの考え方はありません。おそらくいくつかのアルゴリズムを勉強する必要があります。あなたの意見は?
design-patterns - エンジニアリングをやりすぎずに、紙でプログラムの設計を開始するにはどうすればよいですか?
コーディングを始める前に、紙の上でソフトウェアを適切に設計し始めることに興味があります。これに対する標準的なアプローチは何ですか?
私はUMLに沿って何かを考えていますが、それは1人のプロジェクトにとっては少しやり過ぎだと感じています。
趣味のプロジェクトを開発するときに専門家がするのが最善だと言うことのいくつかは何ですか?
いつものように投票が終了することを期待して、これは議論の余地がありません。それは明確な答えであり、何かが確立されることを期待しています。:P
php - ブール値の PHP IF ステートメント: $var === true vs $var
私はこの質問がそれほど重要ではないことを知っています..しかし、私は疑問に思っていました:
次の IF ステートメントのうち、使用するのに最適かつ最速のものはどれですか?
=== はブール値と正確に一致することを知っています。しかし、本当に改善はありますか?
oop - OOPの実用的な使い方
私は最近、 OOPのファンではない同僚と議論をしました。私の注意を引いたのは彼が言ったことでした:
「オブジェクトでコーディングを行う意味は何ですか?再利用する場合は、ライブラリを作成して、手元にあるタスクに必要な関数を呼び出すことができます。ポリモーフィズム、継承、インターフェイス、パターンなどの概念が必要ですか? 「」
私たちは、eコマースサイトや不動産向けの小さなプロジェクトを開発している小さな会社にいます。
「日常の現実の」セットアップでOOPを利用するにはどうすればよいですか?それとも、OOPは本当に複雑な問題を解決することを目的としており、「日常」の開発を目的としたものではありませんか?
c# - プログラミングにおける宣言型パラダイムと命令型パラダイムの違いは何ですか?
私はWebを検索して、私に光を当てる宣言型および命令型プログラミングの定義を探しています。しかし、私が見つけたいくつかのリソースで使用されている言語は、たとえばWikipediaなどでは気が遠くなるようなものです。この主題に何らかの視点をもたらす可能性のある実際の例を誰かが私に示すことができますか(おそらくC#で)?
functional-programming - 関数型プログラミングの落とし穴/欠点
関数型プログラミングを使用したくないのはいつですか? 何があまり得意ではないのですか?
私は、「広く使用されていない」や「適切なデバッガーが利用できない」などではなく、パラダイム全体の欠点を探しています。これらの答えは今のところ正しいかもしれませんが、FP は新しい概念 (避けられない問題) であり、固有の性質ではありません。
関連している:
java - 動的言語で「動的」が多すぎることはありますか?
ここ数か月、私は Java から Groovy に移行してきましたが、Java から Groovy への移行を行ってきました。コードの削減、クロージャー、ビルダー、最終的に Grails のようなフレームワークを可能にする MOP、テストを作成する際のモックの容易さなど、多くの利点を評価できます。 .
しかし、私のコードは十分にグルーヴィーではないと同僚から「非難」されています。つまり、私はまだパラメーターとフィールドの型を宣言しており、ダックタイピングなどの代わりに継承とポリモーフィズムを使用する傾向があります。これらの状況では、動的対静的だけでなく、動的対オブジェクト指向パラダイムでもあるようです。一種のジレンマ。そのような場合、私はまだ OO を好む傾向があります。OO パラダイムは、コード構成を抽象化し、特定の実世界の概念に関連付けることができるという基本的な前提に大きな価値があると感じています。
だから、ここに私が助けを必要とする特定の質問があります:
パラメータやフィールドなどの型を宣言する必要がありますか?
単純なメソッドで行う場合、コードのブロックをクロージャーとして宣言する必要がありますか?
ポリモーフィック ダイナミック ディスパッチの代わりにダック タイピングを使用する必要がある場合。たとえば、groovy では、animal."$action"() または def animal; を実行できます。animal.action() 、代わりに Animal animal = new Dog(); animal.action()。Open-Closed 原則のコンテキストで最初の問題を見ることができますが、オブジェクト指向スタイルのポリモーフィズムを好む他の理由はありますか?
groovy でインターフェイスを使用する必要があるのはいつですか?
書ききれなかった同様のジレンマが他にもあると確信しています。また、これらの質問は groovy だけでなく、他の動的言語にも当てはまると思います。あなたの意見は何ですか?