What’s the best programming language to learn if I want to create language learning software like Rosetta Stone? Java? What if I want to put it online, off a browser, what would be the best programming language then?
Prolog is mainly used for natural text processing, and is not really usable for a multimedia learning environment such as Rosetta Stone.
Java is not the best choice either – for a browser based app you want the largest installed user base you can get (and a number of people actually dislike having java installed). Which means a flash technology based solution. It supports video and sound streaming out of the box, animation and is multimedia oriented.
Flex is probably your best bet: http://www.adobe.com/products/flex/overview/
Flex allows you to program flash based applications that connect to a database using, for example, php and mysql. You will need to create a nice front end (like the one in Rosetta Stone) and get the data (sounds, vocabulary, exercise content and so forth) from the database. Using Flex you can choose to deploy your app either online or offline.
To learn more about Flex and watch tutorials, visit:
http://www.adobe.com/devnet/flex/flex_php.html