
Евгений
13.05.2018
20:37:05
Много всяких поп на самом деле.

Антон
13.05.2018
20:37:07

Sergey
13.05.2018
20:37:10

Антон
13.05.2018
20:37:13

Google

Евгений
13.05.2018
20:37:15
Надо давать более точное определение.

Sergey
13.05.2018
20:37:26

Евгений
13.05.2018
20:37:36
Ну да.

Charles
13.05.2018
20:37:38

Евгений
13.05.2018
20:37:42
А «ПОП» не очень.

Антон
13.05.2018
20:38:10
Почему?

Sergey
13.05.2018
20:38:27

Charles
13.05.2018
20:38:37

Евгений
13.05.2018
20:38:40
Нууу,
Процедурно.
Прототипно.
Протоколо.

Антон
13.05.2018
20:38:43
Это типа структур

Евгений
13.05.2018
20:38:44
3 варианта ПОП.
По этому надо точнее.

Антон
13.05.2018
20:38:59

Google

Charles
13.05.2018
20:39:03

Sergey
13.05.2018
20:39:20

Евгений
13.05.2018
20:39:21
Умный??
Сильно умный? Да.
Ща мы тебе дадим.
И поп.
И функции.

Sergey
13.05.2018
20:39:45
и тебе тоже дадим, не волнуйся)
всех вылечим

Charles
13.05.2018
20:39:57
блен да контрактное же вроде примерно на этом и основано

Sergey
13.05.2018
20:40:38

Charles
13.05.2018
20:41:15
эмулятор терминала честно - смутно и каюсь. с ncurses нет ибо зачем, нужд не было. но при этом писал ДКА, и?
делить надо на разные системы, вот тебе и чистота
что не так-то???

Serhii
13.05.2018
20:42:05

Sergey
13.05.2018
20:42:08
ну это ж именно то о чем я и говорю, у тебя может быть красивый и чистый конечный автомат завернутый в уродливую машину тьюринга)

Charles
13.05.2018
20:42:30
так и что не так-то с этим???
я согласен, но - твое "но" в чем заключается?))))

Serhii
13.05.2018
20:43:34

Google

Charles
13.05.2018
20:43:36
эта машина = среда. вот и все, не?

Sergey
13.05.2018
20:44:09

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

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

Serhii
13.05.2018
20:45:06

Sergey
13.05.2018
20:45:33
как это соотносится с твоей идеей идемпотентности операций?

Charles
13.05.2018
20:46:06
мне приходилось. на пыхе правда

Serhii
13.05.2018
20:46:43

Charles
13.05.2018
20:48:07
как это соотносится с твоей идеей идемпотентности операций?
да никак, тут вопрос в изолированности о которой ты выше говорил. нельзя на один набор грамматики выносить одновременно например температуру с датчика (иди Date.now()) и стейт в том смысле в котором с ним работают в программировании (в земном я имею ввиду, а не RTOS)
так что тут как мне кажется зеленое с мягким сравнивают. поправь если я не так понял

Sergey
13.05.2018
20:51:07

Serhii
13.05.2018
20:52:01

Charles
13.05.2018
20:53:04
сейчас перечитал и понял что не совсем правильно сформулировал - там не "стейт в том смысле в котором с ним бла-бла-бла" а какой-нибудь скаляр который мало отношения к системным таймерам имеет. ну, к примеру

Sergey
13.05.2018
20:53:39
объект - тут тоже расплывчато - можно ими называть то что ты привык, типа инстанс класса, а можно что-то более абстрактное - метафора комьютера со своей изолированной памятью и поведением. Для меня объект и есть эта точка изоляции эффектов.
Ну короч мне нравятся экторы)

Serhii
13.05.2018
20:54:01

Sergey
13.05.2018
20:54:20

Google

Sergey
13.05.2018
20:54:33
docker run -d jira - модуль?
kubectr deploy application - модуль?)

Charles
13.05.2018
20:55:30
а последнее это что? kubernetes?

Sergey
13.05.2018
20:55:37

Charles
13.05.2018
20:55:44
ок

Sergey
13.05.2018
20:55:47
там правда честнее было бы через helm тогда
типа helm install elasitcsearch и вот у тебя крутится класстер из 10-ти нод, чем не модуль

Charles
13.05.2018
20:56:47
чет мы далеко зашли

Serhii
13.05.2018
20:57:00

Sergey
13.05.2018
20:57:04
ну я просто демонстрирую бесполезность термина "модуль" в этой дискусии)

Charles
13.05.2018
20:57:15
)))

Serhii
13.05.2018
20:57:32

Sergey
13.05.2018
20:57:39
мне кажется что человек под словом "модуль" явно имеет ввиду "что-то что описывает границы"

Charles
13.05.2018
20:57:59
ага, еще UML вспомни)

Sergey
13.05.2018
20:58:00

Serhii
13.05.2018
20:58:13

Sergey
13.05.2018
20:58:28
https://github.com/kubernetes/helm - пруф
менеджеры пакетов есть разные

Charles
13.05.2018
20:58:53
в данном контексте они все суть менеджеры пакетов потому что каждый - своим способом - выдают артефакт коим является установленный в системе пакет

Google

Charles
13.05.2018
20:59:03
мы ж абстрактно

Sergey
13.05.2018
20:59:32
ну абстрактно мы вспоминаем структурное программирование и тамошние концепты связанности и зацепления модулей, а размеры модуля неважны

Charles
13.05.2018
20:59:58
я вот нихера их не помню если честно.

Sergey
13.05.2018
21:00:11
ну а связанность и зацепление напрямую связаны и с information hiding (тобишь инкапсуляция здорового человека) и прочие штуки (GRASP, SOLID, все крутится вокруг этих двух простых концептов)
SOLID строится на идеях того что у тебя есть контракты, они должны быть простыми, ориентированными на нужды клиентского кода, не должны сильно меняться, и предоставлять точки расширения (вместо того что бы их переписывать). GRASP - тоже самое но чуть другими словами
контракты которые не мутируют стэйт, которые предоставляют идемпотентные операции - они прекрасно ложатся на все это
более того сайд эффекты сильно влияют на связанность, потому тут нам тоже надо изолировать все. Ну короч все то же самое просто под разными предлогами.
но если ты захочешь игрушку написать или любую другую систему где каждая микросекунда важна - тут совсем другие разговоры...

Serhii
13.05.2018
21:05:33

Charles
13.05.2018
21:05:41
бл9, вот читаю это все. самое важное - это то делим мы состояние от системы или нет. если делим - что-то пошло не так, там уже значит пошло "препарирование".

Sergey
13.05.2018
21:06:07

andretshurotshka?❄️кде
13.05.2018
21:06:16

Charles
13.05.2018
21:06:16

Sergey
13.05.2018
21:06:53
так что в целом все ок

Charles
13.05.2018
21:07:01