
Влад
10.02.2017
22:10:42

Sergey
10.02.2017
22:11:02

Юра В
10.02.2017
22:11:13

Влад
10.02.2017
22:11:24
x будет undefined. Это тоже своего рода примитивный объект

Google

Sergey
10.02.2017
22:11:27
const a = 'a'; // значение по идентификатору a
let a = b + 1; // состояние, поскольку ты не знаешь какое тут значение. Оно зависит от времени (места в коде и возможно от кучи других факторов)

Юра В
10.02.2017
22:12:18
Мощно

Sergey
10.02.2017
22:12:38
Мощно
вспомнил что стоит почитать

Влад
10.02.2017
22:12:50

Sergey
10.02.2017
22:12:55
скажем так "первоисточник идей" которые были заложены в ооп и вообще современное программирование

Влад
10.02.2017
22:13:28

Sergey
10.02.2017
22:13:31
у тебя есть устройства ввода/вывода со своими мутабельными буферами

Max
10.02.2017
22:13:47

Sergey
10.02.2017
22:13:49
Могу
на определенном уровне абстракции. Под копотом у тебя всеравно мутируются значения регистров процессора.

Юра В
10.02.2017
22:14:27

Google

Sergey
10.02.2017
22:14:38

Влад
10.02.2017
22:14:42

Sergey
10.02.2017
22:15:02
ну то есть... ты конечно можешь превратить пару электрон + протов в нейтрон и обратно например

Влад
10.02.2017
22:15:39

Sergey
10.02.2017
22:16:12
хотя ладно, тут надо сначала определиться с определением имутабельности
ты наверное имеешь в виду отсутствие побочных эффектов
у меня есть буфер с пикселями и я просто постоянно вычисляю новый буфер

Max
10.02.2017
22:16:56

Sergey
10.02.2017
22:17:16

Max
10.02.2017
22:18:21
на всём
но не на скале

Влад
10.02.2017
22:18:31

Sergey
10.02.2017
22:18:38

Max
10.02.2017
22:18:44
ну в том числе
и х-ь

Sergey
10.02.2017
22:19:01
тебе написать програмку на Java без сайд эффектов?

Google

Sergey
10.02.2017
22:19:16
любая система использующая EventSourcing?
append-only структуры и прочее?

Влад
10.02.2017
22:19:57

Sergey
10.02.2017
22:20:16
а то что имеет смысл смотреть обычно закрыто NDA
да и опять же, отказаться от мутации стэйта... это похоже на религию
ну и да, классы не могут менять стэйт)
Мощно
Еще Эрика Эванса почитай. Оч годная литература

Юра В
10.02.2017
22:21:45
Как я понял...

Sergey
10.02.2017
22:22:17

Влад
10.02.2017
22:22:32

Sergey
10.02.2017
22:22:33
они - деталь реализации языка

Юра В
10.02.2017
22:22:52
Ну рисунок объекта само по себе объект или нет?
Вроде выше понятно, что нет
Но с другой стороны, у класса методы есть

Sergey
10.02.2017
22:23:20

Юра В
10.02.2017
22:23:21
Бывают
Как у объекта

Google

Sergey
10.02.2017
22:23:59

Юра В
10.02.2017
22:24:28

Sergey
10.02.2017
22:24:37
смотри

Юра В
10.02.2017
22:24:41
Только я думал, что разобрался, как запутали
Вот для этого и прошу книгу

Sergey
10.02.2017
22:24:57
тебе книга не поможет

Юра В
10.02.2017
22:25:03
Чтобы не solid и не tdd

Admin
ERROR: S client not available

Sergey
10.02.2017
22:25:09
тебе надо попробовать разобраться как например на уровне JVM работают объекты

Влад
10.02.2017
22:25:35
Зачем вообще нужны классы? Нужен протокол и контракты для объекта

Sergey
10.02.2017
22:25:44
ну мол у тебя есть файлик с исходниками. Там ты описываешь класс. Далее при компиляции из этого класса выделяется структура данных (проперти) которая будет представлять собой стэйт объекта, и таблица методов.

Влад
10.02.2017
22:26:28
согласен)
Эээ, так не интересно. А как же поспорить?

Юра В
10.02.2017
22:26:39

Rodion
10.02.2017
22:26:50
я уже через все это проходил месяц назад в этом чатике) абсолютно такой же разговор был)

Sergey
10.02.2017
22:27:38
когда ты делаешь инстанс объекта, у тебя в памяти грубо говоря выделяется эта самая структура (стэйт объекта) и когда ты вызываешь метод начинается такой процесс как диспетчеризация (то есть по идентификатору метода и контексту вызывается нужный код, по сути у тебя одна и та же функция в памяти будет вызываться с разным this.

Влад
10.02.2017
22:27:40

Юра В
10.02.2017
22:27:50
Надо pin-сообщение добавить со ссылками на хорошие книги, по которым консенсус чатика есть

Sergey
10.02.2017
22:28:00

Google

Юра В
10.02.2017
22:28:05
В таком случае
Тогда будет меньше вопросов

Влад
10.02.2017
22:28:22

Sergey
10.02.2017
22:28:22
и были в нем классы как структурные единицы кода. Почти как структуры в Си но круче, поскольку могли декларировать более явный цикл жизни
и из крутых плюшек по сравнению со структурами был факт возможности наследования оных
по сути очень мощный и элегантный способ разбиения кода на модули и управления зависимостями
smalltalk например потом взяли ту же концепцию и расширили ее
а потом еще появился C++ (препроцессор что бы сделать Си похожим на симулу)
но вот только когда делали C++ и мысли небыло о каком-то там ООП. Просто возможность лучше структурировать код.

Артур Евгеньевич
10.02.2017
22:34:15
а object с зачем делали?

Sergey
10.02.2017
22:34:46
из всей дребедени вроде GUI или мышки они только в смтолтаке видели выгоду
одна из отличительных черт smalltalk например - отсутствие main рутины
то есть объекты живут себе как одна большая распределенная сеть объектов.
и обменивается соощениями. Нет главного объекта

da horsie
10.02.2017
22:36:12

Sergey
10.02.2017
22:36:56
а object с зачем делали?
да, и еще... одна из причин почему появилась Java - опять же не смогли договориться с Sun о модели лицензирования. Sun хотели бесплатный язык, а за smalltalk надо было платить. Вот и все