1. Om du vill blanda Objective-C och C++ så ta och kolla in Objective-C++ (http://developer.apple.com/documentation/ReleaseNotes/Cocoa/Objective-C++.html)
2.
3. Det är ju ganska likt Smalltalk eftersom det är därifrån inspiriationen är ifrån. Men bortsett från det så tycker jag att känslan av att programmera Obj-C är lite av känslan av att programmera Python eller Ruby.
4. Jämfört med C++ så finns det gott om tuffa finesser. Detta är ju pga runtimesystemet som gör objc till ett väldigt dynamiskt språk, se dynamisk metod bindning och categories.
5. Den som följer med DevelopersTools är det Apple som har utvecklat om jag inte missminner mig. Det finns dock objective-c stöd till gcc oxo.
6. Språket är väl gjort för att vara lite av bägge och, i och med att så mycket bestäms vid körning så drar det ju ner prestandan. men i de fall då man verkligen behöver prestandan så kan man välja att inte köra dynamiskt.
7.Garbage Collection finns inte, dock så är minnes hantering semi-automatisk. Varje objekt kan svara på retain och release meddelande vilka räknar upp respektive ner en räknare, när denna räknaren är 0 så tas objektet bort.
8. De ställen som syntaxen skiljer sig från C++ är främst vid deklaration och implementation av klasser och metoder. I objective-c så parameterlistan till en metod invävd i namnet.
[addressBook searchForName:@Andreas inGroup:@Vänner];
När man väl vant sig vid detta så tycker iaf jag att mycket av koden blir mer lättläst och naturlig.
Själv har jag aldrig riktigt gillat varken C eller C++ utan alltid föredragit smidiga scriptspråk som Python och Ruby och därför så tycker jag att Objective-C är en mycket trevlig mellanväg. Man får den prestanda man behöver samtidigt som man får ett språk som är väldigt smidigt och givande att jobba med. Det håller sig ur vägen.
Till just 3dspel vet jag inte om det är så optimalt men skulle nog tro att det kan funka utmärkt, och om det i vissa fall inte skulle göra det så finns ju alltid möjligheten att blanda in ren C eller C++.