I've written most of a game engine using C++ that runs on OSX and iOS (Xcode 3.5 so, GCC), Linux (GCC), and Windows (Vis Studio 2010). It uses stl vector for collections of objects. It implements message passing. The engine is using OpenGL on the iOS platform and will eventually use OpenGL on all platforms and potentially DirectX on windows.
I really don't like C++, although I have a very strong understanding of it. I'm a C programmer and after an introduction to Objective-C a year ago, I realized it's ideal for how I work and think. So it would be a huge advantage for me to switch to Objective-C. Unfortunately, the beautiful world of OSX/Cocoa isn't the reality of Windows or Linux.. or is it?
I am sure a Cocoa/Apple/NeXT evangelist will provide me with a masterpiece of an answer here
Edit:
Looks like Cocotron and GNUstep are 2 options, with GNUstep being more mature but seeming to have more baggage such as requiring a runtime.
I need a solution that can fit these requirements:
Ideal:
Do NOT Require:
Cocotron is absolutely phenomenal software that has suited my every need so far. While the documentation is poor and it's hard to understand and get working, it's extremely worthwhile and very awesome.
The LLVM/blocks/libdispatch doesn't seem like quite a reality yet, although it may be, but I think certainly at the switch to Xcode 4 it will all be very real. It really boils down to minGW working with LLVM.
There is even an implementation of Core Data.. wow