Здравствуйте, Vamp, Вы писали:
V>При том, что тот тоже мечтал о несбыточном.
Если ты не понял, то при чём тут несбыточное?
V>Декорирование имен не входит в стандарт. Хорошо это или плохо — я не знаю. Наверное, плохо, но по-другому не выходит, потому что стандарт такими вещами не занимается.
Да и пусть себе не входит. Вот если в Линуксе появится С++ API, в котором будет заданы правила декорирования, то все компиляторы под линукс легко смогут приделать опцию "придерживаться этих правил"...
V>Во-во. Как бы ты взаимодействовал с этим кодом из С? Который декорировать не умеет никак?
Через переходники.
Вот, например, к акве-какаве в МэкОС Х тоже никак, кроме как через ОбжективС не достучишься. И ничего, живут себе люди...
К .net тоже без управляемых заморок не подлезешь, а ничего, зовут, если надо и из неуправляемого кода...
GDI+, опять же...
E>>Ну COM под виндой, например, знаешь? V>КОМ к С++ никакого отношения не имеет. Так же как и к виртуальным функциям.
Ну вот COM под виндой -- это пример того, как взяли в системе, да и стандаритизировали, фактически, то, как таблица виртуальных функций должна выглядеть. И ничего, всё у них получилось. Все компиллеры С++ под винду это дело поддержали...
А ведь декорирование имён -- это намного менее чувствительное место в компиляторе, чем реализация виртуальности...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Erop, Вы писали:
E>Да и пусть себе не входит. Вот если в Линуксе появится С++ API, в котором будет заданы правила декорирования, то все компиляторы под линукс легко смогут приделать опцию "придерживаться этих правил"...
Стандарт де-факто — это gcc. Он достаточно backward compatible и его эмулирует icc.
Более того, он даже кодифицирован: http://www.codesourcery.com/public/cxx-abi/abi.html#mangling
E>Ну вот COM под виндой -- это пример того, как взяли в системе, да и стандаритизировали, фактически, то, как таблица виртуальных функций должна выглядеть. И ничего, всё у них получилось. Все компиллеры С++ под винду это дело поддержали...
Есть стандартизованный D-BUS. Прямой аналог COM, в общем.
Здравствуйте, Vamp, Вы писали:
V>КОМ к С++ никакого отношения не имеет. Так же как и к виртуальным функциям.
Странно.
А я как раз, было дело, руками лепил COM-интерфейс на C++.
И представлял он из себя ничто иное как C++ класс, у которого все методы — виртуальные.
It is no coincidence that the Win32 COM object layout matches closely the C++ object layout
The Win32 COM calling convention specifies the layout of the virtual method table (vtable) of an object
Так я про то же! Проблема с манглином -- надуманная! C>Есть стандартизованный D-BUS. Прямой аналог COM, в общем.
Угу
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Cyberax, Вы писали:
E>>Ну вот COM под виндой -- это пример того, как взяли в системе, да и стандаритизировали, фактически, то, как таблица виртуальных функций должна выглядеть. И ничего, всё у них получилось. Все компиллеры С++ под винду это дело поддержали... C>Есть стандартизованный D-BUS. Прямой аналог COM, в общем.
Здравствуйте, bazis1, Вы писали:
B>Здравствуйте, Ikemefula, Вы писали:
I>>Здравствуйте, труженик села, Вы писали:
PD>>>>>Если коротко — С — это высокоуровневый ассемблер. А С++ — это ЯВУ. Со всеми вытекающими. I>>>>Это как бы ЯВУ, на самом дело недо-ЯВУ. ТС>>>Совместимость с C делает его недо-ЯВУ. B>Затрахали уже своими "моё ЯВУ кавайнее твоего". Свой круг прикладных задач решать позволяет?
Позволяет. Но некоторые языки позволяют делать это лучше.
B>Код более читабелен, по сравнению с альтернативами?
Код читабелен? Бу-га-га
На С++ код конечно читабелен. По сравнению с Брейнфаком. Но не более.
B>Производительность не меньше? Какие тогда проблемы юзать язык в тех задачах, где от него есть польза, забив, труъ ли это ЯВУ? Или надо шашечки, а не ехать?
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, kochetkov.vladimir, Вы писали:
KV>>С++ — это ЯВУ, согласен. Жаль только, что уже давно появились мега-ЯВУ, гипер-ЯВУ, супер-ЯВУ и, конечно же, пупер-ЯВУ. Со всеми вытекающими...
PD>На которых пишут не программисты (как на С++), а всякие супер- и пупер-программисты
Ага, я был программистом, а потом левел ап и я стал супер-программистом
Но вернёмся к нашему С++
Вот этот вот самый COM'овский вызов pSomePtr->GetStuff и эксплуатирует совместимость формата виртуальных таблиц между разными средами разработки
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, _d_m_, Вы писали:
B>>Затрахали уже своими "моё ЯВУ кавайнее твоего". Свой круг прикладных задач решать позволяет?
___>Позволяет. Но некоторые языки позволяют делать это лучше.
Например? Практики буквально на днях выясняли, что С++ таки самый лучший
Здравствуйте, NikeByNike, Вы писали:
NBN>Здравствуйте, _d_m_, Вы писали:
B>>>Затрахали уже своими "моё ЯВУ кавайнее твоего". Свой круг прикладных задач решать позволяет?
___>>Позволяет. Но некоторые языки позволяют делать это лучше.
NBN>Например? Практики буквально на днях выясняли, что С++ таки самый лучший
Пруфлинк. Или нотариально заверенные скриншоты.
Примеров масса: С#, Nemerle, Lisp и многое. Если заведут старую пластинку про какой-нибудь драйвер, то уж лучше С.
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, kochetkov.vladimir, Вы писали:
KV>>Здравствуйте, Pavel Dvorkin, Вы писали:
PD>>>Если коротко — С — это высокоуровневый ассемблер. А С++ — это ЯВУ. Со всеми вытекающими.
KV>>С++ — это ЯВУ, согласен. Жаль только, что уже давно появились мега-ЯВУ, гипер-ЯВУ, супер-ЯВУ и, конечно же, пупер-ЯВУ. Со всеми вытекающими...
I>Какой же он ЯВУ если в нем нет абстрагирования от вопросов связаных например с памятью а многие инструменты просто не работают ?
как-бы некоторый уровень абстрагирования есть. Если не изобретать ядерного реактора, то с распределением памяти не сталкиваешься.
А про инструменты: таки, может, дело в инструментописателях?
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, dr.Chaos, Вы писали:
I>>>А я как ни загляну в многофплатформенный код , мне сразу дурно становится от препроцессорных директив.
DC>>У нас их крайне мало. Несмотря на то, что сначала это были xlc 5 и VC98.
I>А я не про ваш код говорю, а про тот, который мне довелось видеть.
неплохая причина ругать язык
ты давно иномарки ругал за то, что ими управляют водятлы?
Здравствуйте, March_rabbit, Вы писали:
DC>>>У нас их крайне мало. Несмотря на то, что сначала это были xlc 5 и VC98.
I>>А я не про ваш код говорю, а про тот, который мне довелось видеть. M_>неплохая причина ругать язык
Нормальная, если язык позволяет кидать-ловить исключения как попало, значит их и будут кидать как попало.
Здравствуйте, March_rabbit, Вы писали:
I>>Какой же он ЯВУ если в нем нет абстрагирования от вопросов связаных например с памятью а многие инструменты просто не работают ? M_>как-бы некоторый уровень абстрагирования есть. Если не изобретать ядерного реактора, то с распределением памяти не сталкиваешься.
Для начала надо на раз выучить и использовать RAII. Сам язык дает слишком большой простор.
отсюда неудивительно наблюдать винигрет недо-библотек и мега-монстров
M_>А про инструменты: таки, может, дело в инструментописателях?
Один ты умный, да.
Парсить С++ код та еще задача. до сих пор нет нормального средства рефакторинга, которое было бы таким же доступным как и то что есть в решарпере.
современный язык должен как можно сильнее облегчать задачу рефакторнга, анализа кода, генерации и тд.
В C# например пошли именно этим путем — облегчили работу людям которые пишут средства разработки.
всего то this явно передаешь. Можешь хоть COM сервер на C писать, никаких проблем.
E>Но вернёмся к нашему С++ E>Вот этот вот самый COM'овский вызов pSomePtr->GetStuff и эксплуатирует совместимость формата виртуальных таблиц между разными средами разработки
Здравствуйте, Ikemefula, Вы писали:
DC>>>>У нас их крайне мало. Несмотря на то, что сначала это были xlc 5 и VC98. I>>>А я не про ваш код говорю, а про тот, который мне довелось видеть. M_>>неплохая причина ругать язык
I>Нормальная, если язык позволяет кидать-ловить исключения как попало, значит их и будут кидать как попало. I>Это только один из примеров.
Человек тоже может справить нужду в любом месте. Но есть те, кто пользуется уборной, а есть "говнокодеры"
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Ikemefula, Вы писали:
I>>>Какой же он ЯВУ если в нем нет абстрагирования от вопросов связаных например с памятью а многие инструменты просто не работают ? M_>>как-бы некоторый уровень абстрагирования есть. Если не изобретать ядерного реактора, то с распределением памяти не сталкиваешься.
I>Для начала надо на раз выучить и использовать RAII. Сам язык дает слишком большой простор.
Ну дык и мощное оружие в руки дают только подготовленным людям.
I>Парсить С++ код та еще задача. до сих пор нет нормального средства рефакторинга, которое было бы таким же доступным как и то что есть в решарпере.
Assist вполне покрывает 100% моих задач. Что еще такого нужно для С++?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Erop, Вы писали:
E>Здравствуйте, Vamp, Вы писали:
V>>Чем тебе STL-то не угодил? Где в нем опасность? E>Очень легко написать очень неэффективный код. Предполагает очень умного и знающего пограммиста. E>Собственно я отвечал на сообщение, где наличие STL упоминадось как недостаток С++. E>Можно разработать менее кудрявый фреймворк, который будет не таким легко расширяемым и универсальным, но, зато, и не будет провоцировать написание неэффективного кода по незнанию...
кухонным ножом можно влегкую порезать палец
паяльником можно.... хм... шрам на руке, оказывается, зажил. Надо же. как сейчас помню ощущения.
недавно на кухне с грохотом упала люстра, сломался пластиковый замок. Повезло, что под ней никого не оказалось....
....
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, Ikemefula, Вы писали:
DC>>>>>У нас их крайне мало. Несмотря на то, что сначала это были xlc 5 и VC98. I>>>>А я не про ваш код говорю, а про тот, который мне довелось видеть. M_>>>неплохая причина ругать язык
I>>Нормальная, если язык позволяет кидать-ловить исключения как попало, значит их и будут кидать как попало. I>>Это только один из примеров.
CC>Человек тоже может справить нужду в любом месте. Но есть те, кто пользуется уборной, а есть "говнокодеры"
Если хочешь что бы аналогия была полной, надо взять и создать в С++ сообществе инструмент с функциями МВД
А можно сделать по уму — переложить решение проблемы на компилятор. что и сделано в нормальных языках.