2010-11-30 3 views

Répondre

11

Non, ce n'est pas le cas. Ceci est fait assez souvent en réalité.

Généralement, on le fait quand on a besoin d'un code temps critique pour s'exécuter plus rapidement (toutes choses égales par ailleurs, appeler une fonction C est plus rapide qu'une méthode Objective-C).

Toutefois, dans certains cas, il peut également être plus utile d'écrire des fonctions C. Rappelez-vous cependant que Objective-C est un sur-ensemble de C. Tout ce que C peut faire, Objective-C peut le faire, et il ne devrait pas être considéré comme mauvais de faire tout ce que C peut faire. Il peut y avoir des cas où certaines choses sont découragées, mais de toute façon.

0

L'optimisation prématurée est la racine de tous les maux

Que ce soit une bonne pratique ou non dépend entièrement de l'application. Dans la plupart des cas, je dirais d'abord l'écrire en Objective-C puis utiliser un profileur pour l'optimisation si c'est trop lent. Cependant, dans certains cas, vous devez effectuer une optimisation, par exemple si vous écrivez un interpréteur de langage ou une émulation de processeur. Dans ces cas (et dans les cas où le profilage montre un goulot d'étranglement), il est parfaitement possible d'écrire du C. pur.

0

Non, ce n'est pas le cas. Beaucoup des frameworks d'Apple sont principalement C comme Core Graphics ou Accelerate. C est très bon pour les fonctions que vous utiliserez beaucoup et qui doivent fonctionner rapidement, comme les fonctions mathématiques.

0

Il existe de nombreux cas où un modèle OO, en particulier avec un seul envoi, n'a tout simplement aucun sens. Pour une fonction générale, il peut ne pas y avoir de "récepteur" préféré. Un langage qui prend en charge les fonctions génériques multi-dispatch serait ma préférence car un tel langage supporte à la fois ce que la plupart des gens pensent comme OO et bien plus encore et supporte pleinement les anciennes fonctions de style C simples.

Questions connexes