Chapter 2. An overview of the Boo language


In this chapter

  • Exploring the Boo language
  • Writing a sample program
  • Built-in DSL-friendly features

What is this Boo language anyway?

Boo is an object-oriented, statically typed language for the Common Language Runtime (CLR) with a Python-inspired syntax and a focus on language and compiler extensibility. (We’ll discuss extensibility briefly in this chapter and in more detail in chapter 6.) Boo is an open source project released under the BSD license, which means you’re free to take, modify, and use the language and its products in any way you want, without limitation, including for commercial use. (The license can be found at

Rodrigo B. de Oliveira started the project in early 2004, and since then it has grown significantly in popularity and features. The project is active and is continually evolving. As I write this, the released version of Boo is 0.9.1.

2.1. Why use Boo?

2.2. Exploring compiler extensibility

2.3. Basic Boo syntax

2.4. Boo’s built-in language-oriented features

2.5. Summary