Да, на одном убитом сиплюсном проекте в свое время я выкинул штук двадцать таких вот "фиксов". Фиксить пришлось тогда, когда программа дохла от terminate т.к. исключения валились буквально везде в т.ч. и в деструкторах.
Здравствуйте, midl, Вы писали:
M>Здравствуйте, Ikemefula, Вы писали:
I>>Здравствуйте, blackhearted, Вы писали:
I>>>>В джаве много либ, но стандартная только одна. И в дотнете тож самое. В с++ стандартных вагоны, а унифицирована только CRT. B>>>Это какие? B>>>CRT — это, вообще, сишный рантайм.
I>>Вот-вот. Все остальное в нескольких вариантах.
M>еще раз внимательно прочитай выделенно Мы тут вообщето с++ обсуждаем. И таки да, в плюсах есть всего одни стандартные строки, и это далеко не CString
Здравствуйте, _d_m_, Вы писали:
___>Здравствуйте, v2kochetov, Вы писали:
V>>Еще на С++ довольно часто пишут программы, для которых неприемлемо использовать классы общего назначения, а нужны классы строго специализированные под задачу, например по требованием производительности, потребления памяти, избавленности от ошибок и т.п.
___>Гыыы ))) Мне вот эта фраза особенно доставляет, по многим причинам.
Здравствуйте, monax, Вы писали:
M>большой монстр для всего — это склонность виндовых программистов, под линухом — отдельный маленький инструмент под свою задачу
То есть под Linux инструменты типа Eclipse или IDEA из монстров для всего внезапно (c) превращаются в отдельные маленькие инструменты под свою задачу?
M>да ладно, почитать только комментарии под пресс-релизами какой-нибудь ИДЕ о выходе вместо версии хх.007 версии хх.008, так куча восторженных отзывов, после которых начинаются массовые миграции леммингов
Дак и пусть пишут себе эти отзывы. Вот сколько работал, MS Office обновлялся значительно чаще того же Eclipse, который как стоял 3.2, так, наверное, и сейчас 3.2, а VS как был 2005, так и остался 2005. Перед самым моим уходом из того проекта (примерно год назад) только начали говорить о переходе на VS 2008.
P>>Ну вот я, например, в одном месте пишу вызов функции, скажем, KeyPress, а через 20 строк — PressKey. IDE сильно экономит мне время на таких мелочах.
M>тоже самое может делать и простой редактор с подсветкой синтаксиса и автодополнением
Разумеется. Но зачем еще мне вспоминать, чем отличается подсветка синтаксиса в редакторе и в IDE? Или же мне придется настраивать ее дважды.
M>А может стоит задуматься о нормальном логировании? Тогда потребуется только лишь файл лога и grep. И у тебя перед глазами состояние интересующих тебя объектов за всё время работы, а не только в каком-то бряке.
Мы же говорим о проверке идеи, которая делается в стороне от основного проекта и пишется абы как. Объектов там пара-тройка. Та самая первая версия, которая выбрасывается в мусор. На фига мне туда запихивать логирование? В версиях, начитая со второй, естественно, есть и логирование, и все, что нужно. Там я вполне обходился уже без бряков. Потому что благодаря той первой версии становилось ясно, что и когда выводить в лог.
B>>и всего делов
I>Да, на одном убитом сиплюсном проекте в свое время я выкинул штук двадцать таких вот "фиксов". Фиксить пришлось тогда, когда программа дохла от terminate т.к. исключения валились буквально везде в т.ч. и в деструкторах.
А я, по-твоему, это дело сам придумал? Только проект был на Java, там нет catch(...).
А вообще у этого дела ноги растут из on error resume next. Повбывав бы.
Здравствуйте, blackhearted, Вы писали:
I>>>>Фиксится примерно за 5 минут по первому обнаружению. Баги с указателями проявляют себя _годами_.
B>>>Что, никак не получается по стектрейсу/корке/дампу обнаружить где падает?
I>>Проезд по памяти тебе знаком ? B>Знаком, и что? B>Не получается найти причину падения по "стектрейсу/корке/дампу"? Нужно учиться, это полезно. B>Еще можно логирование добавлять, функционал отключать.
Итого, правильно будет так: "стектрейсу/корке/дампу/логам/отключению функционала/профайлером/стат.анализатором/приседаниями/танцами с бубном"
И при всем этом нет гарантии обнаружения, а всего лишь увеличивается вероятность обнаружения.
B>Но что я тебе рассказываю, ты же сам всё знаешь, только вот примеров так и нет, когда проблема была именно из-за указателей, а не из-за кривых рук.
Сиплюсники любят пенять на чьи то кривые руки, ты не первый.
B>>и всего делов
I>Да, на одном убитом сиплюсном проекте в свое время я выкинул штук двадцать таких вот "фиксов". Фиксить пришлось тогда, когда программа дохла от terminate т.к. исключения валились буквально везде в т.ч. и в деструкторах.
cannot into sarcasm?
Расскажи нам еще ужастиков про плюсовые проекты.
А потом можешь вспомнить, как всё шоколадно не в плюсах.
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, blackhearted, Вы писали:
I>>>>>Фиксится примерно за 5 минут по первому обнаружению. Баги с указателями проявляют себя _годами_.
B>>>>Что, никак не получается по стектрейсу/корке/дампу обнаружить где падает?
I>>>Проезд по памяти тебе знаком ? B>>Знаком, и что? B>>Не получается найти причину падения по "стектрейсу/корке/дампу"? Нужно учиться, это полезно. B>>Еще можно логирование добавлять, функционал отключать.
I>Итого, правильно будет так: "стектрейсу/корке/дампу/логам/отключению функционала/профайлером/стат.анализатором/приседаниями/танцами с бубном"
I>И при всем этом нет гарантии обнаружения, а всего лишь увеличивается вероятность обнаружения.
Не в плюсах всё просто? Увидел трейс — 5 минут и fixed?
Басенщик из тебя классный выходит.
B>>Но что я тебе рассказываю, ты же сам всё знаешь, только вот примеров так и нет, когда проблема была именно из-за указателей, а не из-за кривых рук.
I>Сиплюсники любят пенять на чьи то кривые руки, ты не первый.
Примеры где, или слив таки?
Обидно, все так ждали, а оказалось очередное вбрасывание. Жаль, что обдало тебя.
B>>>и всего делов
I>>Да, на одном убитом сиплюсном проекте в свое время я выкинул штук двадцать таких вот "фиксов". Фиксить пришлось тогда, когда программа дохла от terminate т.к. исключения валились буквально везде в т.ч. и в деструкторах.
P>А я, по-твоему, это дело сам придумал? Только проект был на Java, там нет catch(...).
Разве я сомневаюсь в твоих словах ?
P>А вообще у этого дела ноги растут из on error resume next. Повбывав бы.
По моему разумению ноги растут из того, что у такого программиста есть желание получать ЗП ничего не делая и девиз: "пока будут баги у нас будет зарплата". Таких надо убивать в детстве выпиливать из проекта.
Здравствуйте, blackhearted, Вы писали:
I>>И при всем этом нет гарантии обнаружения, а всего лишь увеличивается вероятность обнаружения.
B>Не в плюсах всё просто? Увидел трейс — 5 минут и fixed? B>Басенщик из тебя классный выходит.
Смотри, что было
M>>null dereference?
I>Фиксится примерно за 5 минут по первому обнаружению. Баги с указателями проявляют себя _годами_.
null dereference именно так и фиксится — 5 минут и fixed.
I>>Сиплюсники любят пенять на чьи то кривые руки, ты не первый.
B>Примеры где, или слив таки?
Скажи внятно, какие примеры тебе нужны ? Я вот покажи косяк с указателем, а ты начнешь ныть что де это не баг с указателем а кривые руки автора кода Я уже сейчас вижу этот твой основной аргумент. С такими д'Артаньянами спорить бессмысленно.
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, monax, Вы писали:
I>>>Я сколько ни смотрю код плюсовый, всегда нахожу косяки
M>>А когда смотришь на Java или C#, то душа радуется от безбажности?
I>Душа радуется что не надо искать и фиксить баги с указателями.
А использовать автоматический контроль ссылок и не иметь подобной проблемы религия запрещает?
Баги с указателями типичны какраз для сей, для плюсов есть стопицот способов их избежать
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, blackhearted, Вы писали:
I>>>И при всем этом нет гарантии обнаружения, а всего лишь увеличивается вероятность обнаружения.
B>>Не в плюсах всё просто? Увидел трейс — 5 минут и fixed? B>>Басенщик из тебя классный выходит.
I>Смотри, что было I>
M>>>null dereference?
I>>Фиксится примерно за 5 минут по первому обнаружению. Баги с указателями проявляют себя _годами_.
I>null dereference именно так и фиксится — 5 минут и fixed.
Аналогично и в плюсах — 5 минут и fixed.
I>>>Сиплюсники любят пенять на чьи то кривые руки, ты не первый.
B>>Примеры где, или слив таки?
I>Скажи внятно, какие примеры тебе нужны ? Я вот покажи косяк с указателем, а ты начнешь ныть что де это не баг с указателем а кривые руки автора кода Я уже сейчас вижу этот твой основной аргумент. С такими д'Артаньянами спорить бессмысленно.
Ты показывать будешь или тебе просто страшно еще больше слить, провидец ты наш?
Здравствуйте, Privalov, Вы писали:
P>То есть под Linux инструменты типа Eclipse или IDEA из монстров для всего внезапно (c) превращаются в отдельные маленькие инструменты под свою задачу?
Я вообще в терминале работаю
P>Мы же говорим о проверке идеи, которая делается в стороне от основного проекта и пишется абы как. Объектов там пара-тройка. Та самая первая версия, которая выбрасывается в мусор. На фига мне туда запихивать логирование? В версиях, начитая со второй, естественно, есть и логирование, и все, что нужно. Там я вполне обходился уже без бряков. Потому что благодаря той первой версии становилось ясно, что и когда выводить в лог.
Здравствуйте, blackhearted, Вы писали:
B>>>Не в плюсах всё просто? Увидел трейс — 5 минут и fixed? B>>>Басенщик из тебя классный выходит.
I>>Смотри, что было I>>
M>>>>null dereference?
I>>>Фиксится примерно за 5 минут по первому обнаружению. Баги с указателями проявляют себя _годами_.
I>>null dereference именно так и фиксится — 5 минут и fixed. B>Аналогично и в плюсах — 5 минут и fixed.
Проезд по памяти да за 5 минут ? Кто из нас сказочник ?
I>>Скажи внятно, какие примеры тебе нужны ? Я вот покажи косяк с указателем, а ты начнешь ныть что де это не баг с указателем а кривые руки автора кода Я уже сейчас вижу этот твой основной аргумент. С такими д'Артаньянами спорить бессмысленно.
B>Ты показывать будешь или тебе просто страшно еще больше слить, провидец ты наш?
Не вижу смысла что либо показывать очередному д'Артаньяну.
Здравствуйте, midl, Вы писали:
M>>>А когда смотришь на Java или C#, то душа радуется от безбажности?
I>>Душа радуется что не надо искать и фиксить баги с указателями. M>А использовать автоматический контроль ссылок и не иметь подобной проблемы религия запрещает?
Есть вагоны старого кода который работает до сих пор, там норма работать со строками например через char*. Ты реально представляешь, что такое перевод на нормальные строки проекта где 50-100мб плюсового кода ?
Здравствуйте, Mystic, Вы писали:
I>>Я вот покажи косяк с указателем, а ты начнешь ныть что де это не баг с указателем а кривые руки автора кода
M>Бывают конечно, но быстро фиксятся. Запуск программы под valgrind, опа, ругается. Смотрим место, исправляем.
Или не ругается. Тогда ищешь другой тул, стат.анализатор и тд и тд и фиксишь дальше.
Здравствуйте, Ikemefula, Вы писали:
I>Или не ругается. Тогда ищешь другой тул, стат.анализатор и тд и тд и фиксишь дальше.
Вот как раз интересен пример, когда valgrind бы не ругнулся
Здравствуйте, Ikemefula, Вы писали:
I>Или не ругается. Тогда ищешь другой тул, стат.анализатор и тд и тд и фиксишь дальше.
Навеяло. Хорошо было в DOS под QEMM такие баги ловить. Большинство неинициализированных указателей обнаруживались влет. QEMM ругался на расстрел памяти, но система не подвисала.