Здравствуйте, Ikemefula, Вы писали:
C>>Есть стандартизованный D-BUS. Прямой аналог COM, в общем.+++ I>Ога, а ты COM то видел ? Сравни и не пори чушь
Мальчик, я COM не только видел, но и ещё с нуля писал OLE-контейнер.
Здравствуйте, CreatorCray, Вы писали:
I>>Парсить С++ код та еще задача. до сих пор нет нормального средства рефакторинга, которое было бы таким же доступным как и то что есть в решарпере. CC>Assist вполне покрывает 100% моих задач. Что еще такого нужно для С++?
Я не сильно слежу за ассистом. он умеет ли он (2005я)
Без малого, я пользуюсь всем этим постоянно
Помнится, один наш общий знакомый вещал что "не пользуемся рефакторингом потому что архитектура идеальная "
Здравствуйте, Erop, Вы писали:
C>>Стандарт де-факто — это gcc. Он достаточно backward compatible и его эмулирует icc. C>>Более того, он даже кодифицирован: http://www.codesourcery.com/public/cxx-abi/abi.html#mangling E>Так я про то же! Проблема с манглином -- надуманная!
Тем не менее, он менялся несколько раз. Скажем, gcc 2.95 и gcc 3.3 — несовместимы. А ещё на него влияют разные настройки (скажем, использование исключений).
Причём далеко не только на gcc. Про то как разные настройки выравнивания или "Treat wchar_t as built-in type" на MSVC ломают бинарную совместимость напомнить?
Здравствуйте, _d_m_, Вы писали:
NBN>>Например? Практики буквально на днях выясняли, что С++ таки самый лучший
___>Пруфлинк. Или нотариально заверенные скриншоты.
___>Примеров масса: С#, Nemerle, Lisp и многое. Если заведут старую пластинку про какой-нибудь драйвер, то уж лучше С.
Нравятся мне религиознутые теоретики Ну попробуй с помощью шарпа напиши что-нибудь кроссплатформенное и не сферическое
Во, например, из последнего: http://www.rsdn.ru/forum/pda/3671612.flat.aspx
I>современный язык должен как можно сильнее облегчать задачу рефакторнга, анализа кода, генерации и тд.
I>В C# например пошли именно этим путем — облегчили работу людям которые пишут средства разработки.
Нуу, они пошли проторенной дорожкой за жабой в этом смысле, если быть точным .
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
E>Если ты не понял, то при чём тут несбыточное?
Объяснись тогда.
E>Да и пусть себе не входит. Вот если в Линуксе появится С++ API, в котором будет заданы правила декорирования, то все компиляторы под линукс легко смогут приделать опцию "придерживаться этих правил"...
В Линуксе "вдруг" ничего появиться не может. Линукс — это только ядро, а ядро правила декорирования не устанавливает.
V>>Во-во. Как бы ты взаимодействовал с этим кодом из С? Который декорировать не умеет никак? E>Через переходники.
И прощай легаси драйверы и программы. Нафиг такое счастье.
E>Ну вот COM под виндой -- это пример того, как взяли в системе, да и стандаритизировали, фактически, то, как таблица виртуальных функций должна выглядеть. И ничего, всё у них получилось. Все компиллеры С++ под винду это дело поддержали...
КОМ в винде реализован на С. И его интерфейс — сишный. С++ тут вообще не при чем, точно такой же КОМ можно реализовать и в Линуксе.
Здравствуйте, Ikemefula, Вы писали:
I>>>Парсить С++ код та еще задача. до сих пор нет нормального средства рефакторинга, которое было бы таким же доступным как и то что есть в решарпере. CC>>Assist вполне покрывает 100% моих задач. Что еще такого нужно для С++?
I>Я не сильно слежу за ассистом. он умеет ли он (2005я)
Не могу представить когда в C++ может понадобиться аналог пункта "Convert"
I>Помнится, один наш общий знакомый вещал что "не пользуемся рефакторингом потому что архитектура идеальная "
Я пользуюсь refactor rename, create implementation, create declaration, extract method
Вроде как всё.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Ikemefula, Вы писали:
I>Если хочешь что бы аналогия была полной, надо взять и создать в С++ сообществе инструмент с функциями МВД
Дык есть! Нагадил мимо буфера — бдыщ! Всё в продукте вторичном.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Cyberax, Вы писали:
I>>Ога, а ты COM то видел ? Сравни и не пори чушь C>Мальчик, я COM не только видел, но и ещё с нуля писал OLE-контейнер.
А по коду тобою показаному это не заметно. Это даже не смешно — самописный OLE-контейнер.
Чего ты хочешь показать на примере изобретения велосипеда ?
Ты сравнил бегемота с табуреткой. В своем примере на D-bus ты показал, что есть биндинги.
А слабо было показать биндинги для COM или твой огромный опыт написания велосипеда не включает это ?
Показать D-bus-аналог того кода, что ты привел для COM, вероятно помешала скромность
Ну да ладно, я давно в курсе что ты очень скромный.
вот тот же пример, что я показал ранее, с биндингами для ком
IServerPtr ptr;
ptr.CreateInstance(clsid);
_bstr_t bstr = ptr->GetStuff(s);
— при том появилоь это более 12 лет назад
>>D-Bus это докомовский период C>Посткомовский. Там исправлены кретинизмы COMа.
Посткомовский он только по дате рождения
ну и для начала надо научиться сравнивать сравниваемое, а не бегемота с табурткой.
т.е. биндинги с биндингами, отсутствие оных с отсутствием
Здравствуйте, Eugeny__, Вы писали:
I>>современный язык должен как можно сильнее облегчать задачу рефакторнга, анализа кода, генерации и тд.
I>>В C# например пошли именно этим путем — облегчили работу людям которые пишут средства разработки.
E__>Нуу, они пошли проторенной дорожкой за жабой в этом смысле, если быть точным .
Чушь. Эта дорожка была известна ще до джавы и по возможностям язык превзошел джаву на голову. нпример наличие одних только пропертей, индексеров и эвентов это чисто рай для инструментальщиков.
кроме того, в .net много средтв которые теснят именно нативный C++ а не джаву.
Здравствуйте, CreatorCray, Вы писали:
I>>>>Парсить С++ код та еще задача. до сих пор нет нормального средства рефакторинга, которое было бы таким же доступным как и то что есть в решарпере. CC>>>Assist вполне покрывает 100% моих задач. Что еще такого нужно для С++?
I>>Я не сильно слежу за ассистом. он умеет ли он (2005я) CC>Не могу представить когда в C++ может понадобиться аналог пункта "Convert"
Ну так в с++ нет такого понятия как интерфейсы, проперти, индексеры, эвенты и тд.
Есть сущности аналогчные перечисленым, но на уровне инструментов они не поддерживаются, этот код ты лопатишь руками.
А что ассист то поддерживает из приведеного списка ?
I>>Помнится, один наш общий знакомый вещал что "не пользуемся рефакторингом потому что архитектура идеальная " CC>Я пользуюсь refactor rename, create implementation, create declaration, extract method CC>Вроде как всё.
Здравствуйте, CreatorCray, Вы писали:
I>>Если хочешь что бы аналогия была полной, надо взять и создать в С++ сообществе инструмент с функциями МВД CC>Дык есть! Нагадил мимо буфера — бдыщ! Всё в продукте вторичном.
Нету. Для полной аналогии говнокодер уличенный кем либо в сообществе С++ников должен понести административную или уголовную ответственность.
Здравствуйте, Ikemefula, Вы писали:
I>>>Ога, а ты COM то видел ? Сравни и не пори чушь C>>Мальчик, я COM не только видел, но и ещё с нуля писал OLE-контейнер. I>А по коду тобою показаному это не заметно. Это даже не смешно — самописный OLE-контейнер. I>Чего ты хочешь показать на примере изобретения велосипеда ?
Нет, так как существующие контейнеры были недостаточны.
I>Ты сравнил бегемота с табуреткой. В своем примере на D-bus ты показал, что есть биндинги. I>А слабо было показать биндинги для COM или твой огромный опыт написания велосипеда не включает это ?
Я лично всегда использую Comet:
I>Показать D-bus-аналог того кода, что ты привел для COM, вероятно помешала скромность I>Ну да ладно, я давно в курсе что ты очень скромный.
То есть? Что именно нужно показать?
I>
I>- при том появилоь это более 12 лет назад
А теперь попробуй передать в метод карту. Как будешь её представлять? В виде двумерного SAFEARRAY (для которого в ATL нет нормальных байндингов)? А что будем делать с асинхронными вызовами (AKA посылка сообщений)? Напомнить какой это геморрой в COM?
А как насчёт out-of-proc серверов, напомнить кретинизм с их активацией, маршаллингом, ROT и прочими радостями?
>>>D-Bus это докомовский период C>>Посткомовский. Там исправлены кретинизмы COMа. I>Посткомовский он только по дате рождения
Нет, ещё и по удобсвту использования. Но тебе не понять, у тебя мозг вынул и выбросил сертефицированный представитель Microsoft.
В общем, твой тезис о том, что в Линуксе нет COM — банально неверен.
I>>Objective-C тоже совместим с С, но при этом он настоящий ЯВУ.
D>Вы еще дрочите на мак? Тогда мы идем к Вам. Ты на нем хоть что нибудь писал, интересно?
Ну я писал, и тоже так считаю. Какие Ваши аргументы?
Здравствуйте, Ikemefula, Вы писали:
I>>>Я не сильно слежу за ассистом. он умеет ли он (2005я) CC>>Не могу представить когда в C++ может понадобиться аналог пункта "Convert"
I>Ну так в с++ нет такого понятия как интерфейсы, проперти, индексеры, эвенты и тд. I>Есть сущности аналогчные перечисленым, но на уровне инструментов они не поддерживаются, этот код ты лопатишь руками.
Лопатишь это как то громко сказано. В языке всей этой ботвы нет. Этот функционал обеспечивается библиотеками.
I>этого мягко говоря мало.
Для шарпа мало. Для С++ — достаточно.
Там в ассисте еще много всякой бороды есть, типа encapsulate field, change visibility, change signature (во, еще этой иногда пользуюсь), create from usage и т.п.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
C>Ну так и COM — это просто формат на таблицу методов
Ну все таки, технологии существенно разные. КОМ — это реализация объектно-ориентированной модели средствами С (что бы там не говорил Егор выше, которому с какого-то перепоя показалось, что КОМ — это С++).
Вызов по COM — это реальный вызов метода, in-proc или out-proc. В результате имеет счетчик ссылок и прочее.
Вызов по D-BUS — это передача сообщения по миддлеваре. В теории, ничего не измениться, если вместо D-BUS мы поставим тибку, например.
Я прав?
Здравствуйте, Ikemefula, Вы писали:
I>D-Bus это докомовский период
А тебе не кажется, что независимо от простейшего Hello DBUS и Hello COM, все эти вызовы прекрасно оборачиваются в одном методе, интерфейс которого можно подобрать так, что с ним будет достаточно удобно работать. И что вызо функции через COM, что через DBUS — в реальном коде все будет занимать одну простую строчку. Вернее скорее всего 2, одна — получение интерфейса, и вторая — вызов метода этого интерфейса. Или же планируется, что всем эти будут пользоваться индусы, которым платят за количество строчек кода?