2010-05-14 18 views
7

¿La mayoría de los lenguajes de programación modernos tienen una biblioteca estándar? Mi impresión es que no hay una biblioteca estándar de buen tamaño para Obj-C, sino que depende en su mayoría/todo de Cocoa y que (más gente que no quiera usar GNUstep) es por qué Obj-C solo se usa en Mac)?¿Objective-C tiene una biblioteca estándar?

¿Es cierto/en qué medida? ¿Hay alguna colección obj-c estándar?

(tenga en cuenta que no he hecho ninguna programación Obj-C y no es probable que lo intente en un futuro próximo, solo tengo curiosidad). P.S. ¿Hay alguna biblioteca decente que no sea de Cocoa/Gnustep? ¿Son no-manzana, son de código abierto, bien documentados?

+1

No creo que entiendas cómo "?" debería ser usado. – Alexander

Respuesta

25

Al contrario de la respuesta de Outis, Objective-C no se desarrolló originalmente en NeXT. NeXT adoptó Objective-C como el lenguaje de elección entre mediados y finales de los 80. Objective-C fue creado por Brad Cox y Tom Love en Stepstone a principios de los '80.

De relevancia para la pregunta, cuando Cox y Love crearon Objective-C, uno de sus objetivos principales era construir un lenguaje que pudiera admitir modelos de software completamente compuestos. Es decir, usted podría comprar un componente de software desde algún lugar y conectarlo a su aplicación para agregar funcionalidad.

De esto se desarrolló ICPak 101 y, IIRC, 102 (o 201, no lo recuerdo honestamente), que era una especie de biblioteca estándar para Objective-C. Nunca realmente se entendió.

Clearly NeXT y Apple han sido las principales fuerzas motrices detrás de Objective-C y, por lo tanto, hoy Cocoa's Foundation es la biblioteca estándar más popular para Objective-C. No es el único; todavía hay versiones del ICPak en uso activo y hay proyectos que no son NeXT/no Apple Objective-C que en realidad son bastante grandes. Además, Objective-C continúa siendo utilizado por un puñado de proyectos en Linux, principalmente a través de GNUStep.

En general, Objective-C está destinado a ser un lenguaje simple y pequeño. Fuera de eso vienen bibliotecas relativamente simples y pequeñas (compare el tamaño de, digamos, STL o Boost to Foundation).

Si busca el "compilador de objetos portátiles de Stes", encontrará la continuación de David Stes de todo lo que hizo Stepstone, incluida una implementación de ICPak (nuevamente IIRC: hace mucho tiempo que no investigo esto) .

+0

Muy informativo. ¡Gran trabajo! – dubvfan87

3

Dado que Objective-C es una extensión de C (y más bien pequeña), la biblioteca estándar C está disponible. Aparte de eso, la biblioteca principal es lo que proporciona la plataforma, lo que básicamente significa la biblioteca original NeXTSTEP y sus descendientes: OPENSTEP, Cocoa, GNUstep, el Coconut difunto. Esto se debe a que Objective-C se desarrolló originalmente en NeXT y fue asumido por Apple. Ni siquiera hay un estándar oficial en estos días, solo la documentación de Apple.

En mi opinión, la falta de otras bibliotecas no es la razón por la que Objective-C se usa principalmente en el desarrollo de Mac, es un efecto de esta última.

+0

Con Objective-C 2.0 ya no lo llamaría uno pequeño. – Lothar

Cuestiones relacionadas