@timtrueman is absolutely and 100% correct. C# is my favorite language and, in my opinion, one of the most object-oriented and powerful. The .NET framework is a breeze to use for networking stuff – Microsoft’s already done all the heavy lifting for you. There are a few things to remember tho. Any .NET application will need the .NET framework to run, making your application fairly heavy in terms of the memory it will need and limiting the number of machines that will run it (not everyone has the framework installed). Also, the .NET framework isn’t really available for any other operating system which will tie you to Windows. I know you said you wanted it to run on Windows, but it always pays to think ahead for when the screaming masses want your app for Mac or Linux. If you do in fact want your app to be portable, try using Qt (pronounced “cute”) at http://qt.nokia.com/. It’s a C++ framework that’s alot more portable.