Я познакомился с Clojure не так давно, и хотя я не полностью усвоил все его концепции, он дал мне альтернативу ОО Java и PHP, к которой я действительно хочу двигаться.Я считаю системы Clojure моим идеалом.Я знаю, что хочу, чтобы он как можно больше информировал о моем стиле кодирования PHP.
Мне действительно не нравится ОО в PHP, я ненавижу количество шаблонов и скрытую сложность, которая часто кажетсяпривести к.В то же время я вижу преимущества инкапсуляции, когда у вас есть несколько битов данных, которые имеют возможность изменять себя.Может быть, использование функций 1-го порядка является основным способом обеспечения такой инкапсуляции, но помимо этого, как можно перевести преимущества объектной ориентации в функциональное программирование?
Одна часть проблемы, с которой я сейчас сталкиваюсь, заключается в том, какиметь дело с набором связанных функций, которые в противном случае могли бы быть сгруппированы в классе, таким образом, чтобы они были полезны друг для друга.