Re[3]: Императивная парадигма
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 20.07.11 09:29
Оценка:
Здравствуйте, AlexCab, Вы писали:

G>>3)Императивный код при повышения уровня абстракции быстро теряет гибкость, появляется необходимость переходить к более декларативным конструкциям

AC> С повышением абстрации не престаёт быть императивным(то есть это всё таже последоватльнось действий).

Именно перестает.
Список классов разных уровней абстракции: Socket, TcpClient, HttpWebRequest, WebClient. Первый в этой цепочке исключительно императивен: послать байты\прочитать байты, последний декларативен, загрузить url в виде строки. О том как оно загружается мы не знаем и слабо можем влиять на последовательность действий. Внутри класса webclient происходит обработка редиректов, кодировок, кеширования итп.

Если пытаться управлять императивной частью запроса, то нужно выставить миллион параметров. Например HttpWebRequest этим страдает.

AC>Думаю это проблемы реализации(конкретного ЯП), а не самого подхода.

Это как раз от ЯП мало зависит, больше зависит от того как писать. Даже на haskell можно все завернуть в IO монаду.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.