UIプログラミングに適したパラダイム


9

これは、OOPはGUIプログラミングの正しいパラダイムではないと誰かが述べたOOPテクノロジーの死のコメントから来る、より具体的な質問(または実際には2つですが、それらは関連しています)です。

そことここでコメントを読んで、まだ学ぶべきことがあると感じています。どのプログラミングパラダイムが適切であると見なされ、なぜ他のパラダイムよりも優れているのでしょう(例として、例を示してください)。

タイトルと質問からtk-exampleを削除しました


@Inca-心に留めておいてください。SK-logic(このコメントを作成した人)は、あらゆる機会にOOPと戦います。私は彼がtkがOOPにまったく関係していないことを本当に証明できるかどうかを強く疑います。
Andreas_D 2011年

-1:個人的な意見を事実であるかのように引用します。「OOPはGUIプログラミングに適したパラダイムではない」とは、GUIプログラミングではOOPに大きく依存しているように見えるC#とObjective Cに直面することになるでしょう。それが適切なパラダイムでない場合、Appleの巨大な市場シェアのすべては実際には存在しないか何かです。
S.Lott

1
@ S.Lottそれは正しいパラダイムではありませんが、GUIは宣言型でなければなりません。あなたは人気と正しいことを混同しているようです。
レイノス2011年

@Raynos:「宣言的」。のように、いくつかの関連オブジェクト?宣言がオブジェクトの束の間の関係の束ではないことを私は理解していません。そして。これは、この質問ではトピックから外れているようです。問題はオブジェクト指向についてであり、GUIを書くためのより良い方法ではないようです。タイトルは実際の質問に比べて誤解を招くようです。どちらもあまり良くありません。
S.Lott

1
@Inca:単なる誇張として完全に無視することを検討してください。
S.Lott

回答:


9

私は通常OOPの支持者ではありませんが、GUIプログラミングはOOPの強力な点を使用するための最良の機会のいくつかを提供すると思います。OOPのポリモーフィズムと継承を使用することで、さまざまなウィジェットの実装が大幅に容易になります。PLTラケットのGUIライブラリが良い例です。


2
関数型リアクティブプログラミングはまだ適しているようです。
SKロジック

@ SK-logic:そのための非常に良い例を作ることができ、Common Lispでいくつかの興味深い研究(Cellsについて聞いたことがありますか?)がその方向で行われました。より正確になるように回答を編集します。
Larry Coleman

5

ウィジェットとそのレイアウトで構成される典型的なGUIは完全に宣言型です。ウィジェット自体は相互に作用しないため、オブジェクトとメッセージの概念はここではやや異質です。階層的宣言型DSLは現在、主流の一種であり、Tkは初期の例の1つであり、WPFは同じことに対するより現代的なアプローチです。関数型反応プログラミングは、興味深い(しかしあまり普及していない)アプローチです。

一部の人々は、階層が定義されている場所でOOPを見る傾向があります。


3
私の経験では、ウィジェットはより良いGUIを作成するために相互に対話する必要があり、私が遭遇したより宣言的なシステム(HTML + cssを含む特定のxmlベースのシステム)は、対話部分の可能性を確かに欠いています。また、宣言型(プロローグ)と関数型(ハスケル)を使用してUIを組み込んだ私の経験は、それが簡単であるという印象を実際には与えませんでした。これについて詳しく議論していると思われる情報源はありますか?特定のアプローチがよりうまく機能する理由をあまり説明していない非常に抽象的な(または非常に基本的な)例しか思いついていない
Inca
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.