Re[15]: С vs C++
От: Mr.Cat  
Дата: 03.02.10 16:01
Оценка:
Здравствуйте, Ikemefula, Вы писали:
CC>>http://wholetomato.com/products/featureRefactoring.asp
I>Короче говоря — ничего нет
I>Нужны высокоуровневые средтва, рефакторинг тот же.
Как будто тот же решарпер умеет что-то принципиально более сложное.
Re[11]: Слава COM!!!
От: Vamp Россия  
Дата: 03.02.10 16:03
Оценка: -1
B>COM — это тезнология, не имеющая формально отношения к используемому языку. Но, для облегчения жизни разработчикам на С++ формат интерфейсов соответствует С++ному. В итоге, это позволяет писать на С++ код вида:

Напрямую — не позволяет. COM написан на С, там манглинга (вспомни, с чего начался топик) нет. Только через С++ биндинги.
Да здравствует мыло душистое и веревка пушистая.
Re[19]: С vs C++
От: Vamp Россия  
Дата: 03.02.10 16:04
Оценка:
I>Т.е. показать тебе именно пример где проперти не надо ?
То есть, property нужен только при работе с базами данных?

I>Windows Presentation Framework

Ничего про нее не знаю.

I>Я уже понял, что ты хотел сказать — в твоем коде/области проперти не нужны. Вполне возможно оно и так.

Нет, ты покажи мне код, где они нужны. Пока что ты показал только какое-то непонятное месиво, посвященное базам данных.
Да здравствует мыло душистое и веревка пушистая.
Re[16]: С vs C++
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 03.02.10 16:05
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

I>>Короче говоря — ничего нет

I>>Нужны высокоуровневые средтва, рефакторинг тот же.
MC>Как будто тот же решарпер умеет что-то принципиально более сложное.

Открой ссылку для асиста, открой картинку что я показал, сравни и напиши сюда свое мнение

"Как будто" — так и я умею. Смотри, как ловко:

Как будто нет ?
Re[8]: С vs C++
От: bazis1 Канада  
Дата: 03.02.10 16:07
Оценка:
Здравствуйте, _d_m_, Вы писали:

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


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


I>>>Здравствуйте, труженик села, Вы писали:


PD>>>>>>Если коротко — С — это высокоуровневый ассемблер. А С++ — это ЯВУ. Со всеми вытекающими.

I>>>>>Это как бы ЯВУ, на самом дело недо-ЯВУ.
ТС>>>>Совместимость с C делает его недо-ЯВУ.
B>>Затрахали уже своими "моё ЯВУ кавайнее твоего". Свой круг прикладных задач решать позволяет?

___>Позволяет. Но некоторые языки позволяют делать это лучше.


B>>Код более читабелен, по сравнению с альтернативами?


___>Код читабелен? Бу-га-га

___>На С++ код конечно читабелен. По сравнению с Брейнфаком. Но не более.
Вы про "среднюю температуру по больнице"? Или читабельность кода с 20 вложенными шаблонами равна читабельности кода, состоящего из пары классов, реализующих простой интерфейс?
Можно подумать, на C индусы не пишут
http://opensource.apple.com/source/procmail/procmail-1.2/procmail/src/procmail.c

B>>Производительность не меньше? Какие тогда проблемы юзать язык в тех задачах, где от него есть польза, забив, труъ ли это ЯВУ? Или надо шашечки, а не ехать?

___>Ехать. Но с комфортом.
Приведите пример задачи, которую нельзя "некриво" реализовать на С++ и я удивлю вас контрпримером
Re[12]: Слава COM!!!
От: bazis1 Канада  
Дата: 03.02.10 16:11
Оценка:
Здравствуйте, Vamp, Вы писали:

B>>COM — это тезнология, не имеющая формально отношения к используемому языку. Но, для облегчения жизни разработчикам на С++ формат интерфейсов соответствует С++ному. В итоге, это позволяет писать на С++ код вида:


V>Напрямую — не позволяет. COM написан на С, там манглинга (вспомни, с чего начался топик) нет. Только через С++ биндинги.

Причем здесь манглинг, если взаимодействие с компонентами реализуется посредством интерфейсов, а не эскпортированием методов по имени? А то, что системные функции COM незаманглены, всего лишь означает extern "C" при объявлении оных и совсем не говорит, что они написаны на C.
Re[17]: С vs C++
От: Mr.Cat  
Дата: 03.02.10 16:26
Оценка: +3
Здравствуйте, Ikemefula, Вы писали:
I>>>Нужны высокоуровневые средтва, рефакторинг тот же.
MC>>Как будто тот же решарпер умеет что-то принципиально более сложное.
I>Открой ссылку для асиста, открой картинку что я показал, сравни и напиши сюда свое мнение
Ну у решарпера на твоем скриншоте количество пунктов меню набивается за счет "convert шило to мыло" (например, абстрактный класс в интерфейс, ну и туда же преобразования пропертей — которые к C++ неприменимы). А так, что CreatorCray перечислил — это и есть основные возможности — и они заявлены. Не знаю, насколько это в ассисте хорошо работает, просто в этой теме шарповый рефакторинг почему-то преподносится как что-то неземное.
Re[13]: Слава COM!!!
От: Vamp Россия  
Дата: 03.02.10 16:30
Оценка: :)
B>Причем здесь манглинг, если взаимодействие с компонентами реализуется посредством интерфейсов, а не эскпортированием методов по имени? А то, что системные функции COM незаманглены, всего лишь означает extern "C" при объявлении оных и совсем не говорит, что они написаны на C.
Сдается мне, ты вообще не понимаешь, о чем идет речь в это дискуссии.
Да здравствует мыло душистое и веревка пушистая.
Re[10]: Слава COM!!!
От: Erop Россия  
Дата: 03.02.10 16:40
Оценка:
Здравствуйте, LuciferSaratov, Вы писали:

E>>Вот, например, к акве-какаве в МэкОС Х тоже никак, кроме как через ОбжективС не достучишься.

LS>Если я правильно помню, все же можно — вроде, там есть некая библиотека, позволяющая C-коду взаимодействовать с Objective-C объектами.

А ты ей пользовался? Я вот пользовался. Всё равно удобно иметь кусок на Objective-C, на самом деле.
Для связи с C++ объектами тоже можно аналогичную библиотеку написать...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[13]: Слава COM!!!
От: Erop Россия  
Дата: 03.02.10 16:43
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>не между средами, а между компиляторами.

Не только компиляторами. COM-объект можно и из Word'а из VBA дёрнуть, например...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[6]: С vs C++
От: Erop Россия  
Дата: 03.02.10 16:45
Оценка:
Здравствуйте, March_rabbit, Вы писали:

M_>ну ты понял, да?

Не я тут высказывал идею, что С лучше С++ из-за наличия в последнем STL...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[12]: Слава COM!!!
От: Erop Россия  
Дата: 03.02.10 16:49
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Причём далеко не только на gcc. Про то как разные настройки выравнивания или "Treat wchar_t as built-in type" на MSVC ломают бинарную совместимость напомнить?


C>Поэтому на С++ особо и нет бинарных интерфейсов.


Ну так на С могли бы быть ровно те же проблемы. Просто у системы есть API на С, и нет API на С++
Было бы API на С++ -- там бы подумали каким образом декорировать имена, ну и во всех бы компиляторах появился бы ещё один __declspec...

Другое дело, что декорирование имён совсем и не главная проблема. Главная проблема -- это аллокация памяти, исключения и т. д...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[10]: Слава COM!!!
От: Erop Россия  
Дата: 03.02.10 17:13
Оценка:
Здравствуйте, Vamp, Вы писали:

V>Ты не понял, что ты сделал. КОМ — это сишный интерфейс, и реализован он на С.


И, тем не менее, из С++ COM-интерфейс виден, как объект с кучей виртуальных методов...
Из любой реализации под С++ под винду, обрати внимание
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[11]: Слава COM!!!
От: Vamp Россия  
Дата: 03.02.10 17:19
Оценка: :)
E>И, тем не менее, из С++ COM-интерфейс виден, как объект с кучей виртуальных методов...
Нет. Только при использовании биндингов. Сам по себе он сишный.

E>Из любой реализации под С++ под винду, обрати внимание

Потому, что он сишный.
Да здравствует мыло душистое и веревка пушистая.
Re[4]: С vs C++
От: Erop Россия  
Дата: 03.02.10 17:25
Оценка:
Здравствуйте, bazis1, Вы писали:

B>Зачем запрещать? Напишите свою библиотеку, лучше STL. Выложите на SourceForge, напишите по ней с десяток статей и радуйтесь. А на практике получается, что народ, не способный написать нормальный код с использованием STL, пишет свои библиотеки, по кривости и глючности превосходящие STL в разы...


Имелось в виду, запретить в проекте, для которого выбирают язык...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[12]: Слава COM!!!
От: Erop Россия  
Дата: 03.02.10 17:30
Оценка:
Здравствуйте, Vamp, Вы писали:

E>>Из любой реализации под С++ под винду, обрати внимание

V>Потому, что он сишный.

Это, в данном случае, не важно. Важно ут совсем дургое -- API системы зафиксировало формат таблицы виртуальных функций, в случае COM-объекта. И привет, все компиляторы под винду его поддерживают
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[13]: Слава COM!!!
От: Vamp Россия  
Дата: 03.02.10 17:37
Оценка:
E>Это, в данном случае, не важно. Важно ут совсем дургое -- API системы зафиксировало формат таблицы виртуальных функций, в случае COM-объекта. И привет, все компиляторы под винду его поддерживают
Ты правда не понимаешь? КОМ — это приложение, реализованное на С. Не имеет никакого отношения к С++, и зачем ты его здесь приплетаешь, неясно.
Да здравствует мыло душистое и веревка пушистая.
Re[13]: Слава COM!!!
От: Cyberax Марс  
Дата: 03.02.10 17:41
Оценка:
Здравствуйте, Erop, Вы писали:

C>>Причём далеко не только на gcc. Про то как разные настройки выравнивания или "Treat wchar_t as built-in type" на MSVC ломают бинарную совместимость напомнить?

C>>Поэтому на С++ особо и нет бинарных интерфейсов.
E>Ну так на С могли бы быть ровно те же проблемы. Просто у системы есть API на С, и нет API на С++
Откуда они на С возьмутся? Экспортируемые функции С не содержат полных сигнатур, так что им однофигственно что у тебя wchar_t — это отдельный тип, а не typedef для short'а.

E>Было бы API на С++ -- там бы подумали каким образом декорировать имена, ну и во всех бы компиляторах появился бы ещё один __declspec...

E>Другое дело, что декорирование имён совсем и не главная проблема. Главная проблема -- это аллокация памяти, исключения и т. д...
Как раз твоя "главная проблема" на том же Линуксе вообще не стоит.
Sapienti sat!
Re[11]: Слава COM!!!
От: LuciferSaratov Россия  
Дата: 03.02.10 18:18
Оценка: +1
Здравствуйте, Erop, Вы писали:

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


E>>>Вот, например, к акве-какаве в МэкОС Х тоже никак, кроме как через ОбжективС не достучишься.

LS>>Если я правильно помню, все же можно — вроде, там есть некая библиотека, позволяющая C-коду взаимодействовать с Objective-C объектами.

E>А ты ей пользовался? Я вот пользовался. Всё равно удобно иметь кусок на Objective-C, на самом деле.


Удобно, кто бы спорил.

E>Для связи с C++ объектами тоже можно аналогичную библиотеку написать...


Для С++ можно написать, а там уже есть.
Re[14]: Держи, пожалуйста, себя в рамках!
От: Erop Россия  
Дата: 03.02.10 18:25
Оценка:
Здравствуйте, Vamp, Вы писали:

E>>Это, в данном случае, не важно. Важно ут совсем дургое -- API системы зафиксировало формат таблицы виртуальных функций, в случае COM-объекта. И привет, все компиляторы под винду его поддерживают

V>Ты правда не понимаешь? КОМ — это приложение, реализованное на С. Не имеет никакого отношения к С++, и зачем ты его здесь приплетаешь, неясно.

Я правда не понимаю, откуда следует выделенное.

А привёл я его тут, как пример успешной фиксации платформой одной из особенностей реализации С++...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.