2010-11-30 9 views

Respuesta

11

No, no lo es. Esto se hace con bastante frecuencia en realidad.

Generalmente, uno hace esto cuando uno necesita código de tiempo crítico para correr más rápido (todo lo demás es igual, llamar a una función C es más rápido que un método Objective-C).

Sin embargo, también puede ser mejor en otros casos escribir funciones C en su lugar.

Recuerde que Objective-C es un superconjunto de C. Todo lo que C puede hacer, Objective-C puede hacer, y no se debe considerar malo hacer cualquier cosa que C pueda hacer. Puede haber casos en los que se desaliente a hacer algunas cosas, pero de todos modos.

0

optimización prematura es la raíz de todo mal

Si se trata de una buena práctica o no depende enteramente de la aplicación. En la mayoría de los casos, diría que primero lo escriba en Objective-C y luego use un generador de perfiles para la optimización si es demasiado lento.

Sin embargo, hay casos en los que sabe que deberá realizar una optimización, por ejemplo, si está escribiendo un intérprete de idioma o una emulación de CPU. En esos casos (y en casos donde los perfiles muestran un cuello de botella) es perfectamente correcto escribir C. pura

0

No, no, muchos de los marcos propios de Apple son en su mayoría C como Core Graphics o Accelerate. C es muy bueno para las funciones que usará mucho y necesitará correr rápido, como las funciones matemáticas.

0

Hay montones de casos en los que un modelo OO, especialmente con despacho único, simplemente no tiene sentido. Para una función general, puede no haber un claro "receptor" preferido. Sería preferible un lenguaje que admita funciones genéricas de multidireccionamiento, ya que este lenguaje admite tanto lo que la mayoría de la gente piensa como OO y mucho más, como también admite plenamente las funciones del estilo C antiguas.

Cuestiones relacionadas