After having read some of the Wikipedia entry on garbage collection (sections 1 Principles, 1.1 Advantages, 1.2 Disadvantages, and also section 8 Limited environments as a bonus), my opinion has not changed, it only strengthened; The advantages of garbage collection definitely and by far outweigh the disadvantages. However I am and have for a long time been an advocator of extreme coding efficiency, sometimes going so far as to manually clean up my temporary variables at the end of every function. Calling cleanup functions, destroying objects with customized destructors, or at the very least setting them to null so the GC can take care of freeing the memory blocks used by them immediately instead of at the end of their (sometimes too wide) scope. Therefore I shall endeavor to explain not just the reasoning behind my opinion in the following paragraphs, but also both attacking and subsequently defending garbage collection. We will examine it from both sides. I would like to learn about garbage collection. (MORE)