Interviewing Clemens Vasters
In december Lars Wilhelmsen and I made an interview with Clemens Vasters. We talk about different topics around the new Azure and Cloud technologies from Microsoft. Clemens Vasters works as a Program Manager in the .NET Online Services team and is responsible for the ‘Service Bus’ feature area of Microsoft’s upcoming Cloud Platform.
Børge Hansen from [...]
Refactoring
To make it clear: “Refactoring” (as the term made famous by Martin Fowler in his great book with the same name), means to change the code without changing its behavior. Too many people talk about refactoring when changing some of the behavior of a system. This interpretation is just plain wrong.
This distinction is not just [...]
Creating a dynamic xml reader with C# 4.0
“The static type dynamic” was the catchphrase at PDC’08 when talking about what’s new in C# 4.0. The dynamic type seems to be introduced mainly to simplify the code you write when doing Com interop. But many also see this as a step towards the dynamic languages for C#. I like C#. I also like [...]
The Boo extensibility tutorials
Boo’s compiler extensibility is an extremely nice feature which sometimes make me talk about the next generation of programming languages. For me it’s about being able to create frameworks in a more powerful way, not being restricted by language syntax.
One problem with Boo is that lack of tutorials and help to everyone that wants to [...]
Boo AstMacros explained
In this post I am going to explain how you write your own macros in Boo. Writing macros is a powerful way to use the compiler extensibility built into Boo. Macros in Boo actually let you create your own keywords which are resolved at compile time.
Before you read on, these posts might be useful to [...]
Boo AstAttributes explained
Writing extensions for Boo is a very powerful thing. In this post I’m going to explain how to write AstAttributes in Boo. These attributes are much more than normal .net attributes. They are one of the ways you can extend the Boo language.
Before you read on, these posts might be useful to read:
Boo Getting Started
Boo [...]
Boo extensions explained
Boo’s compiler extensibility means that you can write extensions that run in the compiler when your Boo code compiles. This powerful feature enables you to actually extend the Boo language itself. In this post I will try to explain what this basically means.
Say you want to make a new keyword in Boo, called “WriteHelloWorld” (yes, [...]
Why Microsoft should introduce compiler extensibility
At PDC08 I attended a presentation about “Contracts” (and Pex). “Contracts” is the result of the Spec# work. It is an attempt to enable Design by Contract (DbC) in .Net. Design by Contract is a concept popularized by Bertrand Meyer, and it is fully implemented and integrated in the language Eiffel.
Microsoft decided that DbC [...]
What makes Boo great?
About five years ago Rodrigo Barreto de Oliveira created the programming language Boo. It is a statically typed .Net language that incorporates some very interesting features not seen in any of the mainstream .net languages today.
What makes Boo cool?
The cool thing about Boo is its no nonsense approach. I really enjoy its focus on [...]
Boo: Getting started
Want to look into Boo? Let me give you a quick guide to getting the tools you need.
Development environment
For the time being I recommend you do your coding in Sharpdevelop. Download and install the latest here. You should also download the latest Boo-distro (the binaries), and move (and overwrite) the Boo-files into The sharpdevelop [...]

