AlekXL
Цитата:
Я разве сказал, что единственное назначение интерфейсов являть собою механизм автоматического управления жизнью объекта? Нет, я сказал о другом.
Цитата:
Отчего же - ты имеешь доступ к счетчику ссылок, можешь им рулить как вздумается. Компилятор просто автоматизирует это, в отличии от GC управляемых сред. То же самое мы имеем с интерфейсами, строками и дин.массивами.
Цитата:
Я ничего сложного в концепции ссылок не вижу, и они уж точно не призваны решать проблемы кривых рук.
Цитата:
Как ты там говорил... Изволь соответствовать? Так вот разговоры о неявном декременте меня удивляют.
Цитата:
Пока, вроде, и получается полная обратная совместимость, за исключением случаев взаимных ссылок объектов. А если везде расставить атрибут [weak] будет совсем полная Хотя, я согласен, что такие радикальные изменения должны быть по меньшей мере отключаемыми.
Добавлено:
HeMet
Цитата:
Это слишком уж вольный перевод Оно вообще о другом.
Цитата:
То есть это нормально, когда языковая фича описывается в доке, но нихрена не работает как должна, судя по той же доке?
Цитата:
Я использую интерфейсы в том числе и для того, чтобы ослабить связь между частями проекта
Я разве сказал, что единственное назначение интерфейсов являть собою механизм автоматического управления жизнью объекта? Нет, я сказал о другом.
Цитата:
управляемого не тобой, не так ли?
Отчего же - ты имеешь доступ к счетчику ссылок, можешь им рулить как вздумается. Компилятор просто автоматизирует это, в отличии от GC управляемых сред. То же самое мы имеем с интерфейсами, строками и дин.массивами.
Цитата:
Впрочем концепцию strong vs weak link я бы не назвал простой, тем более что weak link, как я понял, может указывать на что попало. Так что будут и залоченные в памяти взаимно ссылающиеся объекты, и попытки дерефенса освобожденной памяти.
Я ничего сложного в концепции ссылок не вижу, и они уж точно не призваны решать проблемы кривых рук.
Цитата:
А если нужно запихнуть ссылку на объект в Pointer или NativeInt? Такая магия бывает необходима, скажем, для WinApi, или TVirtualDrawTree. Логика работы ARC в этом случае может быть еще сложнее, чем в обычном случае: сначала нужно сделать явный инкремент, а потом всюду следить,чтобы нигде не произошел неявный декремент
Как ты там говорил... Изволь соответствовать? Так вот разговоры о неявном декременте меня удивляют.
Цитата:
ARC это благо, если нам дадут выбор, где и как его использовать. А насильно навязанный ARC - мне не нужен, я против. Я хочу _полной обратной совместимости
Пока, вроде, и получается полная обратная совместимость, за исключением случаев взаимных ссылок объектов. А если везде расставить атрибут [weak] будет совсем полная Хотя, я согласен, что такие радикальные изменения должны быть по меньшей мере отключаемыми.
Добавлено:
HeMet
Цитата:
"не используйте это в своем коде - оно не для вас" (вольный перевод: "Class and record helpers provide a way to extend a type, but they should not be viewed as a design tool to be used when developing new code."),
Это слишком уж вольный перевод Оно вообще о другом.
Цитата:
А разрабам Delphi потом тяни лямку
То есть это нормально, когда языковая фича описывается в доке, но нихрена не работает как должна, судя по той же доке?