0
$\begingroup$

What are the "best" Turing complete programming languages which can be used for developing evolutionary algorithm-based AI programs?

"Best" should be based on pros and cons of performance and easiness for machine learning.

$\endgroup$
  • 1
    $\begingroup$ Thanks for asking on AI.SE! Please note that this site is for social and conceptual aspects of artificial intelligence, as opposed to programming and implementation issues. Additionally, recommendation questions tend to go out of date quickly. For more information on our scope, see the help center. If you're looking for a programming library, you might be able to get help at Software Recommendations after looking through their help center. $\endgroup$ – Ben N Oct 21 '16 at 13:07
  • 1
    $\begingroup$ @BenN If you closed this question, you should close all other related to implementation issues and programming languages or we should change our on-topic page. $\endgroup$ – nbro Jun 20 '19 at 21:09
1
$\begingroup$

Most machine learning applications today are built on tensors, matrices, probabilistic / Bayesian inference, neural networks, etc. But those can all be built with any modern programming language (all the useful ones are Turing complete). And the best performing language for any of those will generally be assembly / machine code.

Python is famous for machine learning, but that may be due to adoption of Python in academia and NumPy, SciPy, etc. Python isn't very performant, but most of the machine libraries leverage native code, so they're fairly performant.

Julia is a new language that is gunning for a lead position in the data science space, which machine learning builds on. It is allegedly very performant over number crunching domains.

Java has a decent developer ecosystem, and is fairly performant, but the highest performing libraries (including those that leverage GPU) tend to call out to native code via JNI. See DeepLearning4J.

I personally like Clojure - a modern Lisp running on the Java JVM. There's a new deep learning project called Cortex built on Clojure and some fast native libraries, including GPU acceleration.

I think Clojure provides a great balance of being able to easily wrap performant libraries with highly expressive, succinct and simple programming idioms.

| improve this answer | |
$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.