Good list, thanks!

Can't wait to read the book so I understand what you mean by templates vs. ordered facts ;)

Hello Mark,

On the documentation page there is a list of books:
http://labs.jboss.com/portal/jbossrules/docs/index.html

Jess is probably the best book. The thing that really bugs me about
Jess In Action is that none of the examples use Templates, i.e.
classes. Instead he uses ordered facts for all of the examples, which
don't translate well to java applications.

Mark
Mitch Christensen wrote:
I think that Jess in Action is the best available as far as learning
rules based (though not necessarily declarative) programming.

I definitely think that using JIA to learn Drools is a reasonable
approach; it is the path that I took.

JIA does focus on the Jess language syntax, but it's not a huge leap
from Jess syntax to Drools (3.x anyways).

-Mitch

-----Original Message-----
From: news [mailto:[EMAIL PROTECTED] On Behalf Of Russ Egan
Sent: Tuesday, April 11, 2006 10:57 AM
To: [email protected]
Subject: Re: [drools-user] How to express conditional logic via DRL -
?
Those are good documents.  I'd read through them a couple times.  I
just more :)

Is "Jess in Action" good?  Is it generally applicable to rules
engines, or is it pretty much just Jess mechanics?  One of the Amazon
reviews indicated this.

Hello Peter,

About the high-level question I remember reading an essay on the
Jess webpage that might help:

Some Guidelines For Deciding Whether To Use A Rules Engine (
http://www.jessrules.com/jess/guidelines.shtml )

Another paper from the Jess community that might be helpfull is:

The Zen of Jess
( http://www.jessrules.com/jess/zen.shtml )
There should be more information out there on the Internet, but
nothing comes to mind directly.
Regards,
Peter
Russ Egan wrote:
That's fair, and Mark's comment about the drools manual is
encouraging as well.  Maybe I just haven't found really
illustrative reading on declarative programming yet.  I've looked
into it from time to time, but never found enough guidance to
figure out how it applies to real-world use cases.

I feel like a cookbook would be very useful though.  Some common
patterns in procedural programming, why they are good candidates
for accomplishing with declarative programming, how they translate
into rules, patterns, anti-patterns...practical stuff.  Seems like
much of the lit on declarative programming is very academic...hard
to boil that down to tools I can use in my work.  The anti-patterns
would be a big help actually, both high-level "this problem isn't
suited to rules" and low-level "don't write rules like this" stuff.

I'm really surprised there isn't more of this out there, or at
least that I haven't found it yet.

Hello Dave,

Before you try to tackle a rules engine, you should definitely
have a good understanding of declarative programming languages.
Declarative programming is very different from functional
programming a la Java, C++, C#, Visual Basic, Fortran, Cobol, etc.
To build your fundamentals in declarative programming, you should
attempt to master a language like Prolog or Lisp.  These languages
were the inspiration for many of the rules engines that we have
today.  These were the tools that Charles Forgy and others
experimented with before they developed the technologies that we
leverage today in the rules community.  I would be hesitant to put
a warning label on a Rules Engine as we would on cigarettes.
However, let me say this: "WARNING: The surgeon general cautions
users of rules engines that dabbling with rules engines without a
core understanding of declarative programming may be hazardous to
your sanity."

Best Regards,

Dave

-----Original Message-----

From: news [mailto:[EMAIL PROTECTED] On Behalf Of Russ Egan
Sent: Tuesday, April 11, 2006 8:25 AM
To: [email protected]
Subject: Re: [drools-user] How to express conditional logic via
DRL
-
?
Speaking of which, I've tried to find good, in-depth guides for
rules
engine usage.  Best practices, rules writing guidelines,
cookbooks,
advanced use cases, patterns, etc...  All I've found are very
shallow
"introductions"
to rules engines.  Does anyone know of good, educational
materials
of
this nature on the web?  Or good books?
It's tough to avoid using rules engines "the wrong way" when this
is
little guidance for using them "right way", and when rules
engines
are so conceptually different from procedural programming.
Hello Mark,
Unfortunately I'm finding that many people just cannot adjust to
the declarative and coupletely decoupled nature of a rule engine.
The end result is that Drools is used as a script execution
framework.

Felipe Piccolini wrote:

Mark,

I could vote on this, I would vote no to the 'else'. The
declarative thing about rule engines is that: no procedural code.
So if you wanna do an 'else' condition you should re-think your
rule and chack if its well writen. Of course this is just MHO.

:)

Tuesday, April 11, 2006, 6:09:22 AM, you wrote:

I thought about adding 'else' but I couldn't decide on the best
way to implement it, as there are several possabilities. Also
'else' is not considered declarative, so its a kinda of code
smell. I'll llook into this again in 3.1

Mark
Geoffrey Wiseman wrote:
On 4/10/06, Dmitry Goldenberg <[EMAIL PROTECTED]>
wrote:
What is the timeframe for 3.1?  Else/else if are very important
to
what we're trying to do.
I can see how I can to the following with the method described by
Geoffrey:

if (A) then B else if (C) then D endif

I also want to be able to do the following:

if (A) then B else D endif

I imagine that the rule would have to be written as a combo of

if (A) then B endif
if (!A) then D endif
so that the conditions are complimentary...
Indeed, yes, that's how you'd handle it.
If it does make it into 3.1, that's a good thing in terms of
supporting the way people think, talk, and work in other
languages,
but fundamentally, the same capabilities are there now -- they
just
require more typing.
- Geoffrey
--
Geoffrey Wiseman
--------------------------
Felipe Piccolini
[EMAIL PROTECTED]



Reply via email to