Comdiv, да, по-хорошему должны быть слабые ссылки, чтобы их вручную не разрывать.

Смотрел Javolution, там, как выясняется, даже сборщика циклов нет, и ничего, джависты пишут. Просто им в других обстоятельствах не давали нормально писать, а тут, когда дали, выясняется, что могут. Но если много чужого кода, то начинаются проблемы.

> -- Дмитрий Дагаев писал(а):
> Automatic Reference Counting Хотелось бы прояснить

Про попытки починить язык после того, как болезнь капитально запущена:

http://sealedabstract.com/rants/why-mob ... -are-slow/
> -- Цитата:
> There is another group that has tried to fork a dynamic language to meet the needs of mobile developers–and it’s called RubyMotion.So these are smart people, who know a lot about Ruby. And these Ruby people decided that garbage collection for their fork was A Bad Idea. (Hello GC advocates? Can you hear me?). So they have a thing that is a lot like ARC that they use instead, that they have sort of grafted on to the language. Turns out it doesn’t work:

Objective-C повезло гораздо больше. Там вовремя объявили TGC устаревшим и не влипли в серьёзные проблемы.

Статья вроде как про мобильные приложения, но я и на других платформах страдаю. Как ни глянешь в Диспетчер задач, так сразу понятно, кто у нас тут трассирующую сборку мусора применяет, перетягивая своп туда-сюда:
Вложение:Комментарий к файлу:Кто у нас тут трассирующую сборку мусора применяет?

Swap.png [ 8.8 КБ | Просмотров: 24392 ]


За свои программы по возможности краснеть не хочется. Зная о том, как потом на больших масштабах кода и данных будет болезненно лечиться от TGC, разумно просто не начинать. Всё, что с неизвлекаемой или сильно въевшейся трассирующей сборкой мусора, отбрасывать без сожалений.

И получается, что из веток C есть Objective-C 2.0 и C++/CX, а в ветках Паскаля — негусто.