**Objective-C** é unha linguaxe de programación orientada a obxectos creada como un superconxunto de C pero que pon en funcionamento un modelo de obxectos semellante ó de Smalltalk. Orixinalmente foi creado por Brad Cox e a Corporación StepStone en 1980. En 1988 foi adoptado como linguaxe de programación de NEXTSTEP e en 1992 foi liberado baixo licenza GNU para o compilador CCG. Actualmente emprégase como linguaxe principal de programación en Mac OS X e GNUstep.

Historia
--------

A principios da década de 1980, o software desenvolvíase empregando programación estruturada. A programación estruturada púxose en funcionamento para axudar a dividir os programas en pequenas partes, facendo o desenvolvemento máis sinxelo cando a aplicación se volvía máis grande. Porén, como os problemas seguían crecendo ó pasar o tempo, a programación estruturada volveuse menos útil, xa que tiñan que ser escritas unha e outra vez máis sentenzas, levando a un código espaguete e dificultando a reutilización de código.

Moitos viron que a programación orientada obxectos sería unha solución ó problema. De feito Smalltalk xa tiña solucionado moitos problemas deste tipo: algúns dos sistemas máis complexos no mundo funcionaban grazas a Smalltalk. Pero, Smalltalk empregaba unha máquina virtual que requiría moita memoria para esa época e corría demasiado lenta.

Objective-C foi creado principalmente por Brad Cox e Tom Love nos inicios da década de 1980 na súa compañía Stepstone. Ambos foron iniciados en Smalltalk mentres estaban no Programming Technology Center de ITT en 1981. Cox viuse interesado nos problemas de reutilización no desenvolvemento de software. Decatouse de que unha linguaxe como Smalltalk sería imprescindible na construción de contornas de desenvolvemento potentes para os desenvolvedores en ITI Corporation. Cox empezou a modificar o compilador de C para agregar algunhas das capacidades de Smalltalk. Pronto tivo unha extensión para engadir a programación orientada a obxectos a C, a cal chamou "OOPC" (*Object-Oriented Programming in C*). Love, mentres tanto, foi contratado por Shlumberger Research en 1982 e tivo a oportunidade de adquirir a primeira copia de Smalltalk-80, o que influíu no seu estilo como programador.

Para demostrar que se fixeran progresos reais, Cox mostrou que facer compoñentes de software verdadeiramente intercambiables só necesitaban uns pequenos cambios nas ferramentas existentes. Especificamente, estas necesitaban soportar obxectos de xeito flexible, vir cun set de bibliotecas que fosen utilizables, e permitir que o código (e calquera recurso necesitado polo código) puidese ser empaquetado nun formato multiplataforma.

Cox e Love logo fundaron unha nova empresa, Productivity Products International (PPI), para comercializar o seu produto, o cal era un compilador de Objective-C cun conxunto de bibliotecas potentes. En 1986, Cox publicou a principal descrición de Objective-C na súa forma orixinal, no libro *Object-Oriented Programming, An Evolutionary Approach*. Aínda que foi coidadoso en resaltar que hai moitos problemas de reutilización que non dependen da linguaxe, Objective-C frecuentemente foi comparado detalladamente con outras linguaxes.

### Recoñecemento por medio de NeXT

En 1988, NeXT, a compañía que iniciou Steve Jobs logo de Apple, licenciou Objective-C de StepStone (o propietario da marca Objective-C) e lanzou o seu propio compilador e bibliotecas de Objective-C nos que estaba baseada a interface gráfica de NeXTSTEP. Aínda que as estacións de traballo de NeXT foron un fracaso, as ferramentas foron moi encomiadas na industria. Isto levou a NeXT a deixar a produción de hardware e enfocarse en ferramentas de software, vendendo NeXTSTEP (e OPENSTEP) como plataformas para programación.

O proxecto GNU empezou a traballar nunha versión libre de NeXTSTEP, chamada GNUstep, baseada no estándar OPENSTEP. Dennis Glatting escribiu a contorna de execución gnu-objc en 1992, e Richard Stallman escribiu a segunda pouco tempo despois. A contorna GNU Objective-C, a cal é usada desde 1993, é a desenvolvida por Kresten Krab Thorup cando era estudante universitario en Dinamarca.

Logo de adquirir NeXT en 1996, Apple usou OpenStep no seu novo sistema operativo, Mac OS X. Este incluía as ferramentas de desenvolvemento de NeXT, Project Builder (logo substituído por Xcode) e tamén o deseñador de interfaces, Interface Builder. A maioría da API actual de Cocoa esta baseada en OpenStep, sendo a contorna de Objective-C máis importante para desenvolver software.

Véxase tamén
------------

### Ligazóns externas

* Páxina de Apple sobre Objective-C
* Comunidade de programadores Mac OS X
* A linguaxe Objective-C para programadores C++ e Java

| * v
* c
* e
Linguaxes de programación |
| --- |
| Baixo nivel | 

|  |  |
| --- | --- |
| Primeira xeración | Código máquina |
| Segunda xeración | Assembly |

 |
| Alto nivel | 

|  |  |
| --- | --- |
| Terceira xeración | 
* A+
* ABC
* Algol
* B
* BASIC
* C
* C++
* C#
* COBOL
* CPL
* D
* E
* Fortran
* Go
* Java
* JavaScript
* Lisp
* Objective-C
* PL/1
* Pascal
* Smalltalk
* Visual Basic .NET

 |
| Cuarta xeración | 
* Clarion
* Clipper
* Clojure
* Common Lisp
* Erlang
* GNU Octave
* Haskell
* Lisp
* Lua
* Julia
* Perl
* PHP
* Prolog
* Python
* R
* Ruby
* Rust
* S
* Scilab
* Stata
* SQL

 |
| Quinta xeración | 
* Mercury
* OPS5
* Prolog

 |

 |
| 
* Ambiente de desenvolvemento
* Metaprogramación
* Programación a nivel funcional
* Programación estruturada
* Programación non estruturada
* Programación imperativa
* Programación modular
* Programación multidimensional
* Orientación a obxectos

 |

|  |  |
| --- | --- |
| Control de autoridades | 
* Wd: Q188531
* BNF: 14537421z
* FAST: 1747074
* GND: 4335874-3
* LCCN: sh2008009199
* MAG: 2778347588
* NKC: ph589577
* SUDOC: 077936582

 |