This comprehensive examination of the main approaches to object-oriented language explains the key features of the languages in use today. Class-based, prototypes and Actor languages are all looked at and compared in terms of their semantic concepts. In providing such a wide-ranging comparison, this book provides a unique overview of the main approaches to object-oriented languages. Exercises of varying length, some of which can be extended into mini-projects are included at the end of each chapter. This book can be used as part of courses on Comparative Programming Languages or Programming Language Semantics at Second or Third Year Undergraduate Level. Some understanding of programming language concepts is required.