Objective-C

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

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

Предистория[редактиране | edit source]

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

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

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

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

Примерен код[редактиране | edit source]

Hello, world![редактиране | edit source]

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

#import <Foundation/Foundation.h>
 
int main (int argc, const char * argv[])
{
@autoreleasepool{
NSLog (@"Hello, World!");
return 0;

Външни препратки[редактиране | edit source]