Objective-C

Что он курит?~ Бьерн Страуструп про создателе Objective-C

**Objective-C**  (он же Objective C, Obj C, а также «Нифигасе !»)

## История

В начале 1980 года мужика со странным именем  *Брэд Кокс*  особенно пёрло. Все существующие языки программирования казались ему жалким подобием конопелечки и не доставляли прежнего удовольствия. Частые видения, иногда прерываемые фундаментальной ломкой, порождали в мозгу данного пижона концепцию нового языка программирования, фундамент которого составлял  *табун квадратных скобок* . С другой стороны, в редкие моменты просветления, мистер  *Кокс*  понимал то, что язык, состоящий из одних квадратных скобок, будет понятен только таким же неадекватам, как и он. Данное открытие привело его к понятию того, что в качестве имен методов придется использовать английские слова. Так как сокращения слов  *не было коньком*  этого торчка, он решил использовать не только полные слова, но и целые предложения (см. раздел  **Синтаксис** ). Необходимо упомянуть, что Кокс иногда практиковал совместные попойки с неким  *Тедом Кэглером* , который в одном из  *коротких разговоров*  уговорил Коксика использовать в своем новом языке некоторые наиболее значимые извращения языка  *Smalltalk* , а именно — посылку сообщений. Некоторые источники утверждают, что после этого предложения Кокс с начала послал самого Кэглера, но затем, накатив 150, согласился. Спустя несколько дней, эта дружная компания позвала на очередную пьянку господина Денниса Ритчи, который, приговорив самолично 0.5 литра какого-то мутного зелья и взглянув на концепцию нового языка, воскликнул:  **«В натуре — Си !»**  (в английском варианте:  **«Objective-C !»** )

Данная фраза имела немалые шансы закрепиться в качестве названия этого языка программирования, но по причине того, что мистер Кокс постоянно находился в одном из следующих состояний, а именно:  *под коксом* ,  *срочно нужен кокс* ,  *похорошело после литра* ,  *хреново после литра* ,  *отпустило после пива*  и не мог  **полностью**  выговорить эту фразу, наиболее часто употребляемыми являются термины «упс си» и «обж си».

Данный язык имел все шансы повторить судьбу таких же зачатых на наркотиках и алкоголе языков, как  *Fort* ,  *Intercal*  и др., но в дело вмешался случай. Однажды Кокс напросился на закрытое прослушивание наиболее неадекватных песен  *Боба Марли* , проходившему в подвале одного из офисов компании  *Apple* . Упившись и обколовшись, как свинья, кокс залез на сцену и стал орать, что  *обж си*  — это следующий шаг (next step — англ.) в превращении программирования в удел наркош и хронических алкашей. Руководству компании, которое в это время дружно нюхало клей в одном из углов подвала, понравился данный понт и  *Обж си*  был утверждён в качестве основного языка программирования Apple.

## Синтаксис

Как упоминалось выше, основой синтаксиса  *Обж с* и составляют  *табуны квадратных скобок*  и  *английские предложения* . Взглянем на пример: строка [self VodkaWant:NO Will:YES]; ([сам ВодкуХочешь:НЕТ Будешь:ДА]) является классическим примером конструкций в Обж Си. Причем, вызов данного метода в виде [self VodkaWant:NO Will: **NO** ]; породит исключение на этапе компиляции, так как вызовы  **виртуальных**  методов запрещены самим мистером Коксом.

Очень мощным средством Обж Си является возможность  **сцепления**  ( *concatenation*  — англ.) одиночных квадратных скобок в табун ( *herd*  — англ.)

Пример: имеем фрагмент программы (для улучшения восприятия мы напишем его на русском языке)

**[ты метнисьЗаВодкой];**

**[ты возьмиДве];**

**[ты наливай];**

**[ты междуПервойИВторой];**

**[ты меняУважаешь];**

Как вы видим, данный код посылает последовательность сообщений ( *метнисьЗаВодкой, возьмиДве*  и т. д.) обьекту  *ты* . Данная форма записи, в целом, является нефиговой, но Коксик пошел дальше и, ввел более простую и легкую для восприятия форму записи. Перепишем данный метод, предварительно хлебнув 100—150 чистого спирта, в следующем виде:

**[[[[[ты метнисьЗаВодкой] возьмиДве] наливай] междуПервойИВторой] меняУважаешь] ;**

Помимо легкости восприятия данной строки мы можем увидеть в ее начале появление  **табуна**  квадратных скобок, что так веселило (наравне с розовыми слониками) мистера Кокса.