Are there any other languages that use similar kinds of garbage collection scheme as golang? What are other popular ways of implementing garbage collectors?