C objetivo


Objective-C es una de propósito general , orientado a objetos lenguaje de programación que se suma Smalltalk al estilo de mensajería a la C lenguaje de programación. Desarrollado originalmente por Brad Cox y Tom Love a principios de la década de 1980, fue seleccionado por NeXT para su sistema operativo NeXTSTEP . Objective-C era el lenguaje de programación estándar admitido por Apple para desarrollar macOS (que descendió de NeXTSTEP [3] ) y aplicaciones de iOS utilizando sus respectivas interfaces de programación de aplicaciones (API), Cocoay Cocoa Touch , hasta la introducción de Swift en 2014. [4]

Los programas Objective-C desarrollados para sistemas operativos que no son de Apple o que no dependen de las API de Apple también pueden compilarse para cualquier plataforma compatible con GNU GCC o LLVM / Clang .

Los archivos de programa de 'mensajería / implementación' del código fuente de Objective-C generalmente tienen extensiones de nombre de archivo .m , mientras que los archivos de 'encabezado / interfaz' de Objective-C tienen extensiones .h , al igual que los archivos de encabezado C. Los archivos Objective-C ++ se indican con una extensión de archivo .mm .

Objective-C fue creado principalmente por Brad Cox y Tom Love a principios de la década de 1980 en su empresa Productivity Products International (PPI) . [5]

Antes de la creación de su empresa, ambos conocieron Smalltalk mientras estaban en el Centro de Tecnología de Programación de ITT Corporation en 1981. El trabajo más temprano en Objective-C se remonta a esa época. [6] Cox estaba intrigado por los problemas de la verdadera reutilización en el diseño y la programación de software . Se dio cuenta de que un lenguaje como Smalltalk sería invaluable en la creación de entornos de desarrollo para desarrolladores de sistemas en ITT. Sin embargo, él y Tom Love también reconocieron que la compatibilidad con versiones anteriores de C era de vital importancia en el entorno de ingeniería de telecomunicaciones de ITT. [7]

Cox comenzó a escribir un preprocesador para C para agregar algunas de las habilidades de Smalltalk. Pronto tuvo una implementación funcional de una extensión orientada a objetos para el lenguaje C , que llamó "OOPC" para precompilador orientado a objetos. [8] Love fue contratado por Schlumberger Research en 1982 y tuvo la oportunidad de adquirir la primera copia comercial de Smalltalk-80, que influyó aún más en el desarrollo de su creación. Para demostrar que se puede lograr un progreso real, Cox demostró que fabricar componentes de software intercambiablesRealmente solo necesitaba unos pocos cambios prácticos en las herramientas existentes. Específicamente, necesitaban admitir objetos de manera flexible, contar con un conjunto de bibliotecas utilizables y permitir que el código (y los recursos necesarios para el código) se agruparan en un formato multiplataforma.