On Mon, 13 Jul 2009, King InuYasha wrote: [...]
Actually C++ is strictly forbidden in Wine. The only language that is allowed is C; and then perl or sh for build scripts, etc.
[...]
Why is only C allowed in the first place?
The reason why C++ was forbidden is that its ABI was not very stable with g++. That is a C++ compiled on one Linux machine was unlikely to run on another if the C++ libraries were of a different version. Besides the gcc C++ ABI was incompatible with the Microsoft C++ ABI so g++ did not have the argument of making it easier to implement these MS APIs.
I think the ABI stability is somewhat fixed now (though only time will tell), but I believe this still put quite a damper on introducing new languages in the Wine codebase.
And isn't Obj-C supposed to be "a true superset" of C?
I've seen some Obj-C code and it looks really weird. Of course I've never 'learned' to program it so it's probably normal. But it's certainly the case that only developpers who know Obj-C can work on it. Contrast this with the current situation where as soon as you know C you can work on any area of Wine.
That said, from the sound of it it does really look like Apple is pushing Obj-C so maybe we don't have much choice in the matter.