“Cerca del metal” puede significar algunas cosas diferentes.
Una interpretación de la frase es la compatibilidad con las características del lenguaje de nivel inferior . Como un superconjunto de C, Objective-C tiene muchas más características que Swift. Por ejemplo, puede escribir ensamblado desnudo en Objective-C de esta manera:
vacío en línea f () {
__asm __ (“mov r0, r0”);
}
- Desarrollo de IOS: ¿Hay algún tutorial que muestre cómo crear una aplicación de collage de imágenes?
- ¿Está lista tu aplicación Marshmallow y 3D Touch?
- ¿Quiénes son los mejores desarrolladores de aplicaciones iOS en Alemania?
- Cómo ir de un campo de texto a otro en xcode
- ¿La programación de Xcode es mucho sobre cortar y pegar?
En Swift, no puedes escribir un ensamblaje en línea como ese. Objective-C también facilita la manipulación directa de RAM (debido a sus orígenes C también). Por ejemplo, puedo obtener un puntero a cualquier dirección de memoria arbitraria en Objective-C como esta:
nulo * p = (nulo *) 0x26ac89;
En Swift, me gritan por intentar hacer eso, y hay más guardias en el lugar cuando trabajo con tipos de puntero. Objective-C también pone a disposición funciones de memoria de nivel inferior como malloc
, memcpy
, etc., mientras que Swift abstrae más la administración de memoria. Esencialmente, es más fácil volverse loco con la memoria en Objective-C que en Swift. (Pero eso no significa que debas hacerlo).
Otra interpretación de “cerca del metal” podría ser el acceso a las capacidades de hardware . Aquí, Objective-C y Swift son idénticos, ya que ambos usan los mismos marcos Cocoa y Cocoa Touch. Ni Swift ni Objective-C le darán acceso a hardware que el otro no.
Finalmente, “cerca del metal” podría significar programar específicamente para una pieza de hardware, no un sistema operativo . Los sistemas integrados caen en esta categoría, por ejemplo. Aquí tampoco hay diferencia entre Objective-C y Swift, ya que ambos compilan en código de bytes LLVM y están construidos en el mismo tiempo de ejecución.
La primera definición (también conocida como características de lenguaje de nivel inferior) es lo que se me ocurrió primero, por lo que diría que Objective-C está “más cerca del metal” que Swift.