Object-oriented languages define objects (types of things) that know how to perform methods (specific actions). Functional languages treat programming problems like mathematical relationships. Ruby is flexible, meaning that you can program in any of these styles however, it is primarily object oriented, with some strong functional influence. This book focuses slightly more on the functional aspects of Ruby than some other books.