![]() |
Модераторы: THandle, bems |
![]() ![]() ![]() |
|
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 4 Всего: 89 |
...и ненадёжная.
Нет. Согласно статистике, вина кода MS в BSOD - лишь в 5% случаев. P.S. Остальные: 10% - железо (ошибки/разгон), 15% - неизвестно (данные слишком повреждены), 70% - сторонние драйверы. Добавлено через 4 минуты и 44 секунды Наверное пора открыть для себя понятие автогенерируемого отчёта об ошибке с боевых полей? Это сообщение отредактировал(а) CodeMonkey - 20.3.2011, 01:43 -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
AlekXL |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 2.5.2008 Репутация: 0 Всего: 0 |
блин, десктопным пользователям в большинстве случаев не нужна уверенность в надежности, им нужен функционал. Да, в твоем подобранном случае могло что-то произойти, но под Delphi 2006 такого нет, например. И фолт безобидный - специально проверил. И что, теперь в каждом случае безобразно валить прогу? Юзер сам перезапустит, если форма скукожится. Я вывожу лог исключения, и даю пользователю выбор , а ты - нет. Ты валишь прогу - на всякий случай. Может, у юзера в твоей проге, в компоненте редактирования был несохраненный текст, который он долго составлял. Он будет потерян. А в моей проге, даже если форма скукожится, либо еще что-то заглючит, юзер успеет этот текст хотя бы в блокнот перекопировать. Так какое поведение будет лучше для юзера, твой принудительный шухер, или данный мной выбор? Что в конечном, эффективном счете будет less offensive? Программа не умнее человека, а юзеру нужно дать выбор.
Да, не могу. Но мой код и не будет вызывать AV на регулярной основе. Тем не менее порой прога вынуждена вызывать код библиотек, которые славятся нестабильностью: возми например AviSynth с набором самопальных фильтров - уникальных по своему функционалу, но фолтящих часто. Таков редактор скриптов AvsP. Он давит AV исключения( показывает, но не валится) - и тем хорош. Потому что если бы валился на всяком AV фолте, с ним бы работать было невозможно. А так удается пережить несколько фолтов до полного зависания (благо есть автосохранение. по твоей логике, после AV даже автосохранение было бы ненадежным, но на практике работает прекрасно)
в теории. На практике практически никогда не было репортов о проблемах. это сейчас. Да Win сейчас продукт. Ты вспомни что было во времена Win95! Но они уже тогда делали деньги, а если бы теоретезировали, не было бы ни денег, ни, следовательно, продолжения разработки, ни этих низких 5% процентов в настоящее время. наверное нужно думать, о чем пишешь. При чем тут отчет? Там повторное освобождение памяти, а когда было первое и почему повторно освобождается - кто скажет? Я знаю участок, где фолтит. Но причина фолта в другом месте или времени. |
||||
|
|||||
AlekXL |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 2.5.2008 Репутация: 0 Всего: 0 |
PS.
И посмотри вот на эти две ссылки и два скриншота, эксперт. ![]() оттсюда и ![]() отсюда детали не важны, но если пораскинешь умом, то увидишь что два Delphi(Total и TheBat) приложения из числа наиболее коммерчески успешных ДАВЯТ AV. Так что давай закончим оффтоп, и ты не будешь мне капать на мозги своими теориями. |
|||
|
||||
CodeMonkey |
|
||||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 4 Всего: 89 |
Подобранном? Да это наугад набранный код! Повторяю вопрос: значит ли это, что нужно не пристёгиваться в автомобиле? Дай тебе волю - ты и в BSOD вставишь [ Restart ] и [ Continue ]. Упорно употребляемое тобой слово "безобразно" говорит о наличии детских страхов или предрассудков.
Я, кажется, понял, откуда твои детские страхи. Могу только сказать что ты сильно не прав. Нет возможности описывать подробно, но если кратко: более 80% софта в мире написано не в Delphi. Это значит, что в большей их части не используется модель гашения исключений, как это имеет место быть в Delphi - потому что моделью по умолчанию обычно является вылет приложения. Из того, что кто-то давит исключения, следует, что разработчик этого кода про них не узнает. Откуда следует, что баги в коде не фиксятся. Откуда следует, что как был компонент бажный - так и останется. И будет валиться на каждый чих. Если бы была нормальная элевация исключений без гашения - автор кода мог бы получать отчёты о проблемах и пофиксить все баги. И не был бы компонент бажным, и не надо было бы гасить исключения, и пользователь не раздражался бы из-за необходимости рестарта - потому что он был бы раз в год. Багов было больше, кто ж спорит. А вот ЧТО это были за баги? Изменилось ли процентное соотношение? Я не удивлюсь, если процентное отношение было такое же. Вышел Win95 - это же так клёво: и все ломанулись писать под него софт. Но читать документацию - это же куча работы! Неудивительно, что софт писали тяп-ляп. Вот тебе и куча багов. Вина ли тут Microsoft? Если только в том, что выпустили ОС, под которую ломанулись писать софт. Почему сейчас меньше багов? Потому что Microsoft насильно заставляет разработчиков их искать и исправлять, не даёт злоупотреблять системой и пакостить (один из примеров - WHQL). FastMM, фильтр к MM или любой другой аналогичный механизм. И обе ссылки - прекрасное подтверждение, почему так делать нельзя.
Несложно сообразить, что делают они это по той простой причине, что это поведение по умолчанию в Delphi, и чтобы ему не следовать надо приложить определённые усилия. Не надо тут тыркать "известным софтом" - там порой такой ###-код встречается, что боже упаси (встречается на форумах, да и репортить о проблемах приходилось не раз). Итого: пора честно признаться себе, что ты пишешь ###-код. Само по себе это не так плохо (на ###-коде вполне можно писать успешные программы), как то, что ты это пропагандируешь как правильный подход к разработке. P.S. Я работаю в тех-поддержке EurekaLog: ты не представляешь, как меня (вырезано цензурой, смысл: достал) код, который гасит исключения. Из-за того, что кто-то решил вставить лишний try-excpet потому что "ох, ну этот код такой глючный! Я не знаю что с ним делать!" потом возникают проблемы в диагностике. У клиента возникают проблемы, но чтобы их найти, надо перелопатить миллионы строк кода, который постоен по такому принципу. Не, да ну его на###... -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
||||||
|
|||||||
AlekXL |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 2.5.2008 Репутация: 0 Всего: 0 |
твой наугад выбранный код не дает проблем на Delphi 2006. избавь меня от таких аналогий. разработчики многих этих фильтров больше не поддерживают свой код. Так что либо используешь фильтр, либо нет. И многие такие фильтры практически безальтернативны. Лучше так, чем совсем никак. Могу сказать что это не страхи, а просто твердая позиция: как пользователя кода, так и создателя. Ага, все баги были от сторонних производителей софта и дров. Ты, случаем, и в MS в то время зарплату получал?
что-то мне не верится, что FastMM хотя бы покажет мне лог стека вызовов для первого, успешного освобождения, а не для второго, обстоятельства которого мне и так известны. ага, разработчики этих программ поленились добавить сотню строчек кода, которые валят прогу при любом AV-шухере, к десяткам или сотням тысяч строчек кода, что они уже написали. ага, код Total, theBat - "###-код", один ты белый и пушистый. если этот код не хуже, чем в Total или TheBat, то однозначно ДА И знаю, что у 99.9% пользователей, как и у пользователей Total и TheBat - не будет нареканий на стабильность. Потому что я усматриваю в поведении этих программ (при сбоях) успешную бизнес модель, а вовсе не детские страхи. Добавлено через 4 минуты и 1 секунду только не опускайся до лжи и клеветы |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi" | |
|
Добро пожаловать в форум группы "Delphi". В разделе разрешается:
Строго запрещено:
Если Вам понравилась атмосфера форума, заходите к нам чаще! Люблю, целую, вечно Ваш, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Форум группы: delphi | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |