
Evgeniy
13.05.2018
17:14:35

Serhii
13.05.2018
17:15:41
Тут ведь не только ООП, но и software design

Evgeniy
13.05.2018
17:16:54
только императивщена только хардкор (сарказм)

Google

Evgeniy
13.05.2018
17:24:46

Sergey
13.05.2018
20:10:19
Ну тут же говорят про иммутабельность
имутабельность в ООП очень даже хорошо живет) хотя.... проще просто говорить что имутабельность это паралельная концепция и не важно где и как ты ее применяешь.

Serhii
13.05.2018
20:13:04

Sergey
13.05.2018
20:13:40

Serhii
13.05.2018
20:13:49
(если солид и классы не мутируют своё состояние)

Sergey
13.05.2018
20:14:10

Serhii
13.05.2018
20:16:04

Sergey
13.05.2018
20:16:14
короч бесполезные разговоры пошли

Charles
13.05.2018
20:17:44
почему ж бесполезные. тут очень даже хорошее сейчас противоречие - может ли быть состояние отделено от системы которая им обладает

Sergey
13.05.2018
20:19:08

Charles
13.05.2018
20:19:16
я вот как-то плохо это себе представляю - ну только разве в тех инкарнациях программирования когда абстракции уже совсем сильно ушли от основ

Google

Serhii
13.05.2018
20:19:30

Charles
13.05.2018
20:19:38
да, и это где ж есть элемент без состояния, просто ради примера назови

Sergey
13.05.2018
20:19:48

Serhii
13.05.2018
20:20:44

Sergey
13.05.2018
20:20:55
да, и это где ж есть элемент без состояния, просто ради примера назови
если у тебя есть пачка имутабельных коллекций, которыми мы оперируем уровнем выше, они будут являться стэйтом этого "уровнем выше".
Стэйт есть всегда, хочешь ты того или нет. Невозможно сделать систему "чистой", ибо в таком случае она ничего полезного делать не может (нет сайд эффектов -> нет взаимодействия с внешним миром)
ну либо раскрой мысль)
если логика отделена от стэйта, чем это отличается от старого доброго процедурного программирования?

Charles
13.05.2018
20:22:10
вторым абзацем* телега тормозит, сорь

Serhii
13.05.2018
20:22:41

Sergey
13.05.2018
20:22:46

Charles
13.05.2018
20:22:56
детерменированные конечные автоматы

Sergey
13.05.2018
20:23:08

Charles
13.05.2018
20:23:18

Serhii
13.05.2018
20:23:36

Charles
13.05.2018
20:23:42
госпаде, стейт и экшн - ну ведь сигнал и переход, весь редакс на этом стоит

Sergey
13.05.2018
20:23:52

Charles
13.05.2018
20:24:15
да это тут причем, я про ДКА как термин))) я ж знаю что ты знаешь автоматы)))

Google

Serhii
13.05.2018
20:24:24

Charles
13.05.2018
20:24:39

Sergey
13.05.2018
20:24:42

Charles
13.05.2018
20:24:46
как работа может быть иммутабельной

Sergey
13.05.2018
20:24:50
ну короч я тебя понял, но....

Charles
13.05.2018
20:25:01
ну вот если только чистые функции

Sergey
13.05.2018
20:25:19
увы и ах - ты можешь так делать системы (и я даже так делаю, опять же event sourcing идеальный пример) но стэйт как какая-то append-only структура для твоих событий (экшенов) всеравно будет присутствовать.
ну то есть максимум что ты можешь - уменьшить влияние сайд эффектов, изолировать их. Что бы костяк системы был чистый и сверху был грязноватый инфраструктурный слой, который занимается гразными сайд эффектами

Serhii
13.05.2018
20:26:22
@uakoB меня понимает. Именно этого я добиваюсь в коде

Charles
13.05.2018
20:27:02
да Сергей тебя тоже понимает) у меня просто ощущение что на разные деревья лаем и просто друг друга не поняли, надо .bind(context) сделать

Serhii
13.05.2018
20:27:21
?

Sergey
13.05.2018
20:27:34
и да, между ФП и ООП тут вообще никакой разницы нет)

Charles
13.05.2018
20:27:47
тем более если в контексте ДКА
я бы даже сказал что для автоматного программирования нет разницы, ООП это или ФП)))

Sergey
13.05.2018
20:28:20
ну тип того, просто не все алгоритмы могут уместиться в рамки ДКА что бы эффективно

Serhii
13.05.2018
20:28:21
https://github.com/blackakula/redux-composite/blob/master/README.md
Context

Sergey
13.05.2018
20:28:31
обмажутся своими redux-ами и уже думают что у них система без сайд эффектов

Charles
13.05.2018
20:29:33
да что ж ты гасишь-то, не об этом ж речь

Sergey
13.05.2018
20:30:02

Google

Charles
13.05.2018
20:30:22
тогда я не понимаю о чем мы именно
вообще сайд-эффект это норм только если система выделяет тепло
правильно я думаю?
ну если про термодинамику

Sergey
13.05.2018
20:31:54
попробуй в консоль вывести результат без сайд эффектов)

Charles
13.05.2018
20:32:17
ты счас имеешь ввиду что консоль - уже сайд эффект?

Sergey
13.05.2018
20:32:50
исключения...

Serhii
13.05.2018
20:33:01

Charles
13.05.2018
20:33:02
если так то нихера потому что консоль это другая подсистема и никаких тут сайд эффектов нет
и ты ее напрямую вызываешь

Sergey
13.05.2018
20:33:15

Charles
13.05.2018
20:33:36

Sergey
13.05.2018
20:33:38

Charles
13.05.2018
20:33:42
если я не отстал от жихни конечно

Sergey
13.05.2018
20:33:57

Charles
13.05.2018
20:34:01
поясни мысль
ты хочешь что-то в консоли - консоль суть подсистема - и ты ее вызываешь

Sergey
13.05.2018
20:34:02
причем глобальный)

Charles
13.05.2018
20:34:15
если в консоль тебе написали что ты тупой и сделал ошибку - это другой вопрос

Sergey
13.05.2018
20:34:30

Google

Charles
13.05.2018
20:34:37
но когда извините ты ее вызвал и получил очень даже себе чистый от нее эффект - то почему это сайд?
не путай сайд эффекты в чистом виде и магию)))) вообще тут тонкий момент очень

Serhii
13.05.2018
20:34:59

Sergey
13.05.2018
20:35:43

Антон
13.05.2018
20:35:56
Есть чат по POP или императивщине?

Евгений
13.05.2018
20:36:04
ФП.
Ж.

Sergey
13.05.2018
20:36:06

Евгений
13.05.2018
20:36:16
Ой.
Не.

Charles
13.05.2018
20:36:19
ну кстати никто не мешает это зашить в Transitions если по UML вспомним их автоматы

Евгений
13.05.2018
20:36:19
Сори.

Антон
13.05.2018
20:36:30
Ж.
Протоколо-ориентированное-программирование

Charles
13.05.2018
20:36:34
???

Антон
13.05.2018
20:36:38
В Swift используется

Sergey
13.05.2018
20:36:40
например у тебя есть менеджер закачек, у тебя есть 100 загрузок, их все надо отображать в консоли. Каждую по хорошему ты бы хотел хэндлить изолировано но в консоль писать может один кто-то.

Евгений
13.05.2018
20:36:41
ПОП Типа «прототипом ориентированное».

Антон
13.05.2018
20:36:46
В Rust можно применить