Здравствуйте, alexeiz, Вы писали:
A>Ошибка данного типа не является ошибкой из серии "ах, опять оплошал!" Она не допускается случайно. Наоборот, это сознательное действие, объяснимое только отсутствием необходимой квалификации.
Тут выше замечательно описано как народ готов плевать на подобне ошибки ради 5%-ного выигрыша в паяти.
ЗЫ
Постоянно слушу от поклонников С++ фразу "Квалифицированный программист должен" или "это делают неофиты" ну и т.п. И не разу не слышал о том, что вот проблемы у нас в проекте. Все таки замечательно. Но как не глянешь в форум по плюсам, так там одни проблемы. У меня возникает впечатление, что те кто защищает С++ в этом форуме и те кто пишет на нем неальный софт — это разные люди.
Так же забавно, что вокруг столько крутых С++-программистов, в разные MS, Quark, Adobe, Corel (далее следут список из сотен, а то и тысяч успешных IT-компаний) берут исключительно ламеров, потому как у всех и нуих продукты глючат так что плакать хочится. И по какой-то уж совсем не объяснимой причине все эти продукты написанны на С++.
Нет, бесспорно, и на С++ и даже на С можно написать устойчивый и относительно надежный софт. Причем до недавнего времени это даже было обсалютно оправдано. Но стоимость доведения софта написанного на С++ до качественного состояния настолько велика, что даже монстры позволяют себе тратить такие суммы только на флагмансткие продукты вроде СУБД и OS. А в это время представители мелких никому не изместных компаний говорят, что проблем нет в принципе и мол всего лишь нужно брать на работу их родимых.
Кто-нибудь может объяснить этот парадокс? Что вы откажетесь пойти на работу за 70 килобаксов в год в какой-нибудь Adobe? Или может быть Adobe вам не верит? А то я смотрю как валится In Design 3.0 и тихо фигею. А от того как Ворд вылетает уже и фигеть перестал.
"Ламеры" и "нишей" МС вместо того чтобы убрать вылеты Ворда придумали вочер который ловит крах ворда и спасает его память. После перезагрузки по этой памяти воссоздается файл (зачастую тоже битый). Ну не смешо ли это?
... << RSDN@Home 1.1.4 beta 3 rev. 267>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Sergey, Вы писали:
S>Это ты не подумавши сказал Какие такие накладные расходы для объектов, S>лежащих в векторе? Заметь — не указателей на объекты, а именно объектов? И, S>собственно, с чего спич начался — на кой черт объектам в этом случае S>виртуальные деструкторы?
Есть еще куча разных вариантов с MMF, на которые тоже прекрасно ложится "приспособленец". Которые снимут ограничение на общий объем данных, и которые будут работать поэффективнее, чем твой вариант. Надо было просто думать об оптимизации алгоритма, а не крохоборством заниматься.
А вообще — кажется, мы отклонились от темы. Если у твоего класса закрыт деструктор и наследование от него не предусматривается в принципе, то никакого отношения к обсуждаемой проблеме твой случай не имеет.
S>Да-да, тупой я как пробка, есть такой недостаток.
Здравствуйте, VladD2, Вы писали:
VD>Кто-нибудь может объяснить этот парадокс? Что вы откажетесь пойти на работу за 70 килобаксов в год в какой-нибудь Adobe? Или может быть Adobe вам не верит? А то я смотрю как валится In Design 3.0 и тихо фигею. А от того как Ворд вылетает уже и фигеть перестал.
Да чего там далеко ходить... Windows уже давно стал притчей во языцех по причине своей крайней дырявости. Достаточно вспомнить про один только MS-Blast. При этом Майкрософт имеет достаточные ресурсы, чтобы набирать лучших программистов во всем мире. Про набор в России я думаю все уже слышали, и никто из здесь присутствующих наверняка не отказался бы поработать на них за 70-80 килобаксов в год. А если кто и скажет, что откажется — значит, просто кривит душой. Ну, может быть за единичными исключениями. Но я таких людей не знаю
Однако, результаты их работы все могут видеть (и громогласно ругать) каждый день.
Если все такие умные и знают, "как надо писать на С++", почему бы вам не отправиться в Редмонд и не объяснить этим бракоделам, как надо на самом деле работать?
VD>"Ламеры" и "нишей" МС вместо того чтобы убрать вылеты Ворда придумали вочер который ловит крах ворда и спасает его память. После перезагрузки по этой памяти воссоздается файл (зачастую тоже битый). Ну не смешо ли это?
Это ни проблема языка, ни C# ни java, ни помогут в решении подобных проблем, если фирме выгоднее выпускать глючные програмы, чем доводить их до ума, то они и будут выпускатся. И вообще очень часто вместо вылета программа написанная на языке с GC неправильно работает после критической ошибки.
Д>Если все такие умные и знают, "как надо писать на С++", почему бы вам не отправиться в Редмонд и не объяснить этим бракоделам, как надо на самом деле работать?
На java (C#) значит выпускаются только безглючные программы?
Здравствуйте, Sergey, Вы писали:
S>А потом вдруг оказывается, что в узких нишах S>все же можно
Потому что если действительно припрет — то все можно. И на языке ассемблера писать, и самомодифицирующие проги в машинных кодах делать. "Историю одного байта" читали? Вот только такие случаи очень редко встречаются.
Здравствуйте, VladD2, Вы писали:
VD>Точно на С то тоже ламеры пишут. Ну, найди бокрепорт любого С++-ного софта сравним количество мемориликов и неинициализированных переменных с Янусом.
А где гарантия что багрепорты будут одинакового качества?
Здравствуйте, Дарней, Вы писали:
Д>Здравствуйте, FR, Вы писали:
FR>>На java (C#) значит выпускаются только безглючные программы?
Д>Я например ни разу не слышал, чтобы в программе на Яве или C# бывали уязвимости из-за переполнения буфера
А я ни разу ни видел на C++ программу которая посылает систему в такой swap что приходится снимать задачу из-за того что GC не хватило памяти
Здравствуйте, VladD2, Вы писали:
VD>Постоянно слушу от поклонников С++ фразу "Квалифицированный программист должен" или "это делают неофиты" ну и т.п. И не разу не слышал о том, что вот проблемы у нас в проекте. Все таки замечательно. Но как не глянешь в форум по плюсам, так там одни проблемы.
А то в .Net форумах рецепты эклеров обсуждают
VD>У меня возникает впечатление, что те кто защищает С++ в этом форуме и те кто пишет на нем неальный софт — это разные люди.
Прикольно
VD>Так же забавно, что вокруг столько крутых С++-программистов, в разные MS, Quark, Adobe, Corel (далее следут список из сотен, а то и тысяч успешных IT-компаний) берут исключительно ламеров, потому как у всех и нуих продукты глючат так что плакать хочится. И по какой-то уж совсем не объяснимой причине все эти продукты написанны на С++.
А ты не думал, почему тысячи специалистов весьма успешных компаний не решили переходить с Си++ на что-то другое, а один самый умный Влад Чистяков решил? Может есть что-то чего ты ещё не понял? Я не претендую на объяснение, но согласись, утверждать что все вокруг ошибаются и только ты прав несколько самонадеяно.
VD>Кто-нибудь может объяснить этот парадокс? Что вы откажетесь пойти на работу за 70 килобаксов в год в какой-нибудь Adobe? Или может быть Adobe вам не верит? А то я смотрю как валится In Design 3.0 и тихо фигею. А от того как Ворд вылетает уже и фигеть перестал.
Может у тебя с компьютером что-то? Как Ворд вылетает я уже очень давно не видел.
VD>"Ламеры" и "нишей" МС вместо того чтобы убрать вылеты Ворда придумали вочер который ловит крах ворда и спасает его память. После перезагрузки по этой памяти воссоздается файл (зачастую тоже битый). Ну не смешо ли это?
И тоже самое сделали в Corel DRAW.
А знаешь как ECC Registred память работает? Если считалось ошибочное значение, то оно считывается заново. Может это просто тенденция IT, которая лично тебе чужда?
Здравствуйте, FR, Вы писали:
FR>А я ни разу ни видел на C++ программу которая посылает систему в такой swap что приходится снимать задачу из-за того что GC не хватило памяти
В последний раз я такое видел на своем замученном P166MMX + 16mb. Как ты сам понимаешь, никаким дот-нетом там и не пахло.
Так что мой тебе совет — просто купи нормальный компьютер.
И кстати — о глюках. VS6 у меня вылетал не реже раза в день. VS7 — не реже раза в неделю. Можно считать, что это — уже прогресс :-D
Здравствуйте, FR, Вы писали:
FR> я ни разу ни видел на C++ программу которая посылает систему в такой swap что приходится снимать задачу из-за того что GC не хватило памяти
Я видел. Rational Rose C++ Analizer. Правда, в него как раз какая-то сборка мусора вставлена (или какой-то свой хитрый менеджер памяти)
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Здравствуйте, Дарней, Вы писали:
Д>Здравствуйте, FR, Вы писали:
FR>>А я ни разу ни видел на C++ программу которая посылает систему в такой swap что приходится снимать задачу из-за того что GC не хватило памяти
Д>В последний раз я такое видел на своем замученном P166MMX + 16mb. Как ты сам понимаешь, никаким дот-нетом там и не пахло. Д>Так что мой тебе совет — просто купи нормальный компьютер.
Бесполезно, глючные и прожорливые программы пишут быстрее чем становятся мощнее компьютеры
Д>И кстати — о глюках. VS6 у меня вылетал не реже раза в день. VS7 — не реже раза в неделю. Можно считать, что это — уже прогресс :-D
Ну и что я видел несколько лет назад как люди с JBuilder мучались, судя по звукам он у них каждые полчаса дох
И вообще не надо представлять тут языки с GC как панацею, не так далеко они и ушли в плане безглючности от плюсов или дельфи.
Здравствуйте, Дарней, Вы писали:
S>>Абсолютно. Flyweight реализовывать куда геморройней, чем отказаться от S>>ненужных виртуальных деструкторов. Разницы по памяти никакой, по скорости — S>>Flyweight однозначно проигрывает.
Можно я ламерский вопрос задам? Что такое Flyweight?
Здравствуйте, VladD2, Вы писали:
VD>Я уже дано замечаю, что люди сильно подсевшие на плюсы с большей радостью начинают рассуждать про поддрежку С++-ом неких мифических парадигм нежели о ОО-дизайне.
Влад, пара вопросов:
1) Ты видишь в этой тенденции что-то плохое? На ОО-дизайне разве свет клином сошелся?(задаю этот вопрос и плачу, поскольку сам горячий сторонник ОО-дизайна )
2) Что значит "мифические" парадигмы? За этими словами есть что-то кроме твоей личной неприязни?
3) Влад, а разве люди всерьез подсевшие на диезы, не начинают с большой радостью рассуждать о весьма конкретных парадигмах программирования, отличных от объектно-ориентированного? Например, о компоненто-ориентированном программировании?
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Alxndr, Вы писали:
A>>С++ — язык с нулевыми издержками, "чем не пользуюсь, за то не плачу".
VD>Дык кто же спорит. Если памяти в обрез, то лучшим решением будет С++, а то и С...
Не вижу преимуществ С применительно к данному случаю
VD>Вот только тут речь скорее не об исключениях. А на С++ пишется сегодня море кода не критичного ни к чему кроме его надежности.
Я считаю, что для некритичных с памяти/скорости приложений и/или для программистов, которые считают, что надежность в С++ немыслима без виртуальности деструктора по умолчанию и т.п. подобных фенечек, C# — лучший выбор.
Мне кажется коментировать тут особо нечего. Вопросы по Шарпу конечно поднимаются, но намного реже и они не имеют стольк больезненного оттенка.
VD>>У меня возникает впечатление, что те кто защищает С++ в этом форуме и те кто пишет на нем неальный софт — это разные люди.
A>Прикольно
Грустно.
VD>>Так же забавно, что вокруг столько крутых С++-программистов, в разные MS, Quark, Adobe, Corel (далее следут список из сотен, а то и тысяч успешных IT-компаний) берут исключительно ламеров, потому как у всех и нуих продукты глючат так что плакать хочится. И по какой-то уж совсем не объяснимой причине все эти продукты написанны на С++.
A>А ты не думал, почему тысячи специалистов весьма успешных компаний не решили переходить с Си++ на что-то другое, а один самый умный Влад Чистяков решил?
Кое-кто переходит. Слава богу МС уже немало кода переводит на менеджед-остнову. Другие тоже надеюсь со времением перейдут.
A> Может есть что-то чего ты ещё не понял? Я не претендую на объяснение, но согласись, утверждать что все вокруг ошибаются и только ты прав несколько самонадеяно.
Я соглашусь, с тем, что в твоих словах ноль конструктива. Больше мне с тобой соглашаться не с чем.
A>И тоже самое сделали в Corel DRAW.
Значит и там не могут найти "нормальных" программистов?
A>А знаешь как ECC Registred память работает? Если считалось ошибочное значение, то оно считывается заново. Может это просто тенденция IT, которая лично тебе чужда?
А какое отношение ECC имеет к вылетающему софту? Не говоря о том, что аналогии в качестве предпосылок вообще не уместны, можно задуматься хотя бы над тем, что ECC уберегает от одинарного сборя железа, а подобные примочки пытаются спасти остатки данных после программной ошибки, тем самым рассписываясь в невозможности обеспечения бесзбойной работы.
А ведь софт который сбоит крайне редко все же есть. У того же МС есть MSSQL который я вообще не видел чтобы сбол. Значит неглючный софт таки писать можно и дело только в цене? Так какого хрена не применить средство понижающее цену и повышающее качество, чтобы уменьшить вылеты до незаметных глазу размеров?
Славо богу похоже с Вордом проблема скоро решится. ИнДизайн еще видимо лет 5 будет глючить.
... << RSDN@Home 1.1.4 beta 3 rev. 267>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.