Re: One Ring to Bind Them
Date: 16 Jun 2004 04:10:43 -0700
"Dawn M. Wolthuis" <dwolt_at_tincat-group.com> wrote in message news:<can9nq$q7r$1_at_news.netins.net>...
> Take a deep breath and then delegate ;-)
> Both relational and declarative seem rather obvious choices to you and
> neither does to me. My issues with declarative include:
> 1) There seem to be no standards for the black box that does something with
> the declarations. I don't need standards-committees with years of process
> to adopt a standard -- I don't even know anything that would help ensure
> portability of such declarations. SQL has come the closest and does have
> standards, but we all know you can't just take any code you write against
> one database and run it against another.
Well, I'm not sure about that; if you like Prolog style declarativeness, then that's already subject to an ISO standard. Alternatively, if you like Haskell, then the Haskell Standards Committee does a good job of keeping that in good order. So, if either of those is used for declarative constraints then yes, you should be able to port around. (Although you might like to have an argument about the "declarativeness" of Prolog when cut is used.)
> 2) It doesn't read like English -- the verbs are missing, for example. I'd
> like to keep some of Grace Hopper's goal alive of writing code that human
> beings can read
This is no bad thing - what makes English excellent for writing poetry and novels makes it hopeless for writing any sort of formal prose - either systemised for computers or systemised for lawyers.
> 3) While hiding much that should be hidden, it "feels like" so much gets
> hidden that people spend time trying to figure out how it does things in
> order to be good at writing declarations
I agree with the other poster - this is because people are trying to be too clever for their own good.
> 4) Invariably functions become one of the things to get specified. If we
> are going to specify both data and functions, which, afterall, is what needs
> to happen, then what benefit is there to specifying a function and
> specifying where it is to be used rather than specifying the function and
> then using it where it needs to be used?
I'm a little confused by this point; care to expand on this ?