Re[17]: С нуля научиться программировать девушке
От: samius Япония http://sams-tricks.blogspot.com
Дата: 14.08.16 19:41
Оценка:
Здравствуйте, VTT, Вы писали:

VTT>Откуда у вас навязчивая идея о противоречиях этих подходов?

см ниже
VTT>Любую императивную программу можно представить как цепочку вызовов функций, каждая из которых принимает на вход единственный аргумент — "глобальное состояние" от предыдущей и возвращает новое "глобальное состояние" соответствующее исполнению одной команды.
Представить можно, но от этого любая императивная программа не становится программой, написанной в функциональном подходе.
VTT>Любую функциональную программу можно представить как последовательность команд.
э, и что?

S>>Ну так вы готовы продемонстрировать ФП на паскале без использования глобального или локального состояния явно?

VTT>"Найдите 10 отличий":
VTT>паскаль
VTT>
VTT>function plus_one(x: integer): integer;
VTT>begin
VTT>    plus_one := x + 1
VTT>end;
VTT>

VTT>хаскель
VTT>
VTT>plus_one :: (Integral x) => x -> Integral 
VTT>plus_one x = x + 1
VTT>

Зачем 10? достаточно одно. Во втором примере функция — объект первого класса. Полагаю, что дальше этого примера, ваша демонстрация ФП на паскале не сдвинется.

S>>Если вы здесь не ошиблись, то значит машина Тьюринга демонстрирует нам образцы функционального подхода. См. тезис Тьюринга.


VTT>Наверное мне стоило бы написать "математического формализма c функциями" для ясности (хотя это вроде и так понятно)...

VTT>Если язык основывается на формализме с узлами, то это будет уже узло-ориентированный язык или что-нибудь подобное.
VTT>Но суть в том, что императивные языки по большей части происходят от записи машинных инструкций.
VTT>А функциональные ориентируются на определенные математический формализм, причем по возможности близко к математическим обозначениям.
И вы спрашиваете меня, откуда идея о противоречиях подходов?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.