When you have a scripting language with a GC you are targeting a class of users who can't or don't want to be careful enough to prevent circular references.
Circular references aren't easy to avoid, sometimes there can be more than 3 levels of indirection. The mental overhead of preventing circular references is often times as high as manually managing memory yourself.
If it was as good as you suggest, every new language would be using reference counting and not occasionally run mark and sweep.
Circular references aren't easy to avoid, sometimes there can be more than 3 levels of indirection. The mental overhead of preventing circular references is often times as high as manually managing memory yourself.
If it was as good as you suggest, every new language would be using reference counting and not occasionally run mark and sweep.