Почему программисты допускают ошибки? |
Всем известный афоризм "Не ошибается тот, кто ничего не делает" носит
снисходительный - ну что ж с кем иногда не бывает.
Но этот афоризм к программистам отношения не имеет, у них своя правда:
"В любой программе есть ошибки" или
"Любая последняя найденная в программе ошибка на самом деле является
предпоследней" или ...
Что дает нам, программистами, право гордо делать ошибки в своей продукции, в
то время как другим не прощаются даже малейшие оплошности.
Что это:
- глупость заказчиков?
- наша субъективная лень?
- что-то объективное?
И как с этим бороться?
Evgeny
Всего в теме 160 сообщений
Добавить свое сообщение
Отслеживать это обсуждение
- Тестирование проекта. Отладка.
- Подводные камни
- Сообщество программистов
- Где програмист может найти себе хорошую работу?
- Тестирование проекта. Отладка.
- Централизованная обработка ошибок
- Бета-тестирование
- Давайте учиться на ошибках.
- Автоматизированные тесты для GUI
- О системах контроля ошибок
- Сообщество программистов
- Влияние музыки на алгоритмическое мышление
- Тестирование проекта. Отладка.
- Вопросы оптимизации кода
<<<... | 20—11 | 10—1 Всего сообщений в теме: 160; страниц: 16; текущая страница: 16
№ 10 04-02-2002 18:22 | |
To Dron:
{Мы забыли о законе сложных систем. }
Да нет не забыли.
А Вы часто. Как часто и какие принципы теории сложных систем Вы используете в своей деятельности и почему? Потому что Вам так сказали, или Вы действительно осознали их "метафизические" основы?
{Чем сложнее система, тем ниже её надёжность и тем выше вероятность ошибки. Это даже не закон инфотехнологий - это физика. }
А в чем причина? Не точность вычислений, изменяющиеся условия, старение системы или принципиально вероятностная природа системы?
Это - физика.
А в чем неопределенность вашей программы или задачи?
О!!! Вижу как потирают руки возможные мои оппоненты.
Но я ведь говорю не о тупости заказчиков, или регулярной смене платформ. Ведь при наличии четкой постановки, в строго детерминированных условия мы все равно совершаем ошибки, и физика тут непричем.
То Alexander:
{Дык правило 5 +/- 2 }
Правильно, только не 5, а 7+\-2.
Но это не единственное ограничение, и, на мой взгляд, не самое жесткое.
Кроме объективной количественной сложности, есть субъективная сложнось, есть сложность неопределенности. Но это проблема сложности.
Кроме нее есть еще проблема одномерности нашего мышления.
Проблема тривиальности - ложной простоты.
№ 9 04-02-2002 17:42 | |
Что дает нам, программистами, право гордо делать ошибки в своей продукции, в
то время как другим не прощаются даже малейшие оплошности.
---
Обычное человеческое желание не смотря ни на что казаться себе выше других. Желание быть экспертом, свысока оценивающим других.
Желание повысить самооценку за чужой счет.
Приглядитесь к себе и к окружающим и вы поймете, насколько это естественно для людей.
№ 8 04-02-2002 15:43 | |
На:"Может быть специфика программирования в том, что здесь мы выходим на пределы наших интеллектуальных возможностей."
Мы забыли о законе сложных систем. Чем сложнее система, тем ниже её надёжность и тем выше вероятность ошибки. Это даже не закон инфотехнологий - это физика. Следовательно, если мы хотим создавать мало-мальски сложные программные комплексы. мы обречены на ошибки. Оторвитесь от мониторов и посмотрите вокруг. Есть ли в мире хоть что-нибудь совершенное? А Создатель - не ровня нам, интеллектуальным младенцам.
№ 7 04-02-2002 15:41 | |
Дык правило 5 +/- 2 и есть то самое ограничение. Больше сущностей одновременно ты никогда в голове не удержишь...
№ 6 04-02-2002 15:18 | |
Что ж - Все это правильно.
Но я попробую немножко подправить тему.
Когда у человека что-то не получается, он пытается понять причину и найти выход. Придумать, создать что-нибуть, что окажет ему помощь или просто сделает за него то, что он хочет.
Наши руки слабы - мы придумали матыгу, лопату, экскаватор.
Наши ноги слабы - мы придумали телегу, автомобиль, паровоз.
Мы не умеем летать - придумали самолет.
Наши глаза ограничены - есть микроскоп, бинокль, телескоп.
Наша память ограничены - вот вам книги, справочники, поминальники, компьютеры, наконец.
Т.е. понимая, что человек в чем-то ограничен, человечество искало компенсацию этим ограничения.
Но ведь интеллектуально мы также ограничены. Есть придел нашим возможностям.
Поэтому мы и ушли от ассемблера, не говоря уже о машинных кодах, ушли к этим абсолютно не эффективным FORTRANам, PL1, C++ и MFCям.
Ведь маленькие линейные программки мы пишем без всяких проблем и ошибок. Может быть специфика программирования в том, что здесь мы выходим на пределы наших интеллектуальных возможностей.
И если это так, то в чем эти ограничения?
Хотелось бы это понять, чтобы осмысленно оценивать плюсы и минусы того инструментария, который нам предлагается.
А не зная проблемы, как с ней бороться?
№ 5 04-02-2002 14:16 | |
>ЗЫ. Кстати, говоря о программе в целом, очень прикольно перенести
>винт с виндоуз на абсолютно новый компьютер, допустим с 486 на
>пентиум 4, запустить и посмотреть как она будет выкручиваться :-)
А кстати очень даже ничего у нее это получается, главное чтобы инсталяция была доступна... сам пару раз такой делал... :)
№ 4 04-02-2002 14:12 | |
Не не все так просто. У автомобиля-то четко определены входные и выходные параметры вместе со средой обитания, а у программы нет. Ни кто же не станет утверждать что автомобиль плохо ездит если его сбросить с самолета и попробовать ездить на нем пока он летит? А с программами это случается очень часто... Я имею в виду скорее программу не как законченный продукт, а как модуль реализующий некую функциональность.
ЗЫ. Кстати, говоря о программе в целом, очень прикольно перенести винт с виндоуз на абсолютно новый компьютер, допустим с 486 на пентиум 4, запустить и посмотреть как она будет выкручиваться :-)
№ 3 04-02-2002 12:42 | |
Так как программисты являются потомками класса "Люди", предлагаю расширить тему до девиза "Почему люди допускают ошибки ?". Действительно, почему падают самолеты, делаются откровенные глупости почему дети повторяют все этапы прохождения ошибок родителей ? С учетом того, что в природе тоже возникает куча ошибок, генетических отклоннений и т.д., можно подозревать, что ошибки - это часть мира, причем важная часть, позволяющая миру динамически развиваться и не впадать в статическую спячку. А почему программисты говорят что во всех их программах ошибки - так это потому, что они философы и True-любцы, и не видят смысла отрицать того, что существует. :)
№ 2 04-02-2002 12:37 | |
To oleksa:
{Лицензионное соглашение}
Это прекрасно.
А какие эмоции вызывают у вас сделанные вами же ошибки?
Гордость? Радость?
Или может быть еще что-нибуть?
№ 1 04-02-2002 11:11 | |
"Что дает нам, программистами, право гордо делать ошибки в своей продукции, в
то время как другим не прощаются даже малейшие оплошности."
- Лицензионное соглашение
Представте себе, при покупке холодильника Вам дают подписать бумагу - "Производитель не несет ответственности ни за что, проишедшее с этим холодильником" А если это автомобиль?
Товарищи! Все на борьбу с текстом лицензионного соглашения! Не соглашайтесь с ним ;) !
<<<... | 20—11 | 10—1 Всего сообщений в теме: 160; страниц: 16; текущая страница: 16
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|