The complexity of generational garbage collection vs. the speed of manual collection, makes me feel like the happy medium of speed and simplicity is reference counting, like that found in objective-c. iPhone apps are fast, but take a bit longer to design, develop, and debug due to memory management issues. Though with experience these can be minimized.<p>It probably isn't possible without a ton of modification, but I wish the JVM/CLR had an option to garbage collect through reference counting.