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

Возможно в этом виновата наша всё ещё слишком хорошая школа преподавания математики...

Так вот, для объяснения как же это всё на самом деле работает очень сильно помогает показать в отладчике работу программы. По шагам. Где видно как меняются переменные, за какой строчкой исполняется какая и т.д. и т.п.

Естественно существует не малая опасность что новичок как залезет в отладчик так оттуда и не вылезет. Вместо того чтобы подумать 10 минут будет сутки комбинировать в отладчики все возможные вариации а в результате так и не поймет почему оно не работало и почему же заработало. Т.е. в результатеобучения не произойдет.

На эту тему вспоминается цитата с bash.org.ru:
> -- Цитата:
> DM82: Мне недавно рассказали как делают корабли в бутылках. В бутылку засыпают силикатного клея, говна и трясут. Получаются разные странные штуки, иногда корабли.

Так вот -- очень часто школьниками/студентами а иногда и профи, программы вот так вот и пишутся.

Самое печальное что запрет отладчика не помешает трясти бутылку: будет отладочная печать (через каждую строчку), будут бесконечные бестолковые модификации программы (типа, а вот тут мы заменим ка плюс на минус, запустим и посмотрим что будет -- вдруг сработает?) и т.д. и т.п.

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