Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 [3] 4 5 6   Вниз
  Печать  
Автор Тема: Почему программисты допускают ошибки?  (Прочитано 59772 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ezus
Опытный

il
Offline Offline

« Ответ #60 : 19-01-2010 14:03 » 

Мне кажется ты не дочитал.
Да, дочитал я, дочитал.
Только все, что ты перечислил, является отклонением от нормального процесса работы.
И что получается? Если я не мазохист и не ...., если у меня нет оправданий моим ошибкам, то я и не ошибаюсь? Какие мечты! Ваши бы слова да Б-гу в уши.
И как быть с тезисом "Нет программ без ошибок"?
Мы что? Все суицидники или др.?
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #61 : 19-01-2010 14:23 » 

Не конструктивнее ли сначала задаться вопросом: какие именно типичные ошибки допускают программисты? А уже только потом попытаться для каждого класса ошибок найти возможные причины, а если повезет, то и рецепты, как их избежать.

На исходный вопрос я бы не рискнул дать сколько-нибудь конкретный ответ. Да почему угодно, от объективных причин (чрезвычайно сложная/объемная задача, слишком сжатые сроки, новые незнакомые технологии и т.п.) до субъективных (плохо учился, не выспался, на рабочем месте шум мешает сосредоточиться). Получим внушительный список причин, уважительных и не очень. И что дальше с ним делать?
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #62 : 19-01-2010 14:23 » 

ezus, интересная штука, мы, а в частности ты, пытаешься понять ПОЧЕМУ ошибаются ПРОГРАММИСТЫ?
Тебе же пытаются показать, что ошибаются ВСЕ, в том числе и программисты.

Статья Теория безопасности пытается обобщить Психологию ОШИБКИ и средств борьбы с нею.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #63 : 19-01-2010 14:36 » 

ezus, кстати
товарищ в предисловии пишет
Цитата
Довольно значительная часть приведенного здесь материала пред-
ставляет собой продукт, возникший в режиме "генерации идей" и
подвергшийся лишь незначительной последующей обработке несмотря
на сомнения в его качестве: сырые идеи бывают хороши своим сти-
мулирующим действием на творческое мышление, поэтому, наверное,
их следует ценить и сами по себе, а не относиться к ним единст-
венно как к полуфабрикату.

Но как видишь, у него хватило сил все свои мысли, и возможно, что также вероятно, и чужие собрать в одном месте.
« Последнее редактирование: 19-01-2010 14:47 от Sla » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
ezus
Опытный

il
Offline Offline

« Ответ #64 : 19-01-2010 14:43 » 

Dale:
Существует два равноправных подхода: дедуктивный и индуктивный.
Вы предлагаете первый.

Я же пытаюсь использовать второй. Высказать гипотезу и проанализировать следствия из нее.
Это то же вполне легитимно.

У меня есть свои гипотезы, но, задавая данный вопрос, я искал новые.
Я пытаюсь подняться( или опуститься) до уровня мышления и уже оттуда делать выводы и давать осмысленные и хоть как-то обоснованные рекомендации.
Записан
ezus
Опытный

il
Offline Offline

« Ответ #65 : 19-01-2010 14:47 » 

интересная штука, мы, а в частности ты, пытаешься понять ПОЧЕМУ ошибаются ПРОГРАММИСТЫ?
Тебе же пытаются показать, что ошибаются ВСЕ, в том числе и программисты.
Что же я делаю неправильно, если не могу объяснить, что же мне интересно?

Цитата: Sla
Статья Теория безопасности пытается обобщить Психологию ОШИБКИ и средств борьбы с нею.
Может быть предыдущий мой пост объясняет почему меня не устраивает в общем-то хорошая статья.
Записан
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #66 : 19-01-2010 14:52 » 

Простите, но все равно не понимаю.
А если будут даны ответы на ваши вопросы, то почему данная постановка вопроса все равно не коррктна.
Я на все ваши вопросы уже ранее ответил. Только "почему" остается открытым, вот его я и задаю.
Не за что просить прощения. Чтобы ответить на вопрос "почему?" надо определиться с почему "что"? Надо определиться с каждым словом в фразе "программисты доспускают ошибки". Кто такие программисты? Что понимается под словом допускают? И самое главное что понимается под ошибкой? Можно попробовать разобрать на примере, но это будет очень сложно. И причин можно найти массу, вплоть до того, что самомет упал потому, что:
- неверно составлен алгоритм
- он составлен не верно, так как у программиста не хватает опыта
- у него не хватает упыта, потому что он пропустил лекцию в универе
- он пропустил лекцию, потому что болел
- он болел потому, что съел чего-нибудь
...
вот такой вот эффект бабочки получается.

Ну и вот чтобы к этому эффекту не сводить, необходимо очень точно определиться с вопросом. Например, хотя бы примерно так: почему программисты(кодеры) забывают инициализировать переменные? =) Ну и вот когда получится найти ответы на узкие вопросы (если получится), то их можно попробовать обобщить до "Почему ошибаются программисты?". Вот такие у меня мысли.

Кстати, два одинаковых вопроса: "Почему программисты допускают ошибки?" и "Почему ошибаются программисты?", но суть вопроса может быть очень разной и так просто "почему?" тут не ответишь.
Записан

Удачного всем кодинга! -=x[PooH]x=-
ezus
Опытный

il
Offline Offline

« Ответ #67 : 19-01-2010 14:54 » 

Но как видишь, у него хватило сил все свои мысли, и возможно, что также вероятно, и чужие собрать в одном месте.
Он действительно МОЛОДЕЦ.
Просто все мои (множественные) попытки оформить это в виде текста, меня абсолютно не удовлетворяли. В этом моя "трагедия".
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #68 : 19-01-2010 14:58 » 

ezus, действия людей нельзя подчинить индуктивным законам, потому что они не предсказуемы.
Но просчитываемые, а следовательно подчиняются дедуктивным законам Улыбаюсь
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
ezus
Опытный

il
Offline Offline

« Ответ #69 : 19-01-2010 15:03 » 

Кстати, два одинаковых вопроса: "Почему программисты допускают ошибки?" и "Почему ошибаются программисты?", но суть вопроса может быть очень разной и так просто "почему?" тут не ответишь.
Ну, что ж, Вы меня красиво ткнули носом в недостаточную линвистическую точность моего вопроса.
Все верно. Просто до сих пор мне казалось, что "кто такие программисты" и что такое "делать ошибки", было интуитивно понятно. Вы показали, что это не так.
Будем думать.

А пример с самолетом я привел совсем с другой целью - показать что бывают случаи, когда вопрос "почему" выходит на первое место, и на его решения не жалеют ни средст ни времени.
Записан
ezus
Опытный

il
Offline Offline

« Ответ #70 : 19-01-2010 15:12 » 

ezus, действия людей нельзя подчинить индуктивным законам, потому что они не предсказуемы.
Но просчитываемые, а следовательно подчиняются дедуктивным законам Улыбаюсь
Это очень спорно.
Структура тела, кровеносная система и т.п у разных людей во многом схожа, и можно выдвинуть обобщенные гипотезы о их функционировании, из этих гипотиз сделать выводы, разработать лекарства и методы лечения, а потом их проверить. Подойдет не для 100%, но если это хотя бы 80%, то уже хорошо.

Я думаю то же самое можно сказать и о работе человеческого мозга.

Я помню, нам читали инженерную психологию - сколько времени и бабок американцы вложили в исследование человеческих особенностей в работе оператора, зоны внимания, концентрации, четкого зрения, длины рук, углы поворота головы и ......
А все для того, чтобы разработать пульты минимизирующие ошибки операторов.

Вот и я пытаюсь сделать тоже самое для программистов.
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #71 : 19-01-2010 15:25 » 

Программист не оператор. И не кодер.
У программиста в основном творческая работа, основанная на полученных знаниях.
Превращать программиста в машину по созданию алгоритмов, схем - это уже ближе к Искусственному Интеллекту.

Помочь избежать ошибок кодеру. Тогда да, можно рассматривать вопрос о минимизации ошибок.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
ezus
Опытный

il
Offline Offline

« Ответ #72 : 19-01-2010 15:40 » 

Программист не оператор. И не кодер.
У программиста в основном творческая работа, основанная на полученных знаниях.
Помочь избежать ошибок кодеру. Тогда да, можно рассматривать вопрос о минимизации ошибок.
Опять не согласен.
ДЛя кодеров как раз есть много резомендаций.
Меня же больше интересует этап разработки структуры программы, структур данных и детального алгоритма. А это врядли работа кодера.

Примеры того, что мне близко:
Проектирование сверху-вниз и снизу-вверх, методики Варнье и Джексона, ООП,  и даже структурное программирование. Все это далеко не для кодеров.
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #73 : 19-01-2010 17:34 » 

Dale:
Существует два равноправных подхода: дедуктивный и индуктивный.
Вы предлагаете первый.

Я же пытаюсь использовать второй. Высказать гипотезу и проанализировать следствия из нее.
Это то же вполне легитимно.

Разумеется, при умелом использовании индукция - весьма мощный инструмент анализа.

А теперь можно вкратце саму гипотезу и следствия? Только желательно учитывать вышеупомянутые естественные ограничения человеческого мозга в части восприятия и ограничиться несколькими предложениями. Ведь даже основные положения теории относительности можно сформулировать в одном небольшом абзаце.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #74 : 19-01-2010 17:50 » 

Если так интересуют ошибки вообще, то есть капитальная (фундаментальной назвать не решусь) и ключевая научная работа по этой теме James Reason "Human errors", 1990 (перевода на русский не видел) - теория человеческих ошибок, разработанная по заказам военных, оперативных служб и т.п. организаций, которых эта тема сильно интересует. Основная задача работы: вскрыть причины допускаемых ошибок и предложить меры профилактики, а также методы рационального анализа уже произошедших ошибок.

Цитата: ezus
Кстати, ты не мог бы со своих позиций прокоментировать мой пример с оператором IF?
А будто бы я это уже сделал, упомянув подпрограммы.

Цитата: ezus
Какое главное свойство стркуктурного оператора? - Один вход \ один выход?
А почему? Зачем? Как это может нам помочь?
Ну это-то довольно просто. В те времена программа в подавляющем большинстве случаев воспринималась как запись алгоритма на машинном языке. Алгоритм по определению является последовательностью (сейчас, во времена параллельных вычислительных систем - частично упорядоченным множеством) каких-то действий. Порядок действий определяется логикой алгоритма, обусловленной использованием промежуточных результатов. Один вход и один выход нужны для однозначного взаимного упорядочивания частей алгоритма. Если (благодаря неаккуратному использованию GOTO) количество входов и выходов возрастает, от программиста требуются дополнительные усилия для выявления в коде порядка шагов алгоритма.

"Выявление в коде" - это важное словосочетание. Дело в том, что со времён появления терминалов и возможности индивидуальной работы с машиной в "диалоговом режиме" код программы - это не только продукт писания, это ещё и объект чтения. При этом не следует отсылать к необходимости подробно документировать код, так как ручное дублирование информации лишь добавляет новые ошибки взаимной несогласованности (некогерентности) хранилищ этой информации.

Цитата: ezus
Возможно я чего-нибуть не знаю или не понимаю, что очень вероятно. Но у меня такое ощущение, что ООП опять откинуло нас к тем древним временам, когда сказали разбивать на модули, но не сказали на какие. Теперь говорят: разбивай на классы, но опять не говорят на какие. Каждый решает сам.
Нет, конечно, все это на новом витке, не все так безнадежно.
Согласен с тем, что нет внятных рекомендаций, как разбивать на классы, на модули. Но давай эту мысль рассмотрbv в ретроспективе. Есть какие-то внятные рекомендаци, какие действия и в каком порядке включать в алгоритм для того, чтобы алгоритм решал поставленную задачу? Улыбаюсь По-моему, всё сводится к туманным словам о том, что это вопрос творческий Улыбаюсь

Грубо говоря, и отдельные операторы, и процедуры, и модули, и классы и т.д. - это лишь кубики в конструкторе, идеальный материал для работы мастера. В этом смысле все новые изобретения не более, чем новые кубики для новых "игр" Улыбаюсь
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #75 : 19-01-2010 18:03 » 

ezus, у меня постоянное чувство того, что вы пытаетесь все подвести к несовершенству человеческого мышления,  его логики, и в конце полемики "вытащить из рукава" нечто похожее на "Третье послание КОН к человечеству".  Я ошибаюсь?
Записан

С уважением, Oldy.
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #76 : 19-01-2010 20:51 » 

И как быть с тезисом "Нет программ без ошибок"?
Мир очень сложный, и построить точную модель чего бы то ни было невозможно: это будет уже не модель, а точная копия. Все вещи, созданные человеком, - по сути своей, модели. В том смысле, что "идеальное изделие" должно учитывать столько факторов, что оно просто невозможно. Невозможно построить самолёт, на который не найдётся форс-мажора, способного его сломать. Абсолютно надёжных вещей не существует Улыбаюсь Даже стальной шар можно разбить, если слишком его охладить.

Точно так же и с программами: как нельзя построить объект реального мира, не имеющий ошибок, так нельзя построить и программу, которая будет идеально работать во всех условиях. Даже если она 100% корректна и предусматривает все имеющиеся условия. Сегодня ты написал такую программу для x86, а завтра на x64 она сможет работать только в режиме эмуляции, потому что без него она сломается - и разве это будет ошибка программиста? Или изменится что-то ещё, от чего программа зависит. Железо, системный софт - что угодно. Драйвер вернёт не тот код ошибки. Файловая система будет иметь другую кодировку, которой не было на момент создания программы.

А для любой крупной системы формальные методы не работают: можно потратить всю жизнь, чтобы формально доказать корректность алгоритмов. А можно за это время разработать 10-20-100 программ. И всё, как всегда у человека, упирается во время: если можно разработать за год с 99% надёжностью, и этого достаточно, то никто не станет стремиться к недостижимым (см. выше) 100% ценой лишних ста лет. У военных и в космосе требования выше, но и там есть порог устойчивости к сбоям.

Поэтому программы не только невозможно, но просто не нужно писать корректными, без ошибок. Разумеется, нужно стремиться к минимуму этих ошибок - но только в разумные сроки.

Но это, так сказать, среда. Теперь о программистах. Мне кажется, есть не один, а два основных способа написать не вполне корректную программу.
1. Сделать ошибку.
2. Сделать что-то неправильно.
Далее поясню, что и как.

"Корректность" программы - это система правил, следуя которым, можно получить 100% корректную программу (в модели, но не в бинарнике - как уже говорилось, идеальная среда существует только в области идей, а на реальном софте можно найти причину для сбоя, но она будет крыться не в модели и даже не в собственно реализации, а будет объективной). Таким образом, если человек знает правило и строго ему следует, то он получает безупречную с точки зрения правил модель - стало быть, есть возможность доказать безупречность модели. Человек со стороны может посмотреть и убедиться, что программист всё сделал как надо, и к нему, в целом, нет претензий (по архитектуре и коду).

Однако, программист не всегда знает "как правильно". И если он не знает правил, или не хочет им следовать, и принимает решение самостоятельно, то может "сделать неправильно" (но может и правильно, на интуиции или везении). То есть, сгенерирует решение, корректность которого невозможно доказать (или возможно доказать противное). То есть, человек либо действует в условиях нехватки знаний, либо эти знания сознательно отвергает и поступает по-своему.

Ошибка же в данном случае - это лишь следствие небрежности и невнимания к правилам. Когда программист хорошо себе представляет, что к чему, но недостаточно контролирует процесс и не замечает опасных отклонений. Так можно принять неудачное решение только потому, что не было времени над ним задумываться, но на первый взгляд, всё должно быть правильно. Ошибка - это следствие недостаточного анализа и самоконтроля. То есть, если указать программисту на ошибку, он и сам удивится, что мог её допустить, хотя у него были все нужные знания, и он вовсе не устраивал саботаж. Хотя Фрейд, наверное, считал иначе Улыбаюсь
« Последнее редактирование: 19-01-2010 20:53 от Вад » Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #77 : 19-01-2010 21:03 » 

можно ли считать ошибкой обилие комментариев в коде?
или
наличие временных одноразовых переменных, например
a=b+c
d=k+i
x=a+d

Поэтому я и говорил о типах ошибок.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #78 : 20-01-2010 07:30 » 

Ну что вдарим по теории?

Францисканец Роджер Бэкон (Bacon) . Родился в 1214 году.
Причины ошибок. Авторитет; привычка; мнение необразованного большинства и смешение полного невежества с кажущимися знаниями или претензией на знание. Последнее заблуждение Бэкон считает самым опасным и даже причиной других заблуждений (ошибок).
Цитата
"Идолы же, которыми одержим дух, бывают либо приобретенными, либо врожденными. Приобретенные же вселились в умы людей либо из мнений и учений философов, либо из превратных законов доказательств. Врожденные же присущи природе самого разума, который оказывается куда более склонным к заблуждениям, чем чувства. Действительно, как бы ни были люди самодовольны, впадая в восхищение и едва ли не преклонение перед человеческим духом, несомненно одно: подобно тому как неровное зеркало изменяет ход лучей от предметов сообразно своей собственной форме и сечению, так и разум, подвергаясь воздействию вещей через посредство чувств, при выработке и измышлении своих понятий грешит против верности тем, что сплетает и смешивает с природой вещей их собственную природу"
если интересно - сюда
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
ezus
Опытный

il
Offline Offline

« Ответ #79 : 20-01-2010 07:48 » 

ezus, у меня постоянное чувство того, что вы пытаетесь все подвести к несовершенству человеческого мышления,  его логики, и в конце полемики "вытащить из рукава" нечто похожее на "Третье послание КОН к человечеству".  Я ошибаюсь?
И да и нет.
Да, пытаюсь "подвести к несовершенству человеческого мышления", потому что из моего опыта заявление такого тезиса с самого начала вызывает агрессивное неприятие как самого тезиса, так и дальнейших рассуждений. Возможно я был не прав и в данном сообществе все не так. Тогда я извеняюсь и явно утверждаю, что человеческое мышление ограничено, причем программирование как род деятельности находится на грани этих возможностей, и это надо учитывать.
Все свою сознательную жизнь,  к сожалению с большими техническими перерывами, я собирал различные методы и приемы мышления, которые могли бы помочь мне в работе.
Просто многое из моей коллекции уже устарело, а тут выдалось время между сдачей одного релиза и началом другого и я наткнулся на замечание о скучности от одного модератора уважаемого мной форума, вот я и решил предложить данную тему. Кого-то повеселит, кому-то может оказаться интересным и даже полезным, а я надеялся освежить свою коллекция и по возможности пополнить ее новыми мыслями, идеями и методиками.

Нет. В рукаве у меня, к сожалению, нет ничего супер-супер, что было бы неизвестно до меня.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #80 : 20-01-2010 07:55 » 

Цитата
пытаюсь "подвести к несовершенству человеческого мышления",
Вообще, непонятно, о чём речь в этой цитате: несовершенство относительно чего ? Отночительно мышления марсиан ? Компьютера ? Последний даже мыслить то не умеет Улыбаюсь А если и умеет, то способы мышления компьютера и человека настолько разные, как и у марсиан Отлично
Записан

RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #81 : 20-01-2010 08:10 » 

Все имеет пределы - совершенного ничего нет. Но человек способен развиваться и шаг за шагом придумывать новые способы объять больше, чем на прошлой ступени. Человек, тут - абстрактно. Быстрее, человечество, т.к. обширные знания в отрыве от общества бесполезны.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #82 : 20-01-2010 08:14 » 

Полностью исключить ошибки из деятельности человека невозможно. Ошибки – стиль жизни.
Реальность изучается методом «проб и ошибок». Восприятие реальности происходит  под влиянием чувств, настроений, состояния.

Ошибки неизбежны.
Уметь делать правильно мало. Необходимо научиться: предупреждать, обнаруживать и исправлять ошибки.

Также ошибками можно считать случаи, когда плановая умственная или физическая деятельность, не достигают результата.

Ошибка – «незапланированное действие».
Мы или делаем то, что не должны (ошибка исполнения),
или
не делаем то, что должны сделать (пропуски).
В любом случае, результат не соответствует намерениям.

Категории ошибок.
Латентные (скрытые) ошибки (условия или события в прошлом)
Активные – непосредственные ошибки или действия, ставшие причиной ошибок.


Активные ошибки можно разделить на 3 вида связанные с
  • навыками,
  • правилами,
  • знаниями.
Принципиальная разница между ними состоит в режиме работы сознания.
При автоматической деятельности участие сознания минимально.
Сознательная деятельность, основанная на знаниях, связана с работой долговременной памяти, использует ресурсы внимания почти полностью, может сочетаться только с автоматической деятельностью, не допускает совмещения с даже простыми логическими или процедурными задачами.
Процедурная (основанная на правилах) деятельность по расходу ресурсов внимания и возможности совмещения занимает промежуточное между автоматической и сознательной деятельностью место.

 
Надоело пересказывать Улыбаюсь , проще дать ссылку, это ссылка на  Основы концепции Управления Ресурсами (Resource Management - RM)
но там нужно читать при выключенных стилях Улыбаюсь http://crm.pilotinfo.ru/index.php?option=com_content&task=view&id=29 и тема не про программистов, а про подготовку экипажей.



Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #83 : 20-01-2010 09:13 » 

Sla, это краткое изложение мною вышеупомянутой книжки.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
ezus
Опытный

il
Offline Offline

« Ответ #84 : 20-01-2010 09:15 » 

Я обязательно отвечу все, но чуть попозже.
В том самом сдаваемом релизе полезли ОШИБКИ. И сейчас, к сожалению, не до теорий, а одна голимая практика с огромным сожалением о том, что сначала делали, а потом думали, если думали.
Записан
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #85 : 20-01-2010 11:01 » 

ezus, спасибо за честный ответ. КОН допускает, что человечество сможет изменить свое мышление за 12 тысяч лет, у меня, боюсь, нет и 12 лет. Может быть не все из Вашей коллекции так уж безнадежно устарело, во всяком случае для меня?
Записан

С уважением, Oldy.
ezus
Опытный

il
Offline Offline

« Ответ #86 : 20-01-2010 19:08 » 

Может быть не все из Вашей коллекции так уж безнадежно устарело, во всяком случае для меня?
Это не входило в мои планы, но можно попробовать. Но может быть сделать это не в данной ветке?

А теперь можно вкратце саму гипотезу и следствия? Только желательно учитывать вышеупомянутые естественные ограничения человеческого мозга в части восприятия и ограничиться несколькими предложениями. Ведь даже основные положения теории относительности можно сформулировать в одном небольшом абзаце.
Все, что у меня есть трудно выразить одной фразой: когда-то это был целый курс лекций, который я читал на факультете повышения квалификации, но в нескольких фразах попробовать можно. Хотя скорее всего это будет выглядеть тривиально.
В психологической модели я специально выделил это в отдельный раздел: феномен тривиальности, главный тезис которого - "Все, что просто и тривиально, не считается важным и не является стимулом к действию или использованию."
Наверное, лучше в отдельном посте я попытаюсь изложить в одной логической последовательности основный положения и выводы.
Записан
ezus
Опытный

il
Offline Offline

« Ответ #87 : 20-01-2010 19:21 » 

можно ли считать ошибкой обилие комментариев в коде?
Можно, если комментарии написаны в стиле комментариев IBM к своему DOS/360.
Там были комментарии типа:
n = n+1  //увеличение счетчика на единицу
Они не помогали, а только мешали.
Хотя, конечно, это дело вкуса.

Цитата
наличие временных одноразовых переменных, например
a=b+c
d=k+i
x=a+d
Наличие временных одноразовых переменных само по себе не является ошибкой, но если это односимвольные бессмысленные идентификаторы, то ДА, это можно отнести к разряду ошибок.
Хотя скорее всего это просто некорректное оформление кода, которое впрямую не влияет на правильность программы.
Конечно, я имею ввиду несколько другие ошибки - ошибки логики, структуры, алгоритма.
Записан
ezus
Опытный

il
Offline Offline

« Ответ #88 : 20-01-2010 19:34 » 

Вообще, непонятно, о чём речь в этой цитате: несовершенство относительно чего ? Отночительно мышления марсиан ? Компьютера ? Последний даже мыслить то не умеет Улыбаюсь А если и умеет, то способы мышления компьютера и человека настолько разные, как и у марсиан Отлично
Относительно ЧЕГО? Так и хочется ответить: относительно очков, но это будет грубо, поэтому попробуем ответить по другому.
Относительно НАС, наших желаний и наших возможностей.

Если бы речь шла об ограничениях человека в силе или скорости бега, неужели и в этом случае надо было бы уточнять относительно чего? Просто хотелось бы быть посильнее и побыстрее.

Так вот я хочу быть поумнее.
Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #89 : 20-01-2010 19:38 » 

ezus, у меня банальное предложение и в тоже время - меркантильное, мы здесь наваяли уже 3 страницы, ТОЛКОВОГО текста. Возьмешься на оформление статьи? Улыбаюсь
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Страниц: 1 2 [3] 4 5 6   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines