1 2
Re[4]: Как вы смотрите на Objective-C? в избранное  новое горячее всё    подписка   модер. 
От: alexsy 
Дата: 17.03.09 17:04
Здравствуйте, x-code, Вы писали:

XC>Здравствуйте, Lorenzo_LAMAS, Вы писали:


XC>>>А если чисто теоретически — то ИМХО язык хороший. Когда я ознакомился с доками, стало завидно что это все отсутствует в msvc. Простые, элегантные и удобные решения, в отличие от современных мозгодробительных вещей типа буста


L_L>>Примеры можно? Красивое, элегантное и удобное из obj C и мозгодробительный аналог из буста?

XC>Аналогов не приведу, но вот например мне в ObjC очень понравилась концепция отправки сообщений вместо вызова методов. Эта концепция реализует "слабые связи" и весьма удобна для компонентного программирования
XC>* можно безболезненно отправлять сообщения null'у
О ДА Пришли 3 ноа\вых мака и пришлось в 10 проектах писать проверку на NULL а иначе вылитает
XC>* можно отправлять объектам сообщения, которые ими не обрабатываются
XC>Еще в ObjC есть реализация рефлексии, чего весьма нехватает в С++
Re[5]: Как вы смотрите на Objective-C? в избранное  новое    модер. 
От: Аноним 274 
Дата: 04.05.09 21:25
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, x-code, Вы писали:


XC>>Аналогов не приведу, но вот например мне в ObjC очень понравилась концепция отправки сообщений вместо вызова методов. Эта концепция реализует "слабые связи" и весьма удобна для компонентного программирования

XC>>* можно безболезненно отправлять сообщения null'у
XC>>* можно отправлять объектам сообщения, которые ими не обрабатываются
XC>>Еще в ObjC есть реализация рефлексии, чего весьма нехватает в С++

А>Отправка сообщений и рефлексия есть в Qt (это правда, не совсем чистый C++)


1) Концепция "отправки сообщений" никак не связана с конкретным языком. Ноги растут из Smalltalk, а там откуда привнесено — хз. Но суть не меняется — можно сделать это как частью синтаксиса языка, так и отдельным фреймворком/либой/etc хоть для C++, хоть для Java. Погуглите, например, про концепцию Active Objects.
2) Почему народ так молится на рефлексию? С каких пор утилитарный низкоуровневый функционал для стыковки с внешним codebase стал серебряной пулей, автоматически порождающей искусственный интеллект и досрочное завершение проекта? Традиционно пожелаю "рефлексирующим" девелоперам почитать азы ООП и бонусы абстрагирования к предкам при использовании потомков.
Re[2]: Как вы смотрите на Objective-C? в избранное  новое    модер. 
От: Аноним 365 
Дата: 05.05.09 15:18
Здравствуйте, Сергей, Вы писали:

С>Здравствуйте, SuperRockStar, Вы писали:


SRS>>Хочу использовать для кроссплатформенного middleware.

SRS>>Что думаете?

С>Пишу программу для iPhone.

С>Смотрю на Objective-C как на неизбежное зло.

Смотрю на iPhone как на неизбежное зло
Re[2]: Как вы смотрите на Objective-C? в избранное  новое    модер. 
От: Alexander G 
Дата: 06.05.09 08:16
Здравствуйте, x-code, Вы писали:

XC>за что я не люблю С++


С другной стороны, посмотрев на С++, становится понятно, почему делегирование замалчивалось. А как его можно реализовать на С++, как можно попросить какой-то объект вызвать какой-то метод (даже, если список входных параметров у него точно такой же) ?

В С++ это практически невозможно сделать. Именно поэтому сперва в Delphi и C++ Builder, а затем и в остром С появилось возможность делегирования как расширение языка.


Re[3]: Как вы смотрите на Objective-C? в избранное  новое    модер. 
От: Кодёнок 
Дата: 06.05.09 08:34
Здравствуйте, Alexander G, Вы писали:

AG>Именно поэтому сперва в Delphi и C++ Builder, а затем и в остром C [...]


Острый Си — это какая-то менее тупая разновидность ANSI C?
Re[2]: Как вы смотрите на Objective-C? в избранное  новое    модер. 
От: carpenter 
Дата: 06.05.09 12:16
Здравствуйте, x-code, Вы писали:

XC>Здравствуйте, SuperRockStar, Вы писали:


SRS>>Хочу использовать для кроссплатформенного middleware.

SRS>>Что думаете?

XC>Вот кстати наткнулся на сайт с интересными статьями про С++ и ObjC:

XC>язык ObjC
XC>за что я не люблю С++
XC>хотя эта тема скорее для Философии... но лично я во многом согласен с автором

вот не люблю когда так однобоко ... даже дочитывать не стал
на Вашей перфокарте обнаружен вирусъ, механiзм будет остановлен
Re[6]: Как вы смотрите на Objective-C? в избранное  новое    модер. 
От: Кывт 
Дата: 06.05.09 12:35
А>2) Почему народ так молится на рефлексию?

Да очень просто: трудно заниматься практическим программированием и не столкнуться с задачей, требующей рефлексии.

Пример, встречающийся даже в простейшей программе: сохранение настроек приложения в текстовом или XML-файле.

И то, что в C++ отсутствует рефлексия или хотя бы какой-то небезобразный способ ее реализации — серьезный недостаток.

Не зря же последняя тенденция в развитии языков программирования — «компилятор как сервис». Думаю, любой новый приличный язык программирования в следующем десятилетии должен будет обладать такими возможностями.
Re[4]: Как вы смотрите на Objective-C? в избранное  новое    модер. 
От: Аноним 639 
Дата: 06.05.09 12:39
XC>>>А если чисто теоретически — то ИМХО язык хороший. Когда я ознакомился с доками, стало завидно что это все отсутствует в msvc. Простые, элегантные и удобные решения, в отличие от современных мозгодробительных вещей типа буста
L_L>>Примеры можно? Красивое, элегантное и удобное из obj C и мозгодробительный аналог из буста?
XC>Аналогов не приведу, но вот например мне в ObjC очень понравилась концепция отправки сообщений вместо вызова методов. Эта концепция реализует "слабые связи" и весьма удобна для компонентного программирования
XC>* можно безболезненно отправлять сообщения null'у
XC>* можно отправлять объектам сообщения, которые ими не обрабатываются
XC>Еще в ObjC есть реализация рефлексии, чего весьма нехватает в С++
Это располагает программера к рас?дяйству и быстро убьет достаточно большой проект. Достаточно большой это >100k строк кода.
Re[2]: Как вы смотрите на Objective-C? в избранное  новое    модер. 
От: Кывт 
Дата: 06.05.09 19:01
Оценка: +1
XC>за что я не люблю С++

Эта статейка — туповата. Автор, похоже, плохо знает C++ и не очень хорошо понимает, как работают языки программирования вообще.

…я не думаю, что программисты, пишущие на Smalltalk'е, сочтут С++ объектно- ориентированным языком. Даже по сравнению с Java С++ явно в проигрыше — нет интерфейсов (зато есть множественное наследование со всеми его проблемами), объектная модель просто отсутствует.


Типа — нет интерфейсов, язык — не объектно-ориентированный. (Видимо, автор не в курсе, что класс состоящий только из чистых виртуальных функций — и есть интерфейс.)

Дальше идет тяжеловесная философия, показывающая, как глубоко автор разбирается в концепциях ООП.

Кроме того, С++ вообще не различает два существенно РАЗНЫХ понятия — абстрактнывй тип данных (АТД) и объект.

Классическим примером АТД яволяется класс Vector3D — фактически простая (зачастую inline-овая) обертка вокруг данных. Просто структура, но более удобная в обращении.

Возможно наследование (хотя редко), но только как структур. Никакого переопределения чего-нибудь вообще быть не может. Основной смысл — удобство работы (чтобы не надо было все векторные операции расписывать покомпонентно или наполнять код вызовами addVector, subVector и т.п.).

Естественно, что никаких таблиц виртуальных методов не нужно, зато очень полезной может оказаться возможность переопределения операторов.

Поскольку типы довольно простые, то крайне важна эффективность компиляции (в противном случае зачем вообще нужны такие классы).

Объект, с другой стороны, это то, что с самого начала замышляется как нечто динамичное, расширяемое. Мы всегда можем получить вместо объекта одного класса объект унаследовнного класса (или просто объект, поддерживающий нужный интерфейс).


А особенно прекрасен отжиг о том, что C++ неэффективен — интересно, а что тогда эффективно? Полудинамический Objective-C, конечно, эффективнее?

Короче, детский сад, а не статья.
1 2