@oop_ru

Страница 642 из 785
Evgeniy
13.05.2018
17:14:35
На правах рекламы: https://functionalprogramming.slack.com
это как придти в индию и рекламить шашлык из говядины

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
какой смысл имутабельноти dto? это просто объект который несет данные
тот же смысл что и просто в имутабельности - предсказуемость. По сути мне хватило бы передачи по значению с копированием при записи.

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

Sergey
13.05.2018
20:13:40
Ну, в широком смысле, ООП и функциональное программирование могут быть 2в1
если в еще более широком смысле то никакой разницы между ФП и ООП особо нет)

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
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
да, и это где ж есть элемент без состояния, просто ради примера назови
если у тебя есть пачка имутабельных коллекций, которыми мы оперируем уровнем выше, они будут являться стэйтом этого "уровнем выше". Стэйт есть всегда, хочешь ты того или нет. Невозможно сделать систему "чистой", ибо в таком случае она ничего полезного делать не может (нет сайд эффектов -> нет взаимодействия с внешним миром)

Отделения состояния от логики работы с ним
ДА! процедурное программирование!!!1

ну либо раскрой мысль)

если логика отделена от стэйта, чем это отличается от старого доброго процедурного программирования?

Serhii
13.05.2018
20:22:41
ну либо раскрой мысль)
(Стейт, экшн) -> новый Стейт

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

Sergey
13.05.2018
20:23:08
(Стейт, экшн) -> новый Стейт
это не отделение логики от стэйта, как раз наоборот)

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

Sergey
13.05.2018
20:23:52
детерменированные конечные автоматы
а у тебя в комьютере уже могут выполняться недетерминированные?)

госпаде, стейт и экшн - ну ведь сигнал и переход, весь редакс на этом стоит
event sourcing еще вспомни, а то ваш редакс в этом плане детский лепет

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

Google
Serhii
13.05.2018
20:24:24
это не отделение логики от стэйта, как раз наоборот)
Я имел в виду иммутаьельную работу со стейтом

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
https://github.com/blackakula/redux-composite/blob/master/README.md Context
ох... фронтендеры набежали...

обмажутся своими 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
если так то нихера потому что консоль это другая подсистема и никаких тут сайд эффектов нет

и ты ее напрямую вызываешь

Charles
13.05.2018
20:33:36
Я не фронтендер, но что-то хорошее подбираю из других языков. Ну и что, что в пхп нет редакса?
уйди с пыха плз, навсегда, там нет стейта, маскимум что там есть это воркеры

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

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
не путай сайд эффекты в чистом виде и магию)))) вообще тут тонкий момент очень
какую к черту магию? у тебя есть консоль, писать в нее может кто-то один. Либо твоя консоль изолирует сайд эффекты давая тебе некую очередь запросов (mailbox в контексте actor model) либо ты сам разруливаешь блокировки

Антон
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 можно применить

Страница 642 из 785