Цель-C


Objective-C — это объектно-ориентированный язык программирования общего назначения , который добавляет обмен сообщениями в стиле Smalltalk к языку программирования C. Первоначально разработанный Брэдом Коксом и Томом Лавом в начале 1980-х годов, он был выбран NeXT для своей операционной системы NeXTSTEP . Objective-C был стандартным языком программирования, поддерживаемым Apple для разработки приложений macOS (который произошел от NeXTSTEP [3] ) и iOS с использованием соответствующих интерфейсов прикладного программирования (API), Cocoa и Cocoa Touch до появления Swift в 2014 году. [4]

Программы Objective-C, разработанные для операционных систем, отличных от Apple, или которые не зависят от API Apple, также могут быть скомпилированы для любой платформы , поддерживаемой GNU GCC или LLVM / Clang .

Программные файлы исходного кода «обмен сообщениями / реализация» цели-C обычно имеют расширения имени файла .m , в то время как файлы «заголовок / интерфейс» цели-C имеют расширения .h , такие же, как файлы заголовков C. Файлы Objective-C++ обозначаются расширением .mm .

Objective-C был создан главным образом Брэдом Коксом и Томом Лавом в начале 1980-х годов в их компании Productivity Products International (PPI) . [5]

В преддверии создания своей компании оба познакомились со Smalltalk , когда работали в Центре технологий программирования корпорации ITT в 1981 году. Примерно в то же время восходит к самой ранней работе над Objective-C. [6] Кокс был заинтригован проблемами подлинного повторного использования в разработке и программировании программного обеспечения. Он понял, что такой язык, как Smalltalk, будет незаменим при создании сред разработки для системных разработчиков в ITT. Тем не менее, он и Том Лав также признали, что обратная совместимость с C имеет решающее значение в инженерной среде ITT в области телекоммуникаций. [7]

Кокс начал писать препроцессор для C , чтобы добавить некоторые возможности Smalltalk. Вскоре у него появилась работающая реализация объектно-ориентированного расширения языка C , которое он назвал «OOPC» для объектно-ориентированного предварительного компилятора. [8] Лав был нанят компанией Schlumberger Research в 1982 году и имел возможность приобрести первую коммерческую копию Smalltalk-80, что в дальнейшем повлияло на развитие их детища. Чтобы продемонстрировать, что можно добиться реального прогресса, Кокс показал, что создание взаимозаменяемых программных компонентовдействительно требовалось лишь несколько практических изменений в существующих инструментах. В частности, им нужно было поддерживать объекты гибким образом, поставляться с полезным набором библиотек и позволять коду (и любым ресурсам, необходимым для кода) объединяться в один кросс-платформенный формат.