← Back to context

Comment by cmrdporcupine

4 hours ago

This just exposes how weak this definition of declarative is, I think. Or how it's carrying two meanings here.

What you're really talking about is one of the things Codd wanted to emphasize: representational independence. Which actually was the primary thrust of his famous paper: the user should not need to know how the data is stored in order to use or manipulate it.

The other thing that people are talking about with "declarative" is probably another level up in abstraction. Talking about the business logic or problem in terms that are closer to logic than a sequence of instructions, and then letting the machine sort out what those steps are.

Consider in a Datalog users don't customarily perform DDL type operations; they declare data rules and the system decides the form of the underlying relations. That's a small step up the declarative ladder from SQL, even if it's somewhat analogous to "create view".

So I think there's a blurry definitional line between the two. But I don't think your very blunt "No." is doing much to help clear that up?