Ruby is a fully object-oriented programming language where everything is an object. It uses modules to group classes and symbols to name variables and methods. Ruby code is written in blocks delimited by keywords like 'if' and 'end'. An example program demonstrates how a Person class in Ruby compares to a similar class in Java, using object instantiation, attributes, and a method. Key differences between Ruby and Java include Ruby being dynamically typed, using '# ' for comments, and 'attr_accessor' for getters and setters.