2010-05-14 4 views
7

La plupart des langages de programmation quelque peu modernes ont une bibliothèque standard? J'ai l'impression qu'il n'y a pas de bibliothèque standard de taille convenable pour Obj-C, mais plutôt que tout repose sur Cocoa et que (plus les gens ne veulent pas utiliser GNUstep) c'est pourquoi Obj-C est seulement utilisé sur les macs)?Objective-C dispose-t-il d'une bibliothèque standard?

Est-ce vrai/dans quelle mesure? Existe-t-il des collections obj-c standard?

(note Je n'ai pas fait de programmation Obj-C et je ne suis pas susceptible de l'essayer dans un proche avenir, je suis juste curieux). P.S. Existe-t-il des bibliothèques non-Cocoa/Gnustep décentes? sont-ils non-pomme, sont-ils open source, bien documentés?

+1

Je ne pense pas que vous compreniez comment "?" Devrait être utilisé. – Alexander

Répondre

25

Contrairement à la réponse d'Outis, Objective-C n'a pas été développé à l'origine chez NeXT. NeXT a adopté l'Objective-C comme langue de choix entre le milieu et la fin des années 80. L'objectif-C a été créé par Brad Cox et Tom Love à Stepstone au début des années 80. En lien avec la question, lorsque Cox et Love ont créé Objective-C, l'un de leurs principaux objectifs était de construire un langage capable de prendre en charge des modèles de logiciels entièrement constitués. Autrement dit, vous seriez en mesure d'acheter un composant logiciel quelque part et de le brancher dans votre application pour ajouter des fonctionnalités. En dehors de cela a été développé ICPak 101 et, IIRC, 102 (ou 201, je ne me souviens pas honnêtement), qui était un peu une bibliothèque standard pour Objective-C. Il n'a jamais vraiment compris.

Clearly NeXT et Apple ont été les principales motivations derrière Objective-C et, aujourd'hui, Cocoa's Foundation est la bibliothèque standard la plus populaire pour Objective-C. Ce n'est pas le seul; il existe encore des versions de l'ICPak en utilisation active et il existe des projets non-NeXT/non-Apple Objective-C qui sont en fait assez importants. En outre, Objective-C continue d'être utilisé par une poignée de projets sur Linux, principalement via GNUStep.

En général, Objective-C est conçu pour être une langue simple et petite. De cela vient des bibliothèques relativement simples et petites (comparez la taille de, disons, STL ou Boost à la Fondation). Si vous recherchez "stes portable compilateur d'objets", vous trouverez la suite de David Stes de tout ce que Stepstone a fait, y compris une implémentation ICPak (encore IIRC - je n'ai pas regardé dans ce genre de choses depuis longtemps) .

+0

Très instructif. Bon travail! – dubvfan87

3

Puisque Objective-C est une extension de C (et une plutôt petite, à ce point), la bibliothèque standard C est disponible. Autre que cela, la bibliothèque principale est tout ce que la plate-forme fournit, ce qui signifie fondamentalement la bibliothèque NeXTSTEP originale et ses descendants: OPENSTEP, Cocoa, GNUstep, le Coconut défunt. C'est parce que Objective-C a été initialement développé à NeXT et a été repris par Apple. Il n'y a même pas de norme officielle de nos jours, juste la documentation d'Apple. À mon avis, le manque d'autres bibliothèques n'est pas la raison pour laquelle Objective-C est principalement utilisé dans le développement Mac, c'est un effet de ce dernier.

+0

Avec Objective-C 2.0 je ne l'appellerais plus petit. – Lothar

Questions connexes