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?
5
Answers
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.
You might also find PyKE useful.
Edit:
For BiggAl, who is apparently too lazy to read the first two sentences on the linked page.
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.
You could also use Scala (which is a bit functional and runs on the JVW) and the existing Lift framework for web-stuff.
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.