Help: Artificial Intelligence best language to learn TODAY
I´m working in a personal project that takes data from the web and extract informations from this data. All this stage i made very well with ruby (lets say, an modern language). But now i need to start working on a module (we call "brain") that can take the information of the ruby software and take decisions about the best moment to buy and sell currencies. I had a very hard time to chose between ruby and python (yes, i had to learn the language before make the bot) and now i´m having another hard time to choose an language to make this "brain". So i came here and ask for your help. I think most part of you will say "take lisp or prolog" but i have afraid of spend my time learning an old language, like lisp ... but that´s not the big problem. If a go to lisp, WITCH dialect should i choose ? Common Lisp is old, but looks like more situated to this task. Scheme looks like naive close to common lisp, i´m running from that ... and clojure looks like new, but not so good like the others. So i ask you hackers for help. I still doing my personal researches but a vision from somebody with more experience would be appreciated. By the way, sorry by may bad english ...
11 comments
[ 4.1 ms ] story [ 34.8 ms ] threadWhichever way - enjoy the learning experience. I doubt you will make your fortune trading currencies - but I could be wrong so good luck.
a) You can find examples of all the standard AI algorithms online
b) It doesn't get much faster then C
c) There is a huge C community so you'll be able to find more developers easily if the project takes off (the main drawback of LISP)
a) Interesting, but i´m planning to write my own algorithms
b) C speed is just unique, maybe only lose for assembly
c) True, a very decisive factor.
University subjects divide into those where the students start from scratch and those for which 11 to 16 year olds recieve substantial preparation. For example the teaching of physics depends on children learning arithmetic and algebra so that they are fluent before attempting to study physics at university. The teaching of law starts from scratch.
Computer science is a start from scratch subject, so a major focus is distilling the essence of computer programming to come up with a simple language suitable for bringing undergraduates up to employability in three years. Here is a perspective from which Java can be seen major achievement in programming language design.
However the consensus seems to be that a start-from-scratch degree is too short for meta-programming: you can teach it but not well enough to avoid students shooting themselves in the foot with it. So Common Lisp's defmacro is out. Similarly for customising the syntax of embedded sublanguages, so Common Lisp's read-macros are also out. CLOS is too sophisticated for a 3 year degree, nobody wants to try teaching undergraduates to define their own method combinations. The Common Lisp condition system is wildly over-elaborate. Reading Kent Pitman it is clear that the design was driven by the needs of very large, very sophisticated programs. It is fascinating to read the documentation as a kind of old developers war story in which people believe that the condition system doesn't need to be that elaborate and find out the bitter truth the hard way as the project code base grows.
So new versus old doesn't work as a criterion for programming language choice. It hasn't worked for twenty or thirty years. If you want to do work on Artificial Intelligence you are committing yourself to writing very large, very sophisticated programs. In recent years new languages have been designed with very different goals in mind and newness is not your friend.