hirthwork 14.12.2012 09:54 mcabber

таки большинство GoF паттернов смотрятся более гармонично именно на языках с garbage collector'ом. на всяких плюсах приходится городить shared_ptr, которые суть являются ошибкой проектирования

1. 4da 14.12.2012 09:55 BitlBee

паттерны + java

2. hirthwork4da /1 14.12.2012 09:55 mcabber

яблоки + perl

3. magog 14.12.2012 09:55 Azoth@Work

почему шареды — ошибка проектирования?

4. hirthworkmagog /3 14.12.2012 09:57 mcabber

я ж тебе уже объяснял и ты уже соглашался: шареды означают что ты сам толком не понимаешь кто у тебя владеет объектом и какого его время жизни. из умных поинтеров толковый только unique_ptr

5. ulidtkohirthwork /4 14.12.2012 14:26

> подразумевая, что владение необходимо

6. hirthworkulidtko /5 14.12.2012 14:28 mcabber

штобля:?

7. magoghirthwork /6 14.12.2012 14:29 Azoth@Work

питонобля:?

8. hirthworkmagog /7 14.12.2012 14:30 mcabber

подожди. сраться вдвоём в отдельном треде будете, а мне пока ещё интересно понять что он хотел этим сказать

9. ulidtkohirthwork /8 14.12.2012 14:36

в общем, насчёт shared_ptr ты прав; но у меня ощущение, что отношение лайфтаймов на объектах не равноценно и, может быть, даже не выражается через отношения владения на них же.

Короче, блджад, отказываться от автоматического управления памятью — это ошибка проектирования, а не shared_ptr сам по себе.

10. magogulidtko /9 14.12.2012 14:38 Azoth@Work

так вы определитесь. Отказ от shared_ptr плохо или хорошо? А то ты говоришь, что отказа от shared_ptr — хорошо, а от автоматического управления памятью — нет.

11. hirthworkmagog /10 14.12.2012 14:39 mcabber

использование shared_ptr — плохо

12. hirthworkhirthwork /11 14.12.2012 14:40 mcabber

в случае когда хуй поймёшь, какой из объектов должен владеть куском памяти — куском памяти должен владеть контекст, в котором эти объекты созданы

13. ulidtkomagog /10 14.12.2012 14:41

научись уже размышлять чуть поразнообразнее, чем «это хорошо/это плохо».

14. magogulidtko /13 14.12.2012 14:42 Azoth@Work

научишь приводить логическисвязанные заключениея, а не те, в которых одна часть противоречит другой // ппц ты тупой

15. ulidtkohirthwork /12 14.12.2012 14:43

а если этот самый контекст — это вся программа? подразумевая соответсвующие лайфтаймы.
Тогда что, созравать ProgramExecutionContextSingleton, и навешивать овнершип на него? :D

16. ulidtkomagog /14 14.12.2012 14:44

лучше бы ты понимать научился, вместо того чтобы искать противоречия.

17. hirthworkulidtko /15 14.12.2012 14:45 mcabber

я не могу представить себе ситуацию, когда одновременно нужно подобие shared_ptr и при этом минимальным контекстом, в котором требуется этот shared_ptr является вся программа.

18. 4daulidtko /15 14.12.2012 14:45 BitlBee

Singleton — это почти всегда нехорошо.

19. hirthwork4da /18 14.12.2012 14:46 mcabber

s/почти //

20. ulidtko4da /18 14.12.2012 15:55

на эту реакцию и был рассчёт же :)

алсо, что-то не смог придумать примеров для /15. Во-первых, лайфтайм занятого ресурса должен заканчиваться не раньше, чем таковой занявшего его контекста (иначе контекст напрямую овнит ресурс, композицией там или unique_ptr к примеру; нет смысла в shared ownership) — и в случае, когда контекст является сабжевой программой, лайфтайм ресурса, очевидно, не может превосходить лайфтайм контекста. Говно, короче, я хуйню спизданул.

21. hirthworkulidtko /20 14.12.2012 15:56 mcabber

бля. сколько текста ради последних трёх слов.

Do you really want to delete ?