Congrats for promotion of The Well-Grounded Rubyist book. Have one question I have doubt regarding garbage collection feature in Ruby . Is it same as Java. And how open is Ruby to other platforms ? I hope I get answers for my doubts..
If we can keep our preconceived notions behind,
every unsolvable problem can have a solution!
---George Bernard Dantzig
posted 6 years ago
Regarding garbage collection, Ruby's is way, way behind the JVM (Java) and the CLR (.NET). The biggest difference is that Ruby's garbage collection is non-generational, meaning that when Ruby's GC does its sweep, it iterates through all objects checking they're eligibility for garbage collection. Googling for "ruby garbage collection" gives you some pretty good (and more elaborate) descriptions of how Ruby's garbage collection is implemented.
Regarding openness to other platforms, Ruby itself has the ability to integrate native libraries which you can then use to bridge to other platforms such as Java (through JNI). However, perhaps the more relevant interoperability strategy is to run your Ruby code on JRuby, which is a Ruby implementation running on the JVM.