Есть ли будущее у DELPHI?
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.43] |
|
|
Правила раздела:
| Страницы: (245) « Первая ... 177 178 [179] 180 181 ... 244 245 ( Перейти к последнему сообщению ) |
Есть ли будущее у DELPHI?
|
Сообщ.
#2671
,
|
|
|
|
Цитата korvin @ Ты знаешь, программист никогда не подумал бы, что раз он добавил объект в список, то он оттуда самопроизвольно удалится. Ну, а почему же тогда программист думает что раз он создал объект, то он самопроизвольно удалиться? Та же картина - в случае когда сборщика нет - мы забываем удалить объект и получаем утечку. Когда сборщик есть - мы получаем утечку забыв убрать откуда-то ссылку. Суть ошибки одна и та же - мы что-то забыли и ресурс ушел навсегда |
|
Сообщ.
#2672
,
|
|
|
|
Цитата korvin @ Во-во-во. Здравая мысль, жаль я её уже озвучил Ты знаешь, программист никогда не подумал бы, что раз он добавил объект в список, то он оттуда самопроизвольно удалится. Цитата Qraizer @ Осталось только прикрутить GC к файлам, сокетам, окнам, семафорам... ну итд. Чё ж мы так ограничено ленимся, одной только памятью. |
|
Сообщ.
#2673
,
|
|
|
|
Ты знаешь, даже это не важно Менеджер(каким бы он не был) по любому хранит сами объекты, под которые он выделил память Цитата Ты знаешь, программист никогда не подумал бы, что раз он добавил объект в список, то он оттуда самопроизвольно удалится. В этой жизни все сложнее и в список его может положить кто-то другой. |
|
Сообщ.
#2674
,
|
|
|
|
Цитата Qraizer @ Я наверное дурак... но я всё-таки думаю, что лучше просто, чем сложно. Не? Зачем придумывать способы бороться с неутечками GC, если можно без утечек и без GC. ИМХО - самое лучшее решение - это распределять роли - кто ответственен за освобождение того или иного ресурса. И в принципе, можно код писать так, что при создании объекта ответственный за его освобождение назначается автоматически. |
|
Сообщ.
#2675
,
|
|
|
|
Цитата --Ins-- @ Ну, а почему же тогда программист думает что раз он создал объект, то он самопроизвольно удалиться? Та же картина - в случае когда сборщика нет - мы забываем удалить объект и получаем утечку. Когда сборщик есть - мы получаем утечку забыв убрать откуда-то ссылку. Суть ошибки одна и та же - мы что-то забыли и ресурс ушел навсегда +1 |
|
Сообщ.
#2676
,
|
|
|
|
--Ins--, ты только что "открыл" RAII.
|
|
Сообщ.
#2677
,
|
|
|
|
Цитата Qraizer @ --Ins--, ты только что "открыл" RAII. Нет, не только что |
|
Сообщ.
#2678
,
|
|
|
|
Цитата --Ins-- @ Ну, а почему же тогда программист думает что раз он создал объект, то он самопроизвольно удалиться? Потому что на него нет ссылок, он не доступен, GC знает, что программист до этого объекта ну никак уже не доберется. |
|
Сообщ.
#2679
,
|
|
|
|
korvin, вот примерно потому я и назвал GC для императивных языков - баловством. Вот для логических и функциональных без него тяжело - придется гадить в другие фичи.
|
|
Сообщ.
#2680
,
|
|
|
|
Цитата Qraizer @ но я всё-таки думаю, что лучше просто, чем сложно. Не? Зачем придумывать способы бороться с неутечками GC, если можно без утечек и без GC. Да, наверное поэтому придумали умные указатели, без них было слишком просто, надо было усложнить. Добавлено Цитата D_KEY @ korvin, вот примерно потому я и назвал GC для императивных языков - баловством. Вот для логических и функциональных без него тяжело - придется гадить в другие фичи. Я все равно не понял почему, по-моему в Go он вполне логичен, без него было бы сложнее. |
|
Сообщ.
#2681
,
|
|
|
|
Цитата korvin @ Потому что на него нет ссылок, он не доступен, GC знает, что программист до этого объекта ну никак уже не доберется. Да, согласен, такой случай - это гарантированная утечка. Но это частный случай, а сборщик рассматривает его как полный. А более общее и точное описание утечки - это когда не программист никогда не доберется до ресурса, а когда выполняющийся код никогда не доберется до ресурса. А это уже сборщику мусора недоступно, увы. Он только по простейшим случаям специализируется |
|
Сообщ.
#2682
,
|
|
|
|
Цитата korvin @ Да, наверное поэтому придумали умные указатели, без них было слишком просто, надо было усложнить. Они не нарушают парадигму, а как раз реализуют ее. Цитата Я все равно не понял почему, по-моему в Go он вполне логичен, без него было бы сложнее. Я почему-то даже говорить об этом "языке" не хочу |
|
Сообщ.
#2683
,
|
|
|
|
Цитата --Ins-- @ Ну, а почему же тогда программист думает что раз он создал объект, то он самопроизвольно удалиться? Может потому что в этом мире например производители авто не занимаются их утилизацией? |
|
Сообщ.
#2684
,
|
|
|
|
Цитата korvin @ Может потому что в этом мире например производители авто не занимаются их утилизацией? А автосалоны не занимаются их покупкой, и что? |
|
Сообщ.
#2685
,
|
|
|
|
Цитата D_KEY @ Они не нарушают парадигму, а как раз реализуют ее. Какую парадигму? Императивную? Почему парадигма должна накладывать ограничение на способ управления памятью? В C++ таки добавили лямбды и ниче. Цитата D_KEY @ Я почему-то даже говорить об этом "языке" не хочу ![]() А о каком хочешь кроме C++? Oberon подойдет? Добавлено Цитата --Ins-- @ А автосалоны не занимаются их покупкой, и что? ![]() Покупкой чего? Авто? Нет, они их производят (создают объект). Покупатели пользуются, потом выбрасывают, а утилизаторы утилизируют. И такой цикл практически со всем. |