Home arrow BrainDump arrow A Quick Tour of Boo

A Quick Tour of Boo

If you're looking for a portable .NET language and don't want to use a C-style syntax, you might want to take a look at Boo. Don't let the name spook you; if you're comfortable with Python, you'll feel right at home with Boo.

  1. A Quick Tour of Boo
  2. Program Structure and Variables
  3. Arrays and Collections
  4. Conditionals and Loops
  5. Functions and Types
By: Peyton McCullough
Rating: starstarstarstarstar / 4
August 06, 2007

print this article




While the de facto .NET languages C# and Visual Basic .NET are certainly capable, only the former is especially portable (in practice, that is), and users coming from scripting backgrounds or users who don't enjoy C-style syntax may not feel at home. Fortunately, however, the Common Language Infrastructure allows support for multiple languages, and these languages can be used together as the developer sees fit. Boo is one such language for the CLI. It offers the features of the .NET Framework and Mono, and it features a Python-like syntax. In this article, we'll explore the Boo language and some of its basic features.

Boo can be obtained at:


The Boo Toolbox

Boo comes with three basic tools for working with Boo code. The first is the Boo compiler, which compiles Boo code into an assembly. It goes by the name of booc:

$ booc HelloWorld.boo

Boo Compiler version (CLR v2.0.50727.42)

The next tool is the Boo interpreter. Instead of compiling a Boo file, you can interpret it using booi:

$ booi HelloWorld.boo

Hello World!

It's also possible to interpret code directly form standard input:

$ booi -

print "Hello World!"

print "Goodbye!"

Hello World!


The final tool is the Boo interactive interpreter, booish, similar to Python's interactive interpreter. As its name implies, it allows one to interact with it, immediately seeing the results of code, among other things:

$ booish

Welcome to booish, an interpreter for the boo programming language.


Running boo in CLR v2.0.50727.42.


The following built-in functions are available:

  dir(Type): lists the members of a type

  help(Type): prints detailed information about a type

  load(string): evals an external boo file

  globals(): returns the names of all variables known to the interpreter

  getRootNamespace(): namespace navigation


Enter boo code in the prompt below.

>>> print "Hello World!"

Hello World!


>>> More BrainDump Articles          >>> More By Peyton McCullough

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort


- Apple Founder Steve Jobs Dies
- Steve Jobs` Era at Apple Ends
- Google's Chrome Developer Tool Updated
- Google's Chrome 6 Browser Brings Speed to th...
- New Open Source Update Fedora 13 is Released...
- Install Linux with Knoppix
- iPad Developers Flock To SDK 3.2
- Managing a Linux Wireless Access Point
- Maintaining a Linux Wireless Access Point
- Securing a Linux Wireless Access Point
- Configuring a Linux Wireless Access Point
- Building a Linux Wireless Access Point
- Migrating Oracle to PostgreSQL with Enterpri...
- Demystifying SELinux on Kernel 2.6
- Yahoo and Microsoft Create Ad Partnership

Developer Shed Affiliates


Dev Shed Tutorial Topics: