Ну, на этом сайте вы найдете ответы на свои вопросы и узнаете больше о различиях между двумя языками программирования. Я не смог найти ничего конкретного, в котором бы упоминались преимущества обмена сообщениями по сравнению с традиционными сообщениями, но автор делает действительно хорошее резюме основных понятий, которые могут помочь вам решить ваш собственный вопрос.
Вот пример раздела, который, я думаю, вам действительно понравится, потому что в нем говорится о многих важных вещах, которые будут полезны для вашей презентации по Objective c vs c ++
------------------------------------------ Философия Каждый язык --------------------------------------------- ---
Думайте об объектах Objective C как о фабрике, а объекты C ++ как о домашнем бизнесе. Объекты Objective-C имеют тенденцию быть большими, самодостаточными и делать все, что можно вообразить. Объекты C ++ имеют тенденцию быть маленькими и точными. Объекты C ++ также, как правило, объединяются в группы, где объекты Objective-C обычно более автономны. Это не означает, что не может быть маленьких объектов Objective-C и больших объектов C ++, это лишь означает, что тенденция заключается в том, что объекты Objective-C должны быть большими, отдельные объекты и объекты C ++ - маленькими и зависимыми друг от друга.
При программировании на C ++ каждый концепт, независимо от его размера, должен иметь свой собственный класс. Приложения обычно имеют сотни, если не тысячи классов, каждый маленький и все взаимосвязаны. Это может привести к конфликтам имен, но C ++ решил некоторые из этих проблем с помощью пространств имен. Даже без NameSpaces C ++ может избежать конфликтов имен, включая только необходимые заголовочные файлы. Два класса могут иметь одинаковые имена, если они являются частными и никогда не включаются в один и тот же файл.
Объекты Objective-C должны быть в состоянии стоять самостоятельно. Здесь нет личных объектов, только одно пространство имен, а имена объектов разрешаются во время выполнения. Наличие тысяч объектов Objective-C порождает проблемы.
C ++ с его нулевыми издержками для не виртуальных классов поощряет программистов создавать подклассы int, rects и любую другую структуру данных. Написание небольшого количества кода может дать проверку диапазона, проверку типа, проверку значения или любую другую возможную проверку. Objective-C имеет много накладных расходов для объекта, и нет перегрузки операторов. Нецелесообразно иметь классы Objective C для rects, ints или других небольших структур данных.
Несмотря на то, что многие приложения были написаны на C ++ и C ++ имеют множество функций по сравнению с Objective-C, я считаю, что написание приложений на Objective-C намного проще и быстрее, чем написание тех же приложений на C ++. Одна из главных причин этого - количество объектов, найденных в приложении. В Objective-C наличие менее 100 объектов в приложении позволяет мне сохранять всю структуру программы в моей голове. В C ++, где каждый концепт является своим собственным объектом, я постоянно ищу, какой объект содержит функциональность, которую я ищу.
Другая причина, по которой Objective-C быстрее разрабатывается, заключается в том, что это более простой язык. Я видел, как программисты проводят дни, пытаясь получить правильный синтаксис эзотерической функции C ++. В Objective-C не так много областей, где процветают языковые юристы. Худшая часть эзотерического синтаксиса C ++ заключается в том, что другие программисты могут быть не в состоянии понять некоторые из более сложных кодов C ++.
Самая большая причина для более быстрого времени разработки - это отдельный объект. Объекты Objective-C, как правило, являются автономными, поэтому, если вам нужна функциональность, вам нужно всего лишь включить этот один объект или иногда небольшое количество связанных объектов. Объекты C ++, с другой стороны, имеют тенденцию объединяться в группы. Каждый раз, когда вы хотите включить функциональность из объекта, вам, вероятно, потребуется включить дополнительные 10-20 объектов.
Все это и многое другое здесь