Size: a a a

Programming Offtop

2020 March 28

AO

Alexey Otts in Programming Offtop
Apache DOG™
Лицо рука
А что по сути тут не правда? Реально что то помимо проксей на имутабилити написать?
источник

AO

Alexey Otts in Programming Offtop
При этом он написал, что бизнес лучше таки на имутабл писать, потому что это дерьмо тупо легче понимать
источник

AK

Anton Korotkikh in Programming Offtop
Vladimir Petrakovich
Так на го вроде такая же штука есть?
на го гораздо более примитивная и минималистичная - nats-streaming. а так на совместимость на уровне протокола только pulsar недавно замахнулся
источник

(

( in Programming Offtop
Alexey Otts
А что по сути тут не правда? Реально что то помимо проксей на имутабилити написать?
Неправда то, что ФЭПЭшники не избавляются от мутабельного стейта, а контролируют его
источник

(

( in Programming Offtop
И автор просто напросто врёт
источник

AO

Alexey Otts in Programming Offtop
А что не так то?
источник

AO

Alexey Otts in Programming Offtop
(
И автор просто напросто врёт
В хаскеле хочешь сказать всякие Ref не используются направо и налево? Может в базу не пишут?
источник

AO

Alexey Otts in Programming Offtop
Всё так и есть, оно просто сильнее контролируется
источник

(

( in Programming Offtop
Alexey Otts
В хаскеле хочешь сказать всякие Ref не используются направо и налево? Может в базу не пишут?
так и есть
источник

(

( in Programming Offtop
почему-то автор забыл об этом упомянуть
источник

D

Dmitry in Programming Offtop
Мне кажется люди путают возможность получить невалидный стейт с тем, где этот стейт хранить - в аргументах функций или в изменяемой структуре где-то в одном месте. Валидный стейт это условно энам, у него все значения - валидные.
Сам факт изменяемости плох только из-за гонок, если вы таки решите использовать ресурсы современных ПК. Поправьте, если я чего-то не понимаю.
источник

QH

Quantum Harmonizer in Programming Offtop
Alexey Otts
Да это жей ли, релакс, у него поди таблетки просто в этот момент кончились
Какая мне разница, кто это / как зовут / наличие отклонений / ваше знакомство?
Если объявится, признат неправоту, таблеток ёбнет, тогда будем обсуждать.
источник

ML

Mikhail Levchenko in Programming Offtop
Dmitry
Мне кажется люди путают возможность получить невалидный стейт с тем, где этот стейт хранить - в аргументах функций или в изменяемой структуре где-то в одном месте. Валидный стейт это условно энам, у него все значения - валидные.
Сам факт изменяемости плох только из-за гонок, если вы таки решите использовать ресурсы современных ПК. Поправьте, если я чего-то не понимаю.
Ну вот пишешь ты метод. В начале метода достаёшь из этого изменяемого стейта, например, одно из полей. работаешь с ним. Теперь тебе нужно ещё одно поле. Лезешь за ним в изменяемый стейт и работаешь с полученным значением. А на выходе получаешь проблемы, потому что какая-то из подпроцедур изменила состояние, к которому ты обращался. Заметь, ты в однопоточной среде, никаких гонок
источник

ML

Mikhail Levchenko in Programming Offtop
используя расшаренное изменяемое состояние ты просто породил себе миллион проблем на ровном месте
источник

D

Dmitry in Programming Offtop
Mikhail Levchenko
Ну вот пишешь ты метод. В начале метода достаёшь из этого изменяемого стейта, например, одно из полей. работаешь с ним. Теперь тебе нужно ещё одно поле. Лезешь за ним в изменяемый стейт и работаешь с полученным значением. А на выходе получаешь проблемы, потому что какая-то из подпроцедур изменила состояние, к которому ты обращался. Заметь, ты в однопоточной среде, никаких гонок
Это плохой дизайн. Если я работаю с текущим состоянием, то в начале метода я его себе в локальную переменную достаю, и работаю со всеми полями этого текущего состояния, которое может измениться.
источник

D

Dmitry in Programming Offtop
Причем, если из других потоков никто в мое состояние не пишет, то и поменяться оно не может, даже если по одному полю доставать.
источник

ML

Mikhail Levchenko in Programming Offtop
Dmitry
Это плохой дизайн. Если я работаю с текущим состоянием, то в начале метода я его себе в локальную переменную достаю, и работаю со всеми полями этого текущего состояния, которое может измениться.
хорошо, достал ты себе, твой код. имеешь право. А что делать, если у тебя несколько подпроцедур в такую ситуацию попали? идти их переписывать? так их уже заюзали в проекте в сотне мест, и все баги считаются фичами
источник

ML

Mikhail Levchenko in Programming Offtop
Dmitry
Причем, если из других потоков никто в мое состояние не пишет, то и поменяться оно не может, даже если по одному полю доставать.
как не может? кто ему запретит?
источник

D

Dmitry in Programming Offtop
Mikhail Levchenko
как не может? кто ему запретит?
Поток один. Я в этом потоке сейчас обрабатываю поля. Кто-то еще может в моем потоке изменить обьект либо до меня, либо после меня.
Ну если у нас нет внезапного суспенда нити исполнения внутри одного треда операционной системы, не знаю бывает ли так где-то.
источник

ML

Mikhail Levchenko in Programming Offtop
Dmitry
Поток один. Я в этом потоке сейчас обрабатываю поля. Кто-то еще может в моем потоке изменить обьект либо до меня, либо после меня.
Ну если у нас нет внезапного суспенда нити исполнения внутри одного треда операционной системы, не знаю бывает ли так где-то.
у тебя метод сам по себе что ли живёт? другими объектами не пользуется? они не могут потрогать твоё состояние?
источник