If you are looking to do this cross platform, you might want to consider Java, especially if you are interested in doing proper OO. And, if you are going to do that, you might want to look at building up from an existing framework, such as
HiveMind .
Sure, you have some overhead in learning a new API, but remember the zen of Java: To make things simple, you must first make them complex.