Seite 1 von 1

Conceptual vs. Representational Proximity

Verfasst: 20. Jul 2013 21:42
von Lemurhummel438
Hi,

can somebody please clearly explain the difference between those two?

What I believe to understand so far:
* How to maximize CP: Try to represent domain objects very directly in languages. E.g., in a OO language, use classes instead of "hacking it into strings". The program will be easier to understand.
* A high RP means that reading/writing in the programming language should not be too different from what you would do intuitively (when you've never seen the programming language).

So, am I right in saying that CP is all about the objects themselves and RP about the operations you can apply to them?

Thanks

Re: Conceptual vs. Representational Proximity

Verfasst: 21. Jul 2013 13:12
von Osterlaus
Good question - I came about that too. In the definition of those two, the term "encoding" and "representation" is the difference, but here I would see these two words as synonyms. As far as I read that from the slides, your conclusion sounds right st. conceptual proximity cares about putting states from a domain into code and representational proximity cares about working with them...

Re: Conceptual vs. Representational Proximity

Verfasst: 21. Jul 2013 13:17
von f_jakob
Lemurhummel438 hat geschrieben:So, am I right in saying that CP is all about the objects themselves and RP about the operations you can apply to them?
Your descriptions of what conceptual proximity and representational proximity are seem about right, but the above statement is disputable.

To my understanding, representational proximity is all about how natural it feels to read and write concepts of a domain in your language. So imagine you have an expert in a domain, who can not program at all. He does not have an understanding of functions, arrays, objects, and so on. But he looks at a program in a DSL an immediately knows what it is doing. The other way around, he can easily guess how to express other concepts of this domain in the DSL. This language then has good representational proximity.

Conceptual proximity is about how well the concepts itself are represented in the DSL. This includes, that the library which is used to map from syntax in your DSL to behavior in your implementing language uses the same terms as the domain. So for example, if an expert in a domain, who can program, looks at the implementing library, he immediately knows what behavior is implemented where or how he can express concepts in the library.

At least this is how I distinguish the two terms.

Also note, that DSLs are not part of the exam.

Re: Conceptual vs. Representational Proximity

Verfasst: 21. Jul 2013 17:54
von Lemurhummel438
Thanks for your answers.

@f_jakob: I understand your definition of RP. I think this is pretty close to mine.
About your explanation of CP: That sounds like CP isn't really about the DSL itself but about its embedding into another language (or implementing it in some way).
Also note, that DSLs are not part of the exam.
I did not know that. Thanks!