Re: JESS: when functional language is better that structuredlanguage ?
I think [EMAIL PROTECTED] wrote: Hi, I have a basic question could u please tell me that what kind of problems can be easily solved using functional languages like Lisp or Jess rather than using a structured language like C or Java. Neither Lisp nor Jess is really a functional language in the sense that ML or Haskell or OCaml are, although some dialects of Lisp offer good support for a functional programming style (Scheme in particular.) Because Lisp and Jess offer variables and assignment, they're really pretty much equivalent in capability and expressiveness to C and Java. Now, there are definitely some things that Lisp is better at; you should have no problem finding a discussion of the advantages and disadvantages of Lisp via a Google search. The big difference between Jess and the other three, of course, is that Jess is a rule-based programming system. Asking what kind of problems a rule-based system can solve more easily is valid, but again, this is another questions easily answered via a web search, or even by reading the Jess manual (section 1.7 is entitled What makes a good Jess application?) - Ernest Friedman-Hill Distributed Systems ResearchPhone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov 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]
Re: JESS: when functional language is better that structuredlanguage ?
At 08:29 AM 6/7/2003 -0700, [EMAIL PROTECTED] wrote: I think [EMAIL PROTECTED] wrote: Hi, I have a basic question could u please tell me that what kind of problems can be easily solved using functional languages like Lisp or Jess rather than using a structured language like C or Java. Great question. I am not sure what the answer is. AI people like it because I think AI people do a lot of symbol manipulation (i.e not so much numeric manipulation but symbol). Also, I guess AI people are more interested in telling the computer what to do instead of how to do it. Functional languages tend to be more declarative than imperative languages like C, Pascal, or Java. I think we, humans, think in an imperative way. We humans like to express our thoughts in an imperative way. But the paradox is that, IMO, we humans like to see other's thoughts in a declarative way! If this holds any water, then I would say that a declarative language is a great way to express the meaning of a computer program when we want to communicate that meaning to humans and we hope the target audience can manipulate that meaning (i.e. declarative programs). However, an imperative one is a better tool for a human to put together that meaning. Thus, if a functional language is also declarative, then use it when you want non-technical people to understand and manipulated the programming logic you wrote. Rules are great to communicate meaning, specially for dynamic logic that needs to be changed frequently (i.e. business rules). Neither Lisp nor Jess is really a functional language in the sense that ML or Haskell or OCaml are, although some dialects of Lisp offer good support for a functional programming style (Scheme in particular.) Because Lisp and Jess offer variables and assignment, they're really pretty much equivalent in capability and expressiveness to C and Java. Turing complete functional languages are as expressive as an imperative language. The issue is not expressive power but it is an issue of fit of use to the particular domain. Agustin Gonzalez, Ph.D. Director Town Lake Software www.townlakesoftware.com 512-422-6806 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]
Re: JESS: when functional language is better that structuredlanguage ?
I think Agustin Gonzalez-Tuchmann wrote: I think we, humans, think in an imperative way. We humans like to express our thoughts in an imperative way. But the paradox is that, IMO, we humans like to see other's thoughts in a declarative way! If this holds any water, then I would say that a declarative language is a great way to express the meaning of a computer program when we want to communicate that meaning to humans and we hope the target audience can manipulate that meaning (i.e. declarative programs). However, an imperative one is a better tool for a human to put together that meaning. Interesting analysis! Because Lisp and Jess offer variables and assignment, they're really pretty much equivalent in capability and expressiveness to C and Java. Turing complete functional languages are as expressive as an imperative language. The issue is not expressive power but it is an issue of fit of use to the particular domain. I didn't mean to suggest that functional languages lacked expressiveness, but simply that in general Lisp, C, and Java are more alike than different; they are more similar to each other than any of them are similar to a true functional language. If something is hard to express in one of [Java | C | Lisp ] it's generally hard to express in all of them -- except for symbolic computation, which Lisp excels at mostly just because symbols are first class objects in that language. - Ernest Friedman-Hill Distributed Systems ResearchPhone: (925) 294-2154 Sandia National LabsFAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov 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]
RE: JESS: when functional language is better that structuredlanguage ?
Just to add fuel to the fire. :-) Jess (et. al.) are (as has been stated here earlier) a declarative language, not a procedural language. Back in 1999 I had a friend who was trying to write a program for a lawyer to do jury selection. His problem with using Java was that he was trying to do an iterative loop around either if-then-else or case statements so that he could re-evaluate some clauses (Conditional Elements) that might change after the initial evaluation (firing) of the clause. When I explained that a rulebase was, by nature, non-monotonic (unlike Java) he was thrilled and immediately began using that because it suited his purposes much better. That's one. Secondly, most business analysts give a problem to the witches and warlocks in the IT department and hope that whatever magic spell that they can cast or cauldron of brew will cure their ills. Because the BA's normally cannot read code, their only recourse to see if the IT department was successful is to try and write enough test cases to see if it will do what they wanted. Some rulebased systems are fairly self-explanatory in nature - to the extent that a non-technical BA can actually read the code; and change the code, if necessary, without having to get help from IT. (No, I do NOT recommend that BA's write a rulebase; not more than I would recommend that a BA write a database which is a much easier job.) So, there you have two good reasons. I need more coffee and I have to mow the yard this afternoon and I really should let the rest of the Jess users say something... :-) SDG jco James C. Owen Senior Knowledgebase Consultant 6314 Kelly Circle Garland, TX 75044 972.530.2895 214.684.5272 (cell) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Saturday, June 07, 2003 12:38 AM To: [EMAIL PROTECTED] Subject: JESS: when functional language is better that structured language ? Hi, I have a basic question could u please tell me that what kind of problems can be easily solved using functional languages like Lisp or Jess rather than using a structured language like C or Java. Thanks and Regards, Kaushik Dutta * * * The information contained in this message is legally privileged and confidential information intended only for the use of the addressed individual or entity indicated in this message (or responsible for delivery of the message to such person). It must not be read, copied, disclosed, distributed or used by any person other than the addressee. Unauthorised use, disclosure or copying is strictly prohibited and may be unlawful. Opinions, conclusions and other information on this message that do not relate to the official business of any of the constituent companies of the TATA CONSULTANCY SERVICES shall be understood as neither given nor endorsed by the Group. If you have received this message in error, you should destroy this message and kindly notify the sender by e-mail. Thank you. * * * 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]