Declarative Knowledge Programming: Better Than Procedural?