I'm not a Mac developer. In fact, one could consider me "the enemy" as I've been doing .NET development on Windows for the past 5 years.
Nevertheless, I have no loyalty to any particular platform; they are tools, not religions. And I do concede that Mac OS X is superior (in many ways) to the Windows OS.
I've been tinkering around with Cocoa and, well, I have some questions. I've looked around on the internet and haven't had much luck with them.
1. Why did Apple choose to go with Objective-C as opposed to Objective-C++? Although I haven't programmed in it much, isn't Carbon based on C++? That seems like a bizarre migration path.
2. Is the difference between Cocoa and Carbon in any way analogous to the difference between the unmanaged and managed environments in .NET?
I'm guessing since most Mac programmers consider anything Microsoft-centric to be deleterious, an explanation is in order. Of the .NET languages that are bundled with Visual Studio, only Visual C++ can (easily) use the unmanaged memory. Being a bit of a performance junkie, the "messaging" aspect (which seems like forced late-binding on every function call and object invocation) seems a bit much -- especially if you can't easily circumvent it. For most applications, it wouldn't make much of a difference, but for something like games, it could make a difference.
When I look at sites like http://www.clanmacgaming.com/macosx.php and see how few games are written in Cocoa, it makes me wonder.
That does seem to be an old list, though.
3. Can Objective-C have anywhere near the performance (when using the Foundation libraries) that a regular C program could? Is it possible to use malloc or 'new' for classes written using the Objective-C/Objective-C++ notiation (@implementation, @interface, etc.)?
Thanks in advance
Nevertheless, I have no loyalty to any particular platform; they are tools, not religions. And I do concede that Mac OS X is superior (in many ways) to the Windows OS.
I've been tinkering around with Cocoa and, well, I have some questions. I've looked around on the internet and haven't had much luck with them.
1. Why did Apple choose to go with Objective-C as opposed to Objective-C++? Although I haven't programmed in it much, isn't Carbon based on C++? That seems like a bizarre migration path.
2. Is the difference between Cocoa and Carbon in any way analogous to the difference between the unmanaged and managed environments in .NET?
I'm guessing since most Mac programmers consider anything Microsoft-centric to be deleterious, an explanation is in order. Of the .NET languages that are bundled with Visual Studio, only Visual C++ can (easily) use the unmanaged memory. Being a bit of a performance junkie, the "messaging" aspect (which seems like forced late-binding on every function call and object invocation) seems a bit much -- especially if you can't easily circumvent it. For most applications, it wouldn't make much of a difference, but for something like games, it could make a difference.
When I look at sites like http://www.clanmacgaming.com/macosx.php and see how few games are written in Cocoa, it makes me wonder.
That does seem to be an old list, though.
3. Can Objective-C have anywhere near the performance (when using the Foundation libraries) that a regular C program could? Is it possible to use malloc or 'new' for classes written using the Objective-C/Objective-C++ notiation (@implementation, @interface, etc.)?
Thanks in advance