Есть алгоритмы поиска с возвратами, там тот же самый процесс, вроде позволяет быстрее найти хотя бы одно подходяшее решение, т.е. в нашем случае написать вариант программы, который хоть и не единственно возможный, но тоже правильный. В отличие от переборных алгоритмов при программировании шаг Исправил это не просто взял следующий вариант, а еще и Подумал, т.е. перебор ускоряется.
Вывод — этот грязный метод программирования на самом деле очень даже научный.
Недетерминированно-полное программирование получается когда думать бесполезно.
ON>Недетерминированно-полное программирование получается когда думать бесполезно.
Имею мнение, что если бы не было отладчиков, то процесс написания программ был бы более трудоемким, но программы были бы более качественными по причине, что при отсутствии отладчиков процесс обдумывания стимулируется.
Здравствуйте, MShura, Вы писали:
ON>>Недетерминированно-полное программирование получается когда думать бесполезно.
MS>Имею мнение, что если бы не было отладчиков, то процесс написания программ был бы более трудоемким, но программы были бы более качественными по причине, что при отсутствии отладчиков процесс обдумывания стимулируется.
WOW! А я как раз запускаю отладчик только в очень уж исключительных случаях. Чтобы это значило?
... << RSDN@Home 1.1.4 stable rev. 510>>
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
ON>>>Недетерминированно-полное программирование получается когда думать бесполезно.
MS>>Имею мнение, что если бы не было отладчиков, то процесс написания программ был бы более трудоемким, но программы были бы более качественными по причине, что при отсутствии отладчиков процесс обдумывания стимулируется.
E>WOW! А я как раз запускаю отладчик только в очень уж исключительных случаях. Чтобы это значило?
Я очень рад за Вас. А означает это то, что возможные причины ошибки вы можете легко понять по логам.
Хотя не спорю, иногда отладчик помогает решить задачу обнаружения ошибки быстрее.
Я был свидетелем того, как люди, просившие меня в чем то помочь, пытались исправить баг методом научного тыка, т.е. перебирая разные варианты, а не подумав о причинах.
Здравствуйте, MShura, Вы писали:
MS>>>Имею мнение, что если бы не было отладчиков, то процесс написания программ был бы более трудоемким, но программы были бы более качественными по причине, что при отсутствии отладчиков процесс обдумывания стимулируется.
E>>WOW! А я как раз запускаю отладчик только в очень уж исключительных случаях. Чтобы это значило? MS>Я очень рад за Вас. А означает это то, что возможные причины ошибки вы можете легко понять по логам. MS>Хотя не спорю, иногда отладчик помогает решить задачу обнаружения ошибки быстрее.
Я как раз вчера обнаружил ошибку, которая приводила к краху приложения в случайные моменты времени. Причем логи здесь вообще не помогали, т.к. ошибка была наведеной -- допущена в одном месте, а проявлялсь где угодно, в зависимости от расположения звезд Именно здесь мне помог отладчик, он показал точное место слома. Но вот из-за чего в этом месте слом происходил -- отладчик так же не мог помочь. Пришлось курить по исходникам. Оказалось, что в некоторых сценариях удаленные объекты кое-где оставляли повисшие ссылки. И сбой происходил тогда, когда по этим ссылкам записывался какой-то мусор. Отсюда и случайные моменты времени в проявлении бага.
MS>Я был свидетелем того, как люди, просившие меня в чем то помочь, пытались исправить баг методом научного тыка, т.е. перебирая разные варианты, а не подумав о причинах.
Когда это происходит постоянно, то это, действительно, беда. Но мне самому иногда приходилось к этому методу прибегать -- когда проявления бага какие-то эпизодические приходится прилагать существенные усилия чтобы добится его систематического проявления. Тогда чего только не делаешь.
... << RSDN@Home 1.1.4 stable rev. 510>>
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
или может он отладчик пишет, а тот запускается лишь в исключительных случаях
...
Детерминированное программирование, когда проверять программу не нужно, когда код точно соответствует заданию, это компиляция. Раньше была такая профессия — калькулятор. Теперь вот компиляторы.
Здравствуйте, BreQwaS, Вы писали:
E>>WOW! А я как раз запускаю отладчик только в очень уж исключительных случаях. Чтобы это значило?
BQS>Это значит, что вы юниксоид
Нет, я не юниксоид. Просто приходится разрабатывать системы (можно их называть server-side), которые как черные ящики, работают себе круглые сутки. На разных платформах.
BQS>Во всяких Студиях и Билдерах оно само запускается.
Особенно это классно, когда система начинает падать на сервере, а не на developer-ской машине. И при нагрузке эдак 100 транзакций в секунду. Да в многопроцессовой конфигурации, где каждый процесс еще и многопоточный. Ну нафиг такие вещи в Студиях и Билдерах отлаживать.
... << RSDN@Home 1.1.4 stable rev. 510>>
SObjectizer: <микро>Агентно-ориентированное программирование на C++.