[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Perl or Python?



22 марта 2009 г. 2:53 пользователь Aleksey Cheusov <vle@gmx.net> написал:
>
>  >> Впрочем, тебе как "свободному человеку" задание то же самое.  Опиши мне,
>  >> пожалуйста, "рабу" своего нижайшего происхождения, работу устройства под
>  >> названием "банкомат" в рамках твоей "глубоко функциональной" парадигмы.
>
>> Ну вот, теперь ты разницу между свободным человеком и банкоматом решил
>> проигнорировать. Лучше бы на примере распорядка дня остановился.
>
> Ты бы хоть смайлики расставлял, а то ведь я не понимаю, где здесь шутка
> юмора. Если "свободный человек" -- это тот, кто НИЧЕГО вообще не делает,
> то тогда да, ему, конечно, "порядок выполнения не важен".

Извините, но вы сводите всё человеческое мышление к работе автомата.
Человек не пишет для себя программы в виде строго упорядоченных
действий. У человека в любой момент времени есть одна или несколько
целей, одна из них активна. Человек, структурирующий свои мысли, не
думает в последовательности 1, 2, 3. Он ставит цель, разбивает её на
подцели, выясняет зависимости между ними. Затем так же делит каждую из
подцелей на цели ещё меньше. Могут быть вариативные подцели: сделать
то ИЛИ это. Именно взаимозависимости определяют очерёдность реализации
целей. В любой момент человек может пересмотреть свой план действий,
если на пути к одной из целей возникли препятствия: может выполнять
другие цели, не зависящие от этой, или перейти к реализации
альтернативной цели.

> Он питается
> святым духом и несет свет ala функциональной парадигмы в темные
> непросвещенные массы идиотов, начинающих с BASIC-а. Для тех же, кто
> работает, выполняет определенный алгоритм, то есть движется к какой-либо
> четкой цели, порядок важен.
>
> Впрочем, я уже понял, с вашей недофункциональщиной, трактуемой как "все
> есть функция", и человек останется без режима дня и банкомат без
> программного обеспечения. Цели то у вас никакой, и порядок вам не важен.

Тут тоже передёргивание. У банкомата есть единая метацель, состоящая
из некоторого множества подцелей: выдать деньги, перечислить платёж на
другой счёт. Каждая из этих целей делится на подцели: проверить
наличие карты в картосчитыватле (или как он там называется), запросить
пин-код, проверить связь с банком, проверить правильность пин-кода.
Эти подцели тоже взаимосвязаны между собой, но порядок выполнения
каждой подцели определяется их взаимозависимостью, а не с потолка
взятой предопределённостью.

Вообще для автомата более характерна парадигма "конечный автомат". Тут
последовательностью вроде как и не пахнет - тут есть граф и условия
переходов из одного узла графа (состояния) в другой.

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

> "Все есть функция"(C)! И етить его старого на небесах!

Reply to: