I would suggest c#.
If you need free the compiler and .net are free from microsoft and you can use the SharpDevelop as an IDE
http://www.icsharpcode.net/OpenSource/SD/
It is also easier to learn than C++ (the memory is managed which means no pointers which also means much easier to learn). It is also a much more rapid development tool than C++.