Objective-C
Objective-C, известен още като ObjC и Objective C, е обектно-ориентиран, рефлективен език за програмиране с динамична типизация. ObjC е създаден от Брад Кокс за корпорацията StepStone през 1980 година. През 1988 е възприет като език за програмиране на NEXTSTEP а през 1992 започва да се разпространява под GNU лиценз заедно с компилатора GCC. В момента основно се използва като език за програмиране при Mac OS X и GNUstep.
Съдържание |
Предистория [редактиране]
В началото на 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;
Външни препратки [редактиране]
- Introduction to The Objective-C Programming Language (Apple Developer Connection) (download PDF)
- Object-Oriented Programming and The Objective-C Language
- A 10-Minute Introduction to Objective-C
- Steve Dekorte Objective-C page
- The Objective-C++ Front End
- Beginner's Guide to Objective-C
- ObjectiveLib: variant of a Standard Template Library
- Objective-C by Brad Cox
- Object Oriented Programming in Objective-C
- Objective-C FAQ
- Objective-C: Links, Resources, Stuff
- Objective-C A beginners tutorial
- Objective-C mailing list
- GNUstep Project Homepage