Objective C имеет Стандартную Библиотеку?

Большинство несколько современных языков программирования имеет стандартную библиотеку? Это - мое впечатление, то, что нет достойной размерной стандартной библиотеки для Obj-C, скорее что это полагается главным образом/весь на Какао и который (плюс люди, не желающие использовать GNUstep), то, почему Obj-C только используется на макинтошах)?

Действительно ли это верно/до какой степени? Действительно ли там кто-либо - стандартные obj-c наборы?

(обратите внимание, что я не сделал никакого программирования Obj-C, и не, вероятно, для попытки его в ближайшем будущем, мне просто любопытно). P.S. есть ли какие-либо достойные Библиотеки non-Cocoa/Gnustep? они - неяблоко, действительно ли они - открытый исходный код, хорошо зарегистрированный?

8
задан Roman A. Taycher 14 May 2010 в 00:30
поделиться

3 ответа

Вопреки ответу Outis, Objective-C изначально не разрабатывался в NeXT. NeXT принял Objective-C в качестве предпочтительного языка в середине-конце 80-х. Objective-C был создан Брэдом Коксом и Томом Лавом в Stepstone в начале 80-х.

Что касается вопроса, то когда Кокс и Лав создавали Objective-C, одной из их основных целей было создание языка, который мог бы поддерживать полностью компонентные модели программного обеспечения. То есть вы могли бы купить программный компонент где-нибудь и подключить его к своему приложению, чтобы добавить функциональность.

На основе этого были разработаны ICPak 101 и IIRC, 102 (или 201, я честно не помню), которые были чем-то вроде стандартной библиотеки для Objective-C. Это так и не прижилось.

Очевидно, что NeXT и Apple были основными движущими силами Objective-C, и, таким образом, сегодня Cocoa Foundation является самой популярной стандартной библиотекой для Objective-C. Это не единственный; все еще активно используются версии ICPak, и есть проекты, не относящиеся к NeXT / Apple Objective-C, которые на самом деле довольно большие. Кроме того, Objective-C продолжает использоваться в нескольких проектах под Linux, в основном через GNUStep.

В общем, Objective-C задуман как простой и небольшой язык. В результате получаются относительно простые и небольшие библиотеки (сравните размер, скажем, STL или Boost с Foundation).

Если вы выполните поиск по запросу «портативный объектный компилятор stes», вы найдете продолжение Дэвида Стеса всего того, что сделал Stepstone, включая реализацию ICPak (опять же IIRC - я давно не разбирался в этом материале).

26
ответ дан 3 November 2019 в 13:35
поделиться

Поскольку Objective-C является расширением C (причем довольно маленьким), доступна стандартная библиотека C. Помимо этого, основная библиотека - это то, что предоставляет платформа, что в основном означает исходную библиотеку NeXTSTEP и ее потомков: OPENSTEP, Cocoa, GNUstep, несуществующую Coconut . Это связано с тем, что Objective-C изначально был разработан в NeXT и был передан Apple . В наши дни нет даже официального стандарта, только документация Apple.

На мой взгляд, отсутствие других библиотек - это не причина, по которой Objective-C в основном используется при разработке для Mac, а следствие последнего.

3
ответ дан 3 November 2019 в 13:35
поделиться

Я думаю, что этот раздел ( философские различия между Objective-C и C ++ ) статьи в Википедии довольно хорошо освещает этот вопрос.

1
ответ дан 3 November 2019 в 13:35
поделиться