typestar

Lenguajes

Objective-C

C extendido con el paso de mensajes al estilo Smalltalk; el lenguaje original del desarrollo para macOS y iOS.

Practica Objective-C

27 pasos en 1 tours, desde lo básico hasta programas completos.

Los tours

Primera versión
1984
Creado por
Brad Cox and Tom Love
Tipado
Envíos de mensajes entre corchetes sobre C plano; dinámico hasta el núcleo
Los fragmentos siguen
2.0
Extensiones de archivo
.m, .h

Para qué sirve

Objective-C fue el lenguaje de las plataformas Apple durante tres décadas: cada app de Mac del linaje NeXT, cada app de iPhone de la primera década de la App Store, y los frameworks — Foundation, AppKit, UIKit — cuyos prefijos NS todavía nombran los tipos que la gente de Swift toca a diario. Enormes bases de código de producción en Apple y fuera siguen en Objective-C, y la celebrada interoperabilidad de Swift existe precisamente porque el mundo de abajo todavía lo habla.

El diseño atornilla la mensajería estilo Smalltalk sobre un C sin modificar: los objetos reciben mensajes resueltos en tiempo de ejecución, nil se traga los mensajes y responde cero, las clases son objetos que puedes interrogar, y cualquier método puede cambiarse en caliente. Ese dinamismo hizo posible la arquitectura de Cocoa — target-action, key-value observing, cadenas de responders — y todavía impulsa los trucos de runtime debajo de buena parte de iOS.

Hoy es un lenguaje de mantenimiento con un retiro activo: se elige poco para trabajo nuevo, se lee constantemente. Quien toque una base de código iOS vieja, escriba un framework que deba interoperar, o espeleologuee la propia pila de Apple termina con fluidez en los corchetes. El sustrato de C significa que toda biblioteca de C se usa directo, lo que lo mantuvo querido en audio, gráficos y trabajo de apps cercano a sistemas.

De dónde viene

Brad Cox y Tom Love construyeron Objective-C en su empresa PPI (luego Stepstone) en 1984, buscando llevar los objetos de Smalltalk al mundo de C — Cox llamaba a la visión 'software ICs', componentes cableados como chips. Habría quedado en nota al pie si NeXT no lo hubiera licenciado en 1988 como el lenguaje de NeXTSTEP, cuyos frameworks establecieron el prefijo NS y los patrones que Cocoa aún usa.

La compra de NeXT por Apple en 1997 hizo de Objective-C la base de Mac OS X, y el SDK del iPhone de 2008 lo volvió, de la noche a la mañana, uno de los lenguajes más aprendidos del planeta. El lenguaje se modernizó rápido bajo esa presión: propiedades en 2006, blocks y Grand Central Dispatch en 2009, ARC reemplazando el retain/release manual en 2011, y los literales de colección en 2012.

El anuncio de Swift en 2014 empezó el largo relevo, pero no un final: los runtimes interoperan en ambas direcciones, Apple todavía publica y parcha frameworks en Objective-C, y el lenguaje se acomodó en el papel que C mismo conoce bien — la capa de abajo, estable, en todas partes, y cargando peso en silencio.

Cómo se siente teclearlo

Objective-C se escribe como C con corchetes puestos: cada envío de mensaje abre un corchete que debes recordar cerrar, y los selectores intercalan su nombre con los argumentos — stringByReplacingOccurrencesOfString:withString: es un solo nombre de método, tecleado en partes. El signo @ abre literales (@"", @[], @{}, @(42)) y palabras clave (@interface, @property, @autoreleasepool), NS antecede cada tipo de framework, y el camelCase corre largo. Es un tipeo verboso y rítmico — corchetes, dos puntos, NS mayúsculas — inconfundible desde la primera línea.

Practica Objective-C

27 pasos en 1 tours, desde lo básico hasta programas completos.

Documentación oficial

Otros lenguajes