Re[3]: "LINQ как шаг к ФП". Стиль изложения.
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.01.09 16:08
Оценка: +4 -2 :)
Здравствуйте, eao197, Вы писали:

E>Хорошо, пойдет дальше. Про императивных программистов.


E>Откуда информация о том, что большое количество императивных программистов везде видят цикл? Откуда информация о том, что у большого количества императивных программистов несложная обработка преобразуется в плохочитаемому коду и т.д.? Я, например, такое наблюдал крайне редко и, если это было в моих силах, способствовал увольнению подобных деятелей, как неспособных к программированию.


E>Откуда информация о том, о чем привык думать императивный программист?


Вообще-то — из определения "императивного программиста".
Как только программист перестаёт думать императивными конструкциями, он перестает быть императивным программистом. Это не должность, а именно стиль мышления. Это способ декомпозиции любого алгоритма на операции модификации, ветвления, и перехода, применяемые к некоторому глобальному состоянию. "Структурно-императивный" программист, получающийся из "наивного императивного программиста" путем несложной тренировки, предпочитает трактовать все переходы вперед как ветвление, а переходы назад — как цикл. Некоторые фрагменты глобального состояния для удобства получают имена и становятся перемеными.
Процедурно-императивный программист уже дополнительно мыслит категориями процедур и стека и т.п.

Но цикл остается центральной идеей императивного программирования — просто потому, что никаких других способов обработки "последовательностей" нету. Точнее, есть рекурсия, но
а) у наивных программистов при ней доступ к глобальным переменным ведет себя как-то странно
б) у продвинутых программистов быстро переполняется стек, "поэтому для больших объемов данных рекурсия неприменима".
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.