> -- AVC писал(а):
> Почему?
Вчера оборвался инет, где уже заранее был ответ

1) избегать -- не значит вообще не использовать, иногда без них (кажется, что) трудно. Хотя сейчас думаю, возможно, неправильно было сделано, не предельно тупо (от слова кон-туп-ер), оттого и трудно было.

2) глобальное пространство имен отнюдь не загромождается, т.к. процедуры остаются спрятаны в модулях (а выкрики Geniepro стали уже утомительны).

3) "Разделяй и управляй". По умолчанию применяется сей Первый Принцип. Локальная процедура -- "средство оптимизации", вторая очередь.

Если можно без особого труда вынести локальную процедуру, то такое вынесение однозначно улучшает изоляцию частей, устраняет вероятности появления каких-то плюх и т.п.
-----------
А если "почему?" относится к "с самого начала", то конкретно вспоминается борьба с алгебраическими сортировками, где по сравнению с обычными добавляется один уровень рекурсии (на корреткную обработку сокращения членов без дополнительного прохода по данным), и я там наигрался вволю.
Алг. сортировки и точные целые -- две sine qua non вещи для симв. алгебры, числа я тогда достаточно тупо по Кнуту сделал, а с сортировками пришлось разбираться (до сих пор немножко).