relational model applied to simulation programming
Date: 17 May 2006 13:51:28 -0700
Message-ID: <1147899088.310718.120840_at_j73g2000cwa.googlegroups.com>
Thank you "x" and Marshall. I appreciate your feedback especially considering that my question was so vague. Your responses were most welcoming. I split this topic off into a new thread, I hope that was an acceptable thing to do?
Keith H Duggar wrote:
> Yes I believe I do. Unfortunately I do not yet possess the
> knowledge and vocabulary needed to properly formulate the
> questions here. Basically I want to know if and how the RM
> can be leveraged to improve and simplify numerical
> simulations. Typically I implement OO/network models using
> C++. In the recent past slogging through tedious
> navigational code (pointers, iterators, visitors, etc) led
> me to wonder if there was a better way. Hence I wandered
> over to c.d.t. looking for education and inspiration.
x wrote:
> What part of them should not require many loops in your
> opinion ? Matrix calculations ?
Marshall wrote :
> Ah, what an excellent topic!
>
> I believe the answer to your question is yes. The most
> immediate places the RM can help is physical independence
> and set-at-a-time processing. I think the example of the J
> programming language
>
> http://jsoftware.com/
>
> is quite instructive. Although it is more focused on
> ordered collection rather than relations, it nonetheless
> has a solid mathematical foundation and no explicit loops.
Thank you. It will be interesting to compare J to APL, K, and Joy among others.
> Physical independence comes in when one considers how much
> work many C++ programmers have to do to, for example, lay
> out their data in a way that will satisfy a graphics
> coprocessor, or enable them to use SIMD instructions. It
> would be better if this was abstracted from the code.
Or even laying out data in a structure convenient for your own analysis. A particular network may be very convenient for one analysis and a nightmare for other. I'm beginning to understand this is the concept of "access paths" correct? And that a network model encodes and optimizes a particular access path whereas a relational model does not? And thus a RM allows many access paths? Efficiently?
> To achieve the big wins, though, we need a programming
> language that uses the RM at its core, and that has
> support for physical independence. I am afraid that at
> this time this is just a wish.
I'm glad you brought this up because I'm VERY curious about this. Is it so that such a language is still just a dream? What about APL, Joy, K, and Prolog for example? What are their good and bad points from a relational support perspective? Is there a RM programming language on the horizon or under development?
- Keith --