Whether to apply the declarative or imperative programming paradigms
really depends much on how data and behaviour should be bound together
in your problem domain. When the relationship between data and
behaviour is fairly weak and highly dynamic, DSLs with declarative
syntax built upon rule engines or workflow/process engines are more
expressive to transfer the real-world scenarios to a computational
model. Workflow/process engines emphasize on conducting the behaviour
while rule engines emphasize on constraining the data. Declarative and
imperative programming paradigms are not mutually exclusive and a good
programming language (for example Jess), usually takes advantages of
both paradigms to achieve maximal expressiveness.

On 1/31/07, Doug Metzler <[EMAIL PROTECTED]> wrote:
And the degree to which a production system leans toward the declarative
or imperative end of the spectrum is as much a matter of programming
style as the language itself.  To the degree that you are thinking of
each rule as a specification of what to do under a set of circumstances,
with flow of control influenced strictly by how the KB changes, you are
emphasizing declarative programming.  To the extent that you are thinking
explicitly about a specific flow of control as in convential programming
you are moving toward procedural programming.
Doug Metzler

On Tue, 30 Jan 2007, Ernest Friedman-Hill wrote:

> Well, rules themselves are definitely a declarative programming concept. But
> Jess also offers an imperative language, and in fact the right-hand-sides of
> rules consist of imperative code.
>
> So in fact, Jess, and systems like it, are hybrid declarative/imperative.
>
> On Jan 30, 2007, at 5:03 PM, Matthew J Hutchinson wrote:
>
>> Hi everyone,
>>
>> I'm trying to categorize Jess in terms of the different programming
>> language paradigms. Is Jess "declaritive"?
>>
>> Thanks,
>> Matt
>>
>
> ---------------------------------------------------------
> Ernest Friedman-Hill
> Advanced Software Research          Phone: (925) 294-2154
> Sandia National Labs                FAX:   (925) 294-2234
> PO Box 969, MS 9012                 [EMAIL PROTECTED]
> Livermore, CA 94550                 http://www.jessrules.com
>
> --------------------------------------------------------------------
> To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
> in the BODY of a message to [EMAIL PROTECTED], NOT to the list
> (use your own address!) List problems? Notify [EMAIL PROTECTED]
> --------------------------------------------------------------------
>

--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------




--
Ellen Ning Zhao
Department of Computer Science
University of Applied Science of Kaiserslautern at Zweibruecken

--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to