craft-brother пишет:
> Нам надо ответить на следующие вопросы:
> 1) Каковы законы развития программных систем?
> 2) Что такое идеальная программная система?
> 3) Что такое программистская задача?
> 4) Каковы алгоритмы решения программистских задач? (Речь идет об
> алгоритмах творчества. Просьба не путать с численными алгоритмами,
> которые достаточно хорошо изучены.
Многие пытались адаптировать ТРИЗ к программированию — получается плохо.
Слишком большая степень свободы. Скажем, в механических системах детали
обычно взаимодействуют с максимум десятком других деталей, и их
взаимодействия можно хорошо промоделировать.
> Это позволит нам, наконец, понять, /чему и как обучать
> профессиональных программистов/. Сейчас с обучением просто беда, как у
> нас, так и в остальном мире. Мы программируем методом проб и ошибок,
> тупо перебирая все возможные варианты, пока не найдем подходящий.
> Отсюда разброс производительности: правильный вариант может попасться
> в начале или в конце перебора. Только с годами накапливается некий
> интуитивный опыт: «куда надо ходить, а куда — нет». Задача –
> ограничить пространство перебора. Во сколько раз ограничим, во столько
> раз повысим эффективность производства ПО.
Так тут уже другая проблема — можно слишком ограничить пространство
решений.
--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9