Hat Objective-C eine Standardbibliothek?

7

Die meisten etwas modernen Programmiersprachen haben eine Standardbibliothek? Ich habe den Eindruck, dass es für Obj-C keine anständige Größe der Standardbibliothek gibt, sondern dass es hauptsächlich auf Cocoa beruht und dass (zusätzlich zu den Leuten, die GNUstep nicht verwenden wollen), Obj-C nur auf Macs verwendet wird )

Stimmt das / in welchem ​​Umfang? Gibt es Standard-obj-c-Sammlungen?

(Ich habe noch keine Obj-C-Programmierung gemacht und werde es in naher Zukunft wahrscheinlich nicht versuchen, ich bin nur neugierig). P.S. Gibt es irgendwelche anständigen Nicht-Cocoa / Gnustep-Bibliotheken? Sind sie nicht Apple, sind sie Open Source, gut dokumentiert?

    
Roman A. Taycher 14.05.2010, 11:30
quelle

3 Antworten

25

Im Gegensatz zu Otis 'Antwort wurde Objective-C ursprünglich nicht bei NeXT entwickelt. NeXT nahm Mitte der späten 80er Jahre Objective-C als Sprache an. Objective-C wurde in den frühen 80er Jahren von Brad Cox und Tom Love in Stepstone entwickelt.

Von Bedeutung für die Frage, als Cox und Love Objective-C ins Leben riefen, war eines ihrer Hauptziele, eine Sprache zu erstellen, die voll komponierte Softwaremodelle unterstützen konnte. Das heißt, Sie könnten eine Softwarekomponente von irgendwo kaufen und sie in Ihre Anwendung stecken, um Funktionalität hinzuzufügen.

Daraus wurde ICPak 101 und, IIRC, 102 (oder 201, ich erinnere mich nicht wirklich) entwickelt, was ein bisschen eine Standardbibliothek für Objective-C war. Es hat sich nie wirklich durchgesetzt.

Offensichtlich waren NeXT und Apple die Hauptantriebskräfte hinter Objective-C und daher ist Cocoa's Foundation heute die beliebteste Standardbibliothek für Objective-C. Es ist nicht der einzige; Es gibt immer noch Versionen von ICPak, die aktiv verwendet werden, und es gibt nicht-NeXT / Nicht-Apple-Objective-C-Projekte, die tatsächlich ziemlich groß sind. Objective-C wird auch weiterhin von einer Handvoll Linux-Projekten verwendet, meist über GNUStep.

Im Allgemeinen soll Objective-C eine einfache und kleine Sprache sein. Daraus entstehen relativ einfache und kleine Bibliotheken (vergleichen Sie die Größe von, sagen wir, STL oder Boost mit Foundation).

Wenn du nach "steps portable object compiler" suchst, wirst du David Stes 'Fortsetzung von allem finden, was Stepstone getan hat, einschließlich einer ICPak-Implementierung (wieder IIRC - ich habe das Zeug lange nicht mehr gesehen).

    
bbum 14.05.2010, 15:26
quelle
3

Da es sich bei Objective-C um eine Erweiterung von C (und um eine ziemlich kleine) handelt, steht die C-Standardbibliothek zur Verfügung. Abgesehen davon ist die Hauptbibliothek, was auch immer die Plattform bietet, was im Grunde genommen die ursprüngliche NeXTSTEP-Bibliothek und ihre Nachkommen bedeutet: OPENSTEP, Cocoa, GNUstep, die verstorbene Kokosnuss . Das liegt daran, dass Objective-C ursprünglich bei NeXT entwickelt wurde und von Apple übernommen wurde. Es gibt heutzutage nicht einmal einen offiziellen Standard, nur Apples Dokumentation.

Meiner Meinung nach ist der Mangel an anderen Bibliotheken nicht der Grund dafür, dass Objective-C hauptsächlich in der Mac-Entwicklung verwendet wird, es ist ein Effekt der letzteren.

    
outis 14.05.2010 11:53
quelle
1

Ich denke, dieser Abschnitt ( philosophische Unterschiede zwischen Objective-C und C ++ ) ) des Wikipedia-Eintrags deckt dieses Problem ziemlich gut ab.

    
David Gelhar 14.05.2010 11:43
quelle