Best language for DB sync project

Hey,

I'm doing a project that constantly syncs a big TV-show database with a local one. Local DB is MySQL and the TV-show database API spits out XML. This program will be constantly running on an Ubuntu 12.04 server. 

 

My question is, what is the best language to use for this kind of thing? I've tried NodeJS but it hasn't been ideal since it works with callbacks and I don't really have any experience with C languages (can probably figure it out though but don't want an unnecessary hasle).

 

Thanks

If you have to deal with parsing and processing XML I would use either Java or Groovy.  Both have built in facilities for serializing and deserializing XML. 

In Java, you use JAXB for processing XML.  If you want to create XML all you have to do is annotate the Java classes that will represent your XML objects and use JAXB to generate the XML representation of your object instances.  If you have an XML schema or schemas that you need to code to, you can even use JAXB to generate Java classes that will represent the XML. 

If you are just looking for very simple XML parsing and creating without worrying about XML schemas and creating Java classes, Groovy can do this very easily and simply.  Groovy’s XmlSlurper can process XML messages and you can easily, programmatically traverse the results.  If you need to create XML messages, Groovy also has a MarkupBuilder that allows you to easily create XML messages.

How do you plan to deploy your application, standalone, or in an App Server?  You can use Java or Groovy in either case.

Thanks for your reply, I'll definitively look into both of those options. XML processing though, isn't really the problem, I used a very simple NPM plugin for Node to do it but the main problem was the async nature of Node.

I hadn't thought of Java so I'll try it out, thanks. It'll be a standalone thing. Also, as it's running on a Linux server, I wanted to try to do it in C or C++.

I think Python would be a lot simpler to use. Don't have to worry about compiling, or the JVM.