Re: Storing data and code in a Db with LISP-like interface

From: Nick Malik [Microsoft] <>
Date: Sat, 22 Apr 2006 10:47:30 -0700
Message-ID: <>

"Mikito Harakiri" <> wrote in message
> Alvin Ryder wrote:
>> In addition to RM like representations they [prolog and lisp] can also
>> represent
>> knowledge for rule based expert systems, frame based reasoning, case
>> based reasoning, various abstract data types, graphs, natural language
>> grammers, machine learning ...
> Wow, a tool that excels at so many things! There must be something
> wrong with the industry that have seen puny adoption of both.

The problem, I believe, is not with the language. It is with the fact that it is an outgrowth of trying to solve problems that researchers find interesting, rather than solving problems that business and industry find interesting. Few systems have made the leap from one to the other.

As an Enterprise Architect, I work with business systems that do things like track items in the supply chain and manage billing in a way that enforces policy or encourages the behavior of the most productive partners. Simple stuff with complex rules that business folks have been doing for decades. The most interesting problems are operational concerns: make it work efficiently for tens of thousands of things.

Prolog is more appropriate for design problems, not operational problems (although a great deal of passion surrounds the concepts for combining the two, little has happened). My guess: the design problems are the ones that people would rather do, and not give away to their computer.

So it is a powerful language that does things that people don't want it to do, but doesn't do things that people want computers to do. It is not dead, but it is not exactly thriving either.

I'm convinced that the greatest future for Prolog is in framework implementations like P#, where the prolog language can be used by C# and can use C# objects, which gives you access to all of the features of an object-oriented language that is closely allied with commercial RDBMS and XML heirarchical data models, and all the geeky stuff that we talk about in programming forums. That way, you can use Prolog for the things that it does well, but for the rest of the problem, use C#, and through C#, use all the other stuff.

--- Nick Malik [Microsoft]
    MCSD, CFPS, Certified Scrummaster

Disclaimer: Opinions expressed in this forum are my own, and not 
representative of my employer.
   I do not answer questions on behalf of my employer.  I'm just a 
programmer helping programmers.
Received on Sat Apr 22 2006 - 19:47:30 CEST

Original text of this message