Il y a un peu tout et n'importe quoi dans ce post, faudrait pas tout confondre.
Manu a dit:
Tu sais Sueperced, quand tu as vu comment les apis OpenStep (Cocoa aujourd'hui), laissaient sur le tapis les apis Win32 sur plateforme Intel, tu comprends alors pourquoi. En effet, NeXT avait fait une optimisation d'objective-C sur Intel qui est assez phénoménale. Même la version PPC ne lui arrive pas à la cheville.
Je m'en appercois lorsque je m'amuse de tmps en temps avec ma machine sous NeXTStep.
Déjà, je suis assez sceptique là dessus. La seule chose optimisable qui soit spécifique à l'Obj-C, c'est l'appel de fonctions par passage de méthodes. Hors, depuis longtemps, toute cette partie de l'Obj-C est faite en assembleur, que ce soit sur x86 ou PPC. Si vraiment il y a une différence de performance à ce niveau-là (ce qui reste à prouver), c'est donc uniquement du au hard.
Manu a dit:
Je crois pas que Carbon disparaisse. Par contre Carbon est entrain d'être cocoa-iser c'est sûr.
D'ailleur les technologies CoreFoundation sont une direction dans ce sens. Entre nous, Cocoa est tllement élégant et simple!!! On arrive en très peu de temps à faire des choses extraordinaires.
Pas pour rien que les applis phares d'Apple (sauf peut être shake), sont développées en cocoa. Les apis Cocoa sont celles qui évoluent très vite. Une bonne partie des APIS quicktime sous Tiger est en cocoa. et j'ai réussis à faire des trucs avec core image et quicktime assez amusants avec en codant un minimum. Tellement les apis cocoa sont puissantes.
Là encore, c'est un peu rapide comme description :
- toutes les applis phares d'Apple ne sont pas du tout faites en Cocoa. Leurs interfaces graphiques, éventuellement, mais on ne peut certainement pas généraliser. Beaucoup d'applications pro utilisent des moteurs internes codés avec d'autres choses que du Cocoa-ObjC pur. Par exemple, DVD Studio Pro, Shake, Motion utilisent
beaucoup de C++. Donc dire que tout est fait en Cocoa, c'est complètement faux. Cocoa est très bien pour beaucoup de choses (et notamment les interfaces graphiques), mais ce n'est pas la panacée.
- De la même manière, QuickTime est toujours codé en C pur. Les API ObjC qui sont apparus dans Tiger ne font que répondre à un souhait légitime des développeurs de pouvoir accéder aux fonctionnalités de QuickTime directement depuis l'ObjC. Donc encore une fois, c'est vrai qu'Apple met beaucoup en avant l'utilisation de l'ObjC et que les nouveautés seront désormais très centrées sur l'ObjC, mais ce n'est pas une raison pour gober le discours marketing d'Apple et dire que c'est adapté pour tout et n'importe quoi.