hirthwork 14.12.2012 09:54 mcabber

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

1. 4da 14.12.2012 09:55 BitlBee

паттерны + java

2. hirthwork → 4da /1 14.12.2012 09:55 mcabber

яблоки + perl

3. magog 14.12.2012 09:55 Azoth@Work

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

4. hirthwork → magog /3 14.12.2012 09:57 mcabber

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

5. ulidtko → hirthwork /4 14.12.2012 14:26

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

6. hirthwork → ulidtko /5 14.12.2012 14:28 mcabber

штобля:?

7. magog → hirthwork /6 14.12.2012 14:29 Azoth@Work

питонобля:?

8. hirthwork → magog /7 14.12.2012 14:30 mcabber

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

9. ulidtko → hirthwork /8 14.12.2012 14:36

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

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

10. magog → ulidtko /9 14.12.2012 14:38 Azoth@Work

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

11. hirthwork → magog /10 14.12.2012 14:39 mcabber

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

12. hirthwork → hirthwork /11 14.12.2012 14:40 mcabber

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

13. ulidtko → magog /10 14.12.2012 14:41

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

14. magog → ulidtko /13 14.12.2012 14:42 Azoth@Work

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

15. ulidtko → hirthwork /12 14.12.2012 14:43

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

16. ulidtko → magog /14 14.12.2012 14:44

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

17. hirthwork → ulidtko /15 14.12.2012 14:45 mcabber

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

18. 4da → ulidtko /15 14.12.2012 14:45 BitlBee

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

19. hirthwork → 4da /18 14.12.2012 14:46 mcabber

s/почти //

20. ulidtko → 4da /18 14.12.2012 15:55

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

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

21. hirthwork → ulidtko /20 14.12.2012 15:56 mcabber

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

Do you really want to delete ?