Да нет, я-то сам его люблю. Случайно наткнулся на статью здесь.
Он не просто его, не любит, он его ненавидит. И других заразить пытается.
Вот, думаю, тролль Отличная приманка для священной войны.
Здравствуйте, dmitry_npi, Вы писали:
_>Да нет, я-то сам его люблю. Случайно наткнулся на статью здесь. _>Он не просто его, не любит, он его ненавидит. И других заразить пытается. _>Вот, думаю, тролль Отличная приманка для священной войны.
Хм, пишу на C#, но к С++ всегда относился с "уважением". По-моему данная статья — это явное перекручивание фактов, с жутко предвзятой точки зрения
Здравствуйте, dmitry_npi, Вы писали:
_>Да нет, я-то сам его люблю. Случайно наткнулся на статью здесь. _>Он не просто его, не любит, он его ненавидит. И других заразить пытается. _>Вот, думаю, тролль Отличная приманка для священной войны.
Кстати, хорошая статья...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, dmitry_npi, Вы писали:
_>Да нет, я-то сам его люблю. Случайно наткнулся на статью здесь. _>Он не просто его, не любит, он его ненавидит. И других заразить пытается.
Да придирается по-детски как то.
В сравнении с тутошними срачами "C++ vs *" — статья детский лепет и обидки.
Здравствуйте, CreatorCray, Вы писали:
CC>Да придирается по-детски как то. CC>В сравнении с тутошними срачами "C++ vs *" — статья детский лепет и обидки.
Здравствуйте, dmitry_npi, Вы писали:
_>Да нет, я-то сам его люблю. Случайно наткнулся на статью здесь. _>Он не просто его, не любит, он его ненавидит. И других заразить пытается. _>Вот, думаю, тролль Отличная приманка для священной войны.
Только в статье — всё не правда. А единственное, чем плох С++, так это тем, что с ним можно 1 раз 15 лет, а можно (как в случае с автором) 15 раз по 1-му году.
За 15 лет автор так и не осилил простые вещи:
1) Понятие метаинформации не то, что отсутствует, но в избытке (сомневаюсь, что он читал Александреску — скорее, он его под ножку стола подкладывал)
2) "Много ли Вы знаете простых и удобных persistence-библиотек". Ды, уж знаем, несколько. Можем и с сами написать — вон, на кывт-е есть статья про сериализацию в хмл, ещё другая есть, про которую все знают. "А вот ... в Python'е таких библиотек полно". Питон — программа на С, библиотека С-шная, а мужики-то не знают.
3) "А как дела у С++ с интеграцией со скриптовыми языками...". Boost.Python, CliPP, (шёпотом: COM) и др.
5) Про "addVector, subVector" я не понял. Про АТД я не понял тоже, Википедия говорит, что примеры АТД — это разные контейнеры, а отчего абстрагироваться в случае с Vector3D, я ума не приложу.
6) "Но все его чудеса относятся почему-то исключительно ко времени компиляции". Рассмешил до икоты. Если-б все эти чудеса никак не отражались на рантайме, то зачем-они тогда нужны?
7) "на каких компиляторах он весь код свой проверял, скорее всего вы ни одного из них просто не знаете". Ну, автор, может и не знает — я знаю. И чего? Короче, бла-бла.
8) "А как же исключения (exceptions), а как же RTII ?. За них то я всегда плачу всегда !!!". Караул! Заявляю — RTII в С++ никогда не было, и не предвидится следующие лет 10 точно. Мы тут, давеча, с коллегами драйвер писали, ядерный, для Виндовс — исключениями мы не смогли воспользоваться (не то, чтоб совсем не хотелось, но нужна ведь поддержка со стороны рантайма). STL и IOstreams чувствуют себя и без исключений хорошо.
9) "будет изменена лишь копия объекта, которая сразу же после этого будет разрушена. Здорово, а ?". А некоторые языки, например, не позвляют выразить тот факт, что переданный в метод объект не будет изменён методом, которые принимает этот объект в качестве параметра.
10) "А для всех остальных — это скорее игра случая". Ну, для тех, кто профайлер за 15 лет ни разу в руки не брал, да. Кстати, мне не встречались такие профессионалы (которым не нужен был бы профайлер), могущие на глаз найти _все_ проблемы с быстродействием.
11) "Откройте почти любую серьезную книгу (а не С++ за 24 часа) по С++ — о чем там написано ? Как НЕ НАДО делать". Откройте "Java(TM) Puzzlers: Traps, Pitfalls, and Corner Cases".
12) "Сравните объем описания языка С и С++ — разница в объеме во много раз". Ну, давайте сравним native для Явы (любители Явы — не бейте ногами, что использовал, про то и говорю) на JNI и аналог на С++ для Питона на Boost.Python.
13) "средств получить информацию о типе-параметре в языке просто нет" . Язык С++ на столько крут, что "в языке" это и не нужно — можно написать библиотеку. boost::is_abstract, is_arithmetic, is_array, is_base_and_derived, is_base_of, is_class, is_complex, is_compound, is_const...
После слов "Это конечно здорово, но вот как узнать является ли этот тип каким-либо из элементарных типов, указателем или ссылкой ? Является ли он const или нет ?" этого профана сил осиливать его поток у меня не осталось.
Если не поможет, будем действовать током... 600 Вольт (C)
MX> 1) Понятие метаинформации не то, что отсутствует, но в избытке (сомневаюсь, что он читал Александреску — скорее, он его под ножку стола подкладывал) MX> 2) "Много ли Вы знаете простых и удобных persistence-библиотек". Ды, уж знаем, несколько. Можем и с сами написать — вон, на кывт-е есть статья про сериализацию в хмл, ещё другая есть, про которую все знают.
И что, прямо-таки можно легко сериализовать объект любой сложности?
Здравствуйте, Mamut, Вы писали:
MX>> 1) Понятие метаинформации не то, что отсутствует, но в избытке (сомневаюсь, что он читал Александреску — скорее, он его под ножку стола подкладывал) MX>> 2) "Много ли Вы знаете простых и удобных persistence-библиотек". Ды, уж знаем, несколько. Можем и с сами написать — вон, на кывт-е есть статья про сериализацию в хмл, ещё другая есть, про которую все знают.
M>И что, прямо-таки можно легко сериализовать объект любой сложности?
Например?
Если не поможет, будем действовать током... 600 Вольт (C)
Здравствуйте, Mamut, Вы писали:
M>И что, прямо-таки можно легко сериализовать объект любой сложности?
Сериализация почти всегда нужна в контексте решения задач наподобие построения протокола обмена данными и тут уже трудозатраты на дублирование названий членов структур уезжают в такой микроскопический масштаб, что о них и рассуждать не стоит.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, LaptevVV, Вы писали:
LVV>Кстати, хорошая статья...
Да, действует как "Ласковый май" на металлиста.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, -MyXa-, Вы писали:
MX> MX>> 1) Понятие метаинформации не то, что отсутствует, но в избытке (сомневаюсь, что он читал Александреску — скорее, он его под ножку стола подкладывал) MX> MX>> 2) "Много ли Вы знаете простых и удобных persistence-библиотек". Ды, уж знаем, несколько. Можем и с сами написать — вон, на кывт-е есть статья про сериализацию в хмл, ещё другая есть, про которую все знают.
MX> M>И что, прямо-таки можно легко сериализовать объект любой сложности?
MX> Например?
Объект с циклическими ссылками и членами — указателями на другие объекты. Плюс является наследником другого объекта так, чтобы не надо было явно указывать:
ar & boost::serialization::base_object<bus_stop>(*this) & name;
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ> M>И что, прямо-таки можно легко сериализовать объект любой сложности?
ГВ> Сериализация почти всегда нужна в контексте решения задач наподобие построения протокола обмена данными и тут уже трудозатраты на дублирование названий членов структур уезжают в такой микроскопический масштаб, что о них и рассуждать не стоит.
Ну, мы же говорим о ""Много ли Вы знаете простых и удобных persistence-библиотек". Ды, уж знаем, несколько"
Здравствуйте, 0x7be, Вы писали:
0>Здравствуйте, LaptevVV, Вы писали:
LVV>>Кстати, хорошая статья... 0>Слишком эмоциональная.
Дык, видимо достало чела...
Вроде это тот Боресков, который книжки по графике в ДиалогМИФИ печатает. Чел вполне квалифицированный...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, -MyXa-, Вы писали:
_>>Да нет, я-то сам его люблю. Случайно наткнулся на статью здесь. _>>Он не просто его, не любит, он его ненавидит. И других заразить пытается. _>>Вот, думаю, тролль Отличная приманка для священной войны.
MX>[:]|||||[:]
MX>Только в статье — всё не правда. А единственное, чем плох С++, так это тем, что с ним можно 1 раз 15 лет, а можно (как в случае с автором) 15 раз по 1-му году.
В статье почти все правда. Просто преподнесена она так, чтоб сильно задеть программистов С++ и местами немного искажена.
MX>За 15 лет автор так и не осилил простые вещи:
MX>1) Понятие метаинформации не то, что отсутствует, но в избытке (сомневаюсь, что он читал Александреску — скорее, он его под ножку стола подкладывал)
Отлично. Напишите универсальный сериализатор в XML/Json.
RTTI очень слабое подобие метаинформации в управляемых языках.
MX>2) "Много ли Вы знаете простых и удобных persistence-библиотек". Ды, уж знаем, несколько.
Простых? Удобных?
"Огласите весь список пжалуста!"
MX>Можем и с сами написать — вон, на кывт-е есть статья про сериализацию в хмл, ещё другая есть, про которую все
К Вашему сведенью под persistance библиотеками подразумевается O/RM в первую очередь.
MX>знают. "А вот ... в Python'е таких библиотек полно". Питон — программа на С, библиотека С-шная, а мужики-то не знают.
Вообще-то интерпретатор можно на любом языке написать. Тот же IronPython, IronRuby и т.д. вовсе не на С написаны. Ну и кроме того С++ != С.
MX>3) "А как дела у С++ с интеграцией со скриптовыми языками...". Boost.Python, CliPP, (шёпотом: COM) и др.
Да плохо с интеграцией. Работать с COM в .NET на много проще.
MX>8) "А как же исключения (exceptions), а как же RTII ?. За них то я всегда плачу всегда !!!". Караул! Заявляю — RTII в С++ никогда не было,
RTTI, а не RTII в С++ было, есть и будет. MX>и не предвидится следующие лет 10 точно.
Какой кошмар... MX>9) "будет изменена лишь копия объекта, которая сразу же после этого будет разрушена. Здорово, а ?". А некоторые языки, например, не позвляют выразить тот факт, что переданный в метод объект не будет изменён методом, которые принимает этот объект в качестве параметра.
А некоторые языки (а именно С++) не имеют таких базовых понятий как: свойства, атрибуты, события, делегаты, лямбда-выражения, замыкания, duck typing, интерфейсы, covariance и contravariance, и много другого.
MX>13) "средств получить информацию о типе-параметре в языке просто нет" . Язык С++ на столько крут, что "в языке" это и не нужно — можно написать библиотеку. boost::is_abstract, is_arithmetic, is_array, is_base_and_derived, is_base_of, is_class, is_complex, is_compound, is_const...
О, ужас.
MX>После слов "Это конечно здорово, но вот как узнать является ли этот тип каким-либо из элементарных типов, указателем или ссылкой ? Является ли он const или нет ?" этого профана сил осиливать его поток у меня не осталось.
Он правду сказал, а Вы классически "съехали на оскорбления", не могучи аргументированно ответить.
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Сериализация почти всегда нужна в контексте решения задач наподобие построения протокола обмена данными и тут уже трудозатраты на дублирование названий членов структур уезжают в такой микроскопический масштаб, что о них и рассуждать не стоит.
С мира по нитке..
Здравствуйте, Mamut, Вы писали:
M>Ну, мы же говорим о ""Много ли Вы знаете простых и удобных persistence-библиотек". Ды, уж знаем, несколько"
А... А я думал, что о "сериализации объектов любой сложности".
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Mamut, Вы писали:
M>Объект с циклическими ссылками и членами — указателями на другие объекты. Плюс является наследником другого объекта так, чтобы не надо было явно указывать: M>
Здравствуйте, criosray, Вы писали:
C>Здравствуйте, -MyXa-, Вы писали:
C>В статье почти все правда. Просто преподнесена она так, чтоб сильно задеть программистов С++ и местами немного искажена.
Угу, искажена вплоть до своей противоположности.
C>А некоторые языки (а именно С++) не имеют таких базовых понятий как: свойства, атрибуты, события, делегаты, лямбда-выражения, замыкания, duck typing, интерфейсы, covariance и contravariance, и много другого.
свойства — синтезируется;
атрибуты (в смысле сопоставляемых метаданных) — синтезируется;
события — синтезируется;
делегаты — синтезируется;
лямбда-выражения — есть в C++0x;
замыкания — есть в C++0x;
duck typing — статический (и это очень хорошо);
интерфейсы — полностью выражается средствами pure virtual;
covariance/contravariance — где именно их нет (ковариантные возвращаемые значения есть)?
MX>>13) "средств получить информацию о типе-параметре в языке просто нет" . Язык С++ на столько крут, что "в языке" это и не нужно — можно написать библиотеку. boost::is_abstract, is_arithmetic, is_array, is_base_and_derived, is_base_of, is_class, is_complex, is_compound, is_const... C>О, ужас.
А что не так?
MX>>После слов "Это конечно здорово, но вот как узнать является ли этот тип каким-либо из элементарных типов, указателем или ссылкой ? Является ли он const или нет ?" этого профана сил осиливать его поток у меня не осталось. C>Он правду сказал, а Вы классически "съехали на оскорбления", не могучи аргументированно ответить.
Глупость он сказал. Элементарных типов очень мало, указатели и ссылочные типы определяются на раз. И таких натяжек полна статья.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!