skip to Main Content

A new web application may require adding Artificial Intelligence (AI) in the future, e.g. using ProLog. I know it can be done from a Java environment, but I am wondering about the opportunities with modern web languages like Ruby or Python. The latter is considered to be “more scientific” (at least used in that environment), but using Google there seems to be a preliminary ProLog implementation for both.

Any suggestions on modern (open source) web languages (like Python or Ruby) in combination with AI?



  1. If you used JRuby or Jython you can make use of the existing Java libraries and use either Ruby or Python for the web app. Rails works on JRuby and I have used it to write apps that reuse existing Java code. Not sure of which Python frameworks run on Jython.

    Login or Signup to reply.
  2. You might also find PyKE useful.


    “Pyke introduces a form of Logic Programming (inspired by Prolog) to
    the Python community by providing a knowledge-based inference engine
    (expert system) written in 100% Python.

    Unlike Prolog, Pyke integrates with Python allowing you to invoke Pyke
    from Python and intermingle Python statements and expressions within
    your expert system rules.”

    For BiggAl, who is apparently too lazy to read the first two sentences on the linked page.

    Login or Signup to reply.
  3. The selection of language is completely irrelevant, all other things being equal.

    If you’re trying to do X and there’s a library for it in language Y and meshes well with your Web-based framework, then use it.

    Without knowing more about what specific areas of AI you’re interested in, the question is far too vague to be answered with any more specificity.

    Login or Signup to reply.
  4. You could also use Scala (which is a bit functional and runs on the JVW) and the existing Lift framework for web-stuff.

    Login or Signup to reply.
  5. If you like Prolog, then check out PySWIP. It integrates the declarative logic language Prolog with the procedural general purpose language Python, which lets you write webapps procedurally in Python as you are used to, but have an underlying relational database with Prolog.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top