Cel: +52 (55) 3040-5403 Correo: mariana.velazquez@recluit.com
post-tittle

Descubre la relación entre Objective-C y Apple

Por: Reclu IT

28 de abril de 2020

El uso masivo de aplicaciones móviles, en específico de la App Store, trajo una gran atención al lenguaje de programación Objective-C, pues hasta hace unos años era la tecnología predilecto para desarrollar éstas, aunque hoy en día se ve ensombrecido por Swift.

Un gran número de programadores descubrieron Objective-C durante la revolución de las aplicaciones para iPhone, pero este lenguaje existe desde hace más de 30 años.

Objective-C ha sido la base del sistema operativo de escritorio de Apple, Mac OS X, desde su debut en 2001, y también fue la base de NEXTSTEP, el antepasado inmediato de OS X, creado por NeXT Computer. Sin embargo, Objective-C no fue creado por Apple ni NeXT. Su origen fue una pequeña startup de Connecticut a principios de la década de 1980 llamada Stepstone.

Los primeros pasos para la creación de Objective-C y la evolución posterior en NeXT no se conocen bien, y hay muy pocas fuentes disponibles. Sólo se conocen algunos elementos escritos por Brad Cox, conocido como el creador del lenguaje.

Las ideas que llevaron a Objective-C se originaron en una división de International Telephone and Telegraph (ITT), donde Tom Love y Brad Cox buscaban formas de mejorar la productividad de los programadores. En 1981, un número especial de la revista Byte describió un nuevo lenguaje de programación revolucionario, Smalltalk, que había sido desarrollado por el equipo de Alan Kay en Xerox PARC.

Cox vio grandes ventajas de productividad en un lenguaje como Smalltalk. Se imaginó que les permitiría a él y a Love crear bibliotecas de objetos que podrían mezclarse y combinarse como Legos. En lugar de tener que escribir todo desde cero, un programador podría usar objetos existentes o «prefabricados» para crear rápidamente un nuevo programa. Cox imaginó un futuro en el que las bibliotecas de objetos serían compradas y vendidas, marcando el comienzo de una revolución industrial de software con estas partes «intercambiables».

Smalltalk, sin embargo, tenía varios inconvenientes. Era lento y requería que todos los programas escritos en él se ejecutaran en un entorno especial. Cox y Love se comprometieron a usar UNIX, de Bell Labs, un sistema relativamente abierto, con una gran base existente de programas escritos en lenguaje C.

A Cox se le ocurrió la idea de unir las ideas orientadas a objetos de Smalltalk con C y publicó este trabajo en un artículo de 1983, llamándolo Precompilador orientado a objetos (OOPC, por sus sigla en inglés). Cox lo hizo intencionalmente lo más simple posible, considerándolo como una «pistola de soldar» que soldaría la programación orientada a objetos en C.

Cox contrasta esto con el nuevo lenguaje C++, de Bell Labs, que también combina C y programación orientada a objetos, pero de una manera mucho más compleja, que Cox comparó con una planta de fabricación.

Después de encontrar resistencia en ITT, y un breve período en Schlumberger, Love and Cox comenzaron su propia compañía para llevar estas ideas al mercado, originalmente llamadas Productivity Products International, y más tarde Stepstone. Cox reescribió el OOPC con un nuevo compilador y renombró el lenguaje Objective-C.

Sin embargo, todavía implicaba una traducción del código Objective-C al código C normal. Love especificó algunos aspectos de su diseño, incluida la decisión de convertirlo en un lenguaje híbrido con dos niveles conceptuales, con un código orientado a objetos de nivel superior literalmente separado del código C de procedimiento por caracteres de corchete cuadrado.

Con el enfoque de la compañía en vender bibliotecas de objetos escritos usando Objective-C, Cox cambió su enfoque a éstas. Stepstone también autorizó el lenguaje Objective-C a los clientes, muchos de los cuales solicitaron cambios o nuevas características. Cox contrató a un grupo para manejar el desarrollo del lenguaje, y comenzó a agregar características como recolección de basura y un intérprete. Esto estaba en marcha cuando el negocio de bibliotecas de objetos de Stepstone se agotó y la compañía cerró.

Sin embargo, uno de los clientes de Stepstone cambió radicalmente la dirección y las perspectivas de Objective-C. En 1988, NeXT Computer, de Steve Jobs. Steve Naroff había sido contratado en el equipo de idiomas de Stepstone en 1986 por su experiencia con MAINSAIL, un lenguaje desarrollado en el Laboratorio de Inteligencia Artificial de Stanford.

Naroff se convirtió en el mayor defensor de NeXT dentro de Stepstone y el ingeniero principal responsable de abordar las necesidades de NeXT dentro de Objective-C. Finalmente, Naroff dejó Stepstone para convertirse en un empleado NeXT, donde fue responsable del compilador Objective-C.

En 1995, un Stepstone vendió los derechos totales de Objective-C a NeXT, que luego fue a Apple cuando adquirió NeXT a fines de 1996. Naroff realizó cambios significativos en el lenguaje y, como resultado, la forma que Objective-C tomó bajo NeXT y luego Apple es significativamente diferente de la versión desarrollada originalmente por Cox.

Dos nuevas características de firma se asociarían indeleblemente con Objective-C en años posteriores.

El primero se llamó «categorías» (hoy conocido como «extensiones»). Las categorías permitieron a los programadores agregar sus propias funciones a los objetos de la biblioteca de manera flexible y global. Naroff agregó las categorías a Objective-C en 1988 para facilitar Interface Builder, una herramienta de programación visual que ayudó a los desarrolladores a crear aplicaciones de interfaz gráfica de usuario más rápidamente.

Los ingenieros de NeXT, Blaine Garst y Bertrand Serlet, agregaron una segunda característica clave en 1990, llamada «protocolos», basada en parte en el trabajo anterior de Garst sobre programación modular y comunicación rápida entre procesos. Garst usó de inmediato esta nueva característica para permitir que los objetos se envíen mensajes incluso mientras se distribuyen a través de una red. Los protocolos se incorporaron posteriormente a Java, que llama a la característica «interfaces».
Estas dos características se basan en una ventaja clave que Objective-C tenía sobre C ++: un «tiempo de ejecución dinámico».

Esta combinación de características (categorías, protocolos y el tiempo de ejecución dinámico) permitió a NeXT crear AppKit, una biblioteca orientada a objetos para desarrollar aplicaciones gráficas que Apple todavía usa en la actualidad.

A pesar de la baja participación de mercado de NeXT, a los desarrolladores les encantó. NeXT nunca se convirtió en el gran éxito que Jobs había imaginado hasta 1996, cuando Apple compró NeXT. Desde entonces, el software escrito en Objective-C ha impulsado casi todos sus principales productos nuevos: Mac OS X, iPhone, iPad, AppleTV y Apple Watch.

La historia de Objective-C y NeXT muestra cuánta influencia pueden tener los usuarios en el desarrollo de una tecnología. Hasta 1995, Objective-C era propiedad y producido por Stepstone, y NeXT era su usuario. Sin embargo, NeXT pudo modificar Objective-C para satisfacer sus necesidades, y finalmente asumió el cargo de desarrollador. Brad Cox y Tom Love fueron los inventores de Objective-C, pero fueron Steve Naroff, Blaine Garst, Bertrand Serlet y otros en NeXT quienes lo transformaron en el lenguaje detrás del iPhone.

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

Campos obligatorios(*)
post-tittle

Descubre la relación entre Objective-C y Apple

Por: Reclu IT

28 de abril de 2020

El uso masivo de aplicaciones móviles, en específico de la App Store, trajo una gran atención al lenguaje de programación Objective-C, pues hasta hace unos años era la tecnología predilecto para desarrollar éstas, aunque hoy en día se ve ensombrecido por Swift.

Un gran número de programadores descubrieron Objective-C durante la revolución de las aplicaciones para iPhone, pero este lenguaje existe desde hace más de 30 años.

Objective-C ha sido la base del sistema operativo de escritorio de Apple, Mac OS X, desde su debut en 2001, y también fue la base de NEXTSTEP, el antepasado inmediato de OS X, creado por NeXT Computer. Sin embargo, Objective-C no fue creado por Apple ni NeXT. Su origen fue una pequeña startup de Connecticut a principios de la década de 1980 llamada Stepstone.

Los primeros pasos para la creación de Objective-C y la evolución posterior en NeXT no se conocen bien, y hay muy pocas fuentes disponibles. Sólo se conocen algunos elementos escritos por Brad Cox, conocido como el creador del lenguaje.

Las ideas que llevaron a Objective-C se originaron en una división de International Telephone and Telegraph (ITT), donde Tom Love y Brad Cox buscaban formas de mejorar la productividad de los programadores. En 1981, un número especial de la revista Byte describió un nuevo lenguaje de programación revolucionario, Smalltalk, que había sido desarrollado por el equipo de Alan Kay en Xerox PARC.

Cox vio grandes ventajas de productividad en un lenguaje como Smalltalk. Se imaginó que les permitiría a él y a Love crear bibliotecas de objetos que podrían mezclarse y combinarse como Legos. En lugar de tener que escribir todo desde cero, un programador podría usar objetos existentes o «prefabricados» para crear rápidamente un nuevo programa. Cox imaginó un futuro en el que las bibliotecas de objetos serían compradas y vendidas, marcando el comienzo de una revolución industrial de software con estas partes «intercambiables».

Smalltalk, sin embargo, tenía varios inconvenientes. Era lento y requería que todos los programas escritos en él se ejecutaran en un entorno especial. Cox y Love se comprometieron a usar UNIX, de Bell Labs, un sistema relativamente abierto, con una gran base existente de programas escritos en lenguaje C.

A Cox se le ocurrió la idea de unir las ideas orientadas a objetos de Smalltalk con C y publicó este trabajo en un artículo de 1983, llamándolo Precompilador orientado a objetos (OOPC, por sus sigla en inglés). Cox lo hizo intencionalmente lo más simple posible, considerándolo como una «pistola de soldar» que soldaría la programación orientada a objetos en C.

Cox contrasta esto con el nuevo lenguaje C++, de Bell Labs, que también combina C y programación orientada a objetos, pero de una manera mucho más compleja, que Cox comparó con una planta de fabricación.

Después de encontrar resistencia en ITT, y un breve período en Schlumberger, Love and Cox comenzaron su propia compañía para llevar estas ideas al mercado, originalmente llamadas Productivity Products International, y más tarde Stepstone. Cox reescribió el OOPC con un nuevo compilador y renombró el lenguaje Objective-C.

Sin embargo, todavía implicaba una traducción del código Objective-C al código C normal. Love especificó algunos aspectos de su diseño, incluida la decisión de convertirlo en un lenguaje híbrido con dos niveles conceptuales, con un código orientado a objetos de nivel superior literalmente separado del código C de procedimiento por caracteres de corchete cuadrado.

Con el enfoque de la compañía en vender bibliotecas de objetos escritos usando Objective-C, Cox cambió su enfoque a éstas. Stepstone también autorizó el lenguaje Objective-C a los clientes, muchos de los cuales solicitaron cambios o nuevas características. Cox contrató a un grupo para manejar el desarrollo del lenguaje, y comenzó a agregar características como recolección de basura y un intérprete. Esto estaba en marcha cuando el negocio de bibliotecas de objetos de Stepstone se agotó y la compañía cerró.

Sin embargo, uno de los clientes de Stepstone cambió radicalmente la dirección y las perspectivas de Objective-C. En 1988, NeXT Computer, de Steve Jobs. Steve Naroff había sido contratado en el equipo de idiomas de Stepstone en 1986 por su experiencia con MAINSAIL, un lenguaje desarrollado en el Laboratorio de Inteligencia Artificial de Stanford.

Naroff se convirtió en el mayor defensor de NeXT dentro de Stepstone y el ingeniero principal responsable de abordar las necesidades de NeXT dentro de Objective-C. Finalmente, Naroff dejó Stepstone para convertirse en un empleado NeXT, donde fue responsable del compilador Objective-C.

En 1995, un Stepstone vendió los derechos totales de Objective-C a NeXT, que luego fue a Apple cuando adquirió NeXT a fines de 1996. Naroff realizó cambios significativos en el lenguaje y, como resultado, la forma que Objective-C tomó bajo NeXT y luego Apple es significativamente diferente de la versión desarrollada originalmente por Cox.

Dos nuevas características de firma se asociarían indeleblemente con Objective-C en años posteriores.

El primero se llamó «categorías» (hoy conocido como «extensiones»). Las categorías permitieron a los programadores agregar sus propias funciones a los objetos de la biblioteca de manera flexible y global. Naroff agregó las categorías a Objective-C en 1988 para facilitar Interface Builder, una herramienta de programación visual que ayudó a los desarrolladores a crear aplicaciones de interfaz gráfica de usuario más rápidamente.

Los ingenieros de NeXT, Blaine Garst y Bertrand Serlet, agregaron una segunda característica clave en 1990, llamada «protocolos», basada en parte en el trabajo anterior de Garst sobre programación modular y comunicación rápida entre procesos. Garst usó de inmediato esta nueva característica para permitir que los objetos se envíen mensajes incluso mientras se distribuyen a través de una red. Los protocolos se incorporaron posteriormente a Java, que llama a la característica «interfaces».
Estas dos características se basan en una ventaja clave que Objective-C tenía sobre C ++: un «tiempo de ejecución dinámico».

Esta combinación de características (categorías, protocolos y el tiempo de ejecución dinámico) permitió a NeXT crear AppKit, una biblioteca orientada a objetos para desarrollar aplicaciones gráficas que Apple todavía usa en la actualidad.

A pesar de la baja participación de mercado de NeXT, a los desarrolladores les encantó. NeXT nunca se convirtió en el gran éxito que Jobs había imaginado hasta 1996, cuando Apple compró NeXT. Desde entonces, el software escrito en Objective-C ha impulsado casi todos sus principales productos nuevos: Mac OS X, iPhone, iPad, AppleTV y Apple Watch.

La historia de Objective-C y NeXT muestra cuánta influencia pueden tener los usuarios en el desarrollo de una tecnología. Hasta 1995, Objective-C era propiedad y producido por Stepstone, y NeXT era su usuario. Sin embargo, NeXT pudo modificar Objective-C para satisfacer sus necesidades, y finalmente asumió el cargo de desarrollador. Brad Cox y Tom Love fueron los inventores de Objective-C, pero fueron Steve Naroff, Blaine Garst, Bertrand Serlet y otros en NeXT quienes lo transformaron en el lenguaje detrás del iPhone.

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

Campos obligatorios(*)

Política de privacidad de www.recluit.mx

Para recibir la información sobre sus Datos Personales, la finalidad y las partes con las que se comparte,
contacten con el Propietario.