This book conveys the essential concepts of programming languages in a no-frills manner, covering the major language paradigms, and showing how each can be used in parallel and distributed applications. Since the book's examples are drawn from a wide variety of different languages, readers will discover the pros and cons of each as they relate to specific applications.