Boo Scares Up Open-Source Developers

The Boo language proves open source can make nice with Microsoft. Python-based language targets Microsoft's CLI and supports Mono.

Work on the Microsoft-friendly open-source Boo language is nearing completion.

Boo is a new object-oriented statically typed programming language for the Microsoft CLI (Common Language Infrastructure) with a Python inspired syntax and a special focus on language and compiler extensibility, said Rodrigo Barreto de Oliveira, the creator of the language.

As an open-source language that targets Microsoft technology, Boo joins an increasing number of open source projects that are Microsoft-friendly.

De Oliveira said a 1.0 release of Boo is about three to six months away.

"I would say we are three to six months away from a 1.0 release, not because of the workload but mainly because of the time it will take to get more .Net [Framework] 2 users and applications to really test the tools."

Moreover, "For the 1.0 release, our goal is to have: generics; a better way to define and use macros; better, friendlier command line tools; and all the crash bugs listed on our roadmap fixed," de Oliveira said.

De Oliveira, who is based in Assis, Brazil, said he created Boo because nothing like it existed and he wanted a Python-like language he could use on a project he was working on.

"Boo was born out of my frustration with existing programming language systems and my growing love for the Common Language Infrastructure and the architectural beauty of the entire .net Framework," de Oliveira wrote in a description of the Boo language, referred to as the Boo Manifesto.

"I was frustrated mainly because I could not use the language I wanted to use (Python at the time) to build the kind of systems I needed to within the technological framework my company has settled on," de Oliveira said.

"I had two options: I could either use a different framework (such as the Python standard libraries and runtime environment) or a different programming language (C# was the logical choice for such a longtime C++ programmer like myself)."

However, "I tried both and was completely satisfied by none," he said.

"When I was programming in full Python mode I missed some of the things Id normally get from a more statically typed environment, such as compile time error checking…," de Oliveira said.

/zimages/3/28571.gifClick here to read more about open-source vendor SugarCRMs plans to launch a distribution of its Sugar Suite 4.5 software under the Microsoft Community License.

"But what I missed most was the well thought out .Net architecture and its great support for Unicode, globalization and Web style applications."

When the Python attempt failed, de Oliveira said he switched to C# and "started coding like hell…by that I mean no Christmas or Carnival or six-hour sleep nights."

But, de Oliveira, who works as a contractor for db4objects Inc., said he delivered on the project. Still he was not satisfied.

"…I was stressed and couldnt avoid those mixed feelings about C# in light of my previous Python experience," he said.

De Oliveira said he missed the "wrist-friendly Python syntax and the ability to easily test my own ideas with running code. And I wanted more. I wanted a language I could extend with my own constructs. I wanted a compiler system that could be taught new things—taught how to automagically generate common code for me…"

And, added de Oliveira: "Being such a hard case of not-invented-here syndrome it all became clear to me: I had to build a new programming language system for the CLI… One that could be used, extended and modified by developers according to their specific needs. I had to build Boo."

Next Page: Targeting the CLI.