Разработчик Брэд Кокс скончался на 76 году жизни. Он ушел из жизни 2 января, но об этом стало известно только сейчас.
Вместе с Томом Лавом Кокс создал язык программирования Objective-C, который используют преимущественно для разработки приложений для macOS и iOS. На Objective-C основан Swift – он также используется для разработки под платформы Apple.
Краткая биография
Брэд Кокс родился 2 мая 1944 года. Он получил степень бакалавра в органической химии и математике в Университете Фурмана, позднее защитил докторскую диссертацию по математической биологии в Университете Чикаго.
Карьера Кокса началась в сфере здравоохранения, позднее он стал работать в Океанографическом институте Вудс-Холла. В 70-е ученый увлекся программированием и написал утилиту для моделирования кластера нейронов, которая получила известность в научной среде.
В 1983 году совместно с Томом Лавом Кокс основал компанию Productivity Products International, которую позднее переименовали в Stepstone. К этому моменту у них уже были наработки для создания собственного языка программирования, но первый релиз Objective-C был представлен лишь в 1984 году.
Стив Джобс, который в 1985 году со скандалом покинул Apple, тогда занимался своей новой компанией NeXT. Он лицензировал Objective-C у Кокса и Лава и стал использовать язык в своей ОС NeXTSTEP. Также он создал API OpenStep для разработки под объектно-ориентированные ОС.
В 1996 году Apple купила NeXT. Objective-C и наработки для него стали основой iOS, а OpenStep – базой Mac OS X.
После продажи Stepstone Кокс пришел в сферу образования. Он создал первые онлайн-курсы для Программы социального и организационного обучения Университета Джорджа Мейсона, написал несколько книг, а затем переключился на консультирование госорганизаций. Но позднее Кокс снова вернулся в ИТ. Он занялся вопросами кибербезопасности и применением нейросетей для обнаружения угроз.
Особенности Objective-C
Язык, придуманный более 35 лет назад, занимает 18 строчку рейтинга TIOBE. Этот рейтинг основан на количестве разработчиков, которые пишут на том или ином языке программирования, а также на объеме упоминаний языков в поисковых системах и на популярных ресурсах.
Objective-C – компилируемый объектно-ориентированный язык. В его основу легли Smalltalk и С. От первого была унаследована логика отправки сообщений объектам, от второго – синтаксис. Компилятор Objective-C понимает код на С и входит в GCC (GNU Compiler Collection).
Objective-C обеспечил возможность повторного использования кода и сборку программ из готовых объектов. С-разработчикам было просто переходить на него. Язык достаточно динамичный. Те решения, которые в С принимаются на этапе компиляции, здесь происходят на этапе выполнения (в рантайме).
Объектам в Objective-C можно отправлять любые сообщения. Они могут переслать им другим объектам или обработать. Сообщения привязываются к функциям также в рантайме.
Также Objective-C поддерживает протоколы, которые отделены от интерфейсов, и наследование: от одного объекта или от нескольких протоколов. Работает он и с метаинформацией: в процессе выполнения можно получить класс объекта, список методов, типы аргументов, посмотреть иерархию наследования и поддержку протоколов.
В Objective-C реализована нестрогая проверка типов: если они не совпадают, выводится предупреждение, а не ошибка. Синтаксис языка иногда называют перегруженным, зато код достаточно легко читается.
В 2014 году, что не так давно по меркам мира программирования, Apple представила язык Swift. Разработчики назвали его «Objective-C без C». Он проще в изучении и более устойчив к серьезным ошибкам в коде.
Swift поддерживает рантайм Objective-C. Таким образом, в рамках одной программы вы можете использовать оба языка, а также код на С.