Objective-C, известен още като ObjC и Objective C, е обектно ориентиран, рефлективен език за програмиране с динамична типизация. ObjC е създаден от Брад Кокс за корпорацията StepStone през 1980 година. През 1988 е възприет като език за програмиране на NEXTSTEP а през 1992 започва да се разпространява под GNU лиценз заедно с компилатора GCC. Основно се използва като език за програмиране при Mac OS X и GNUstep.

Предистория редактиране

Objective-C е създаден основно от Брад Кокс и Том Лов в тяхната компания Степстоун, в началото на 80-те години на 20 век. И двамата са запознати със Smalltalk, докато работят в центъра по програмни технологии на ITT Inc. Най-ранните разработки с Objective-C са създадени по това време.

В началото на 80-те години на ХХ век структурното програмиране се възприема като широко застъпена практика при разработването на софтуер с цел да се „разбие“ програмния код на по-малки и по-лесни за поддържане части. С течение на времето обаче, размерите на програмния код започват да нарастват и това води да появата на така наречения спагети код и повторна използваемост на вече съществуващия код.

По това време на обектно ориентираното програмиране се гледа като на едно от възможните решения на този проблем. В същност по това време Smalltalk до голяма степен предлага известна функционалност в това отношение (някои от сложните решения в света тогава са базирани на Smalltalk).

Основният недостатък на Smalltalk е, че той е базиран на виртуална машина, която има огромни за времето си хардуерни изисквания. Това става причина за по-нататъшните успехи на ObjC.

Официалното описание на ObjC (в неговата първоначална форма) може да се намери в книгата на Брад Кокс „Object-Oriented Programming, An Evolutionary Approach“ (1986). Кокс се опитва да покаже, че проблемът с повторната използваемост на програмния код е нещо повече от просто въпрос на синтаксис на даден език за програмиране, но до голяма степен той остава неразбран.

Примерен код редактиране

Hello, world! редактиране

Тази програма извежда на екрана следното съобщение: Hello, world

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{
@autoreleasepool{
NSLog (@"Hello, World!");
return 0;

Външни препратки редактиране