История изменений
Исправление dimgel, (текущая версия) :
Что может быть полезно, если освобождение ресурса в каком-то случае операция не быстрая.
GC – он не про произвольные ресурсы, а про память. Например в жаве, которая с GC, файлы приходится закрывать явно внутри finally{}, т.к. из-за GC он не закрывается сам при выходе из scope, а оставлять его открытым на неопределённый срок, пока GC до него доберётся и вызовет finalize() – это неряшливость.
Отсюда вывод: RAII и GC – взаимно-исключающие концепции. Обе реально удобные (сейчас мне GC на фиг не нужен, но в своё время меня пропёрло), и выбор – дело вкуса. В байтодрочерском стиле кодирования рулит RAII.
Исправление dimgel, :
Что может быть полезно, если освобождение ресурса в каком-то случае операция не быстрая.
GC – он не про произвольные ресурсы, а про память. Например в жаве, которая с GC, файлы приходится закрывать явно внутри finally{}, т.к. из-за GC он не закрывается сам при выходе из scope, а оставлять его открытым на неопределённый срок, пока GC до него доберётся и вызовет finalize() – это неряшливость.
Отсюда вывод: RAII и GC – взаимно-исключающие концепции. Обе реально удобные (сейчас мне GC на фиг не нужен, но в своё время меня пропёрло), и выбор – дело вкуса. В байтодрочерском стиле кодирования рулит RAII.
Ну а для bulk destroy из памяти кучи объектов за раз – как раз и нужны кастомные аллокаторы, а именно мой любимый arena.
Исправление dimgel, :
Что может быть полезно, если освобождение ресурса в каком-то случае операция не быстрая.
GC – он не про произвольные ресурсы, а про память. Например в жаве, которая с GC, файлы приходится закрывать явно внутри finally{}, т.к. из-за GC он не закрывается сам при выходе из scope, а оставлять его открытым на неопределённый срок, пока GC до него доберётся и вызовет finalize() – это неряшливость.
Отсюда вывод: RAII и GC – взаимно-исключающие концепции. Обе реально удобные (сейчас мне GC на фиг не нужен, но в своё время меня пропёрло), и выбор – дело вкуса. В байтодрочерском стиле кодирования рулит RAII.
Исправление dimgel, :
Что может быть полезно, если освобождение ресурса в каком-то случае операция не быстрая.
GC – он не про произвольные ресурсы, а про память. Например в жаве, которая с GC, файлы приходится закрывать явно внутри finally{}, т.к. из-за GC он не закрывается сам при выходе из scope, а оставлять его открытым на неопределённый срок, пока GC до него доберётся и вызовет finalize() – это неряшливость.
Отсюда вывод: RAII и GC – взаимно-исключающие концепции. Обе реально удобные (сейчас мне GC на фиг не нужен, но в своё время меня пропёрло), и выбор – дело вкуса. В байтодрочерском стиле кодирования рулит RAII.
Исходная версия dimgel, :
Что может быть полезно, если освобождение ресурса в каком-то случае операция не быстрая.
GC – он не про произвольные ресурсы, а про память. Например в жаве, которая с GC, файлы приходится закрывать явно внутри finally{}, т.к. из-за GC он не закрывается сам при выходе из scope, а оставлять его открытым на неопределённый срок, пока GC до него доберётся и вызовет finalize() – это неряшливость.
Отсюда вывод: RAII и GC – взаимно-исключающие концепции. Обе реально удобные, и выбор – дело вкуса. В байтодрочерском стиле кодирования рулит RAII.