10

trying to get a side project hobby going to keep me motivated from my 9-5 job on C# and was looking at Boo. some ?'s

  • what has your experience being with Boo?
  • what kind of apps/projects have you done with Boo or
  • what is Boo capable of?

Guess being the web world, would like to get my hands dirty with desktop applications etc.

Robert P
  • 15,707
  • 10
  • 68
  • 112

6 Answers6

5

My personal experiences with Boo were from about 18 months back, and I've not followed it actively since then, so keep that in mind wrt to what I say. It is a cool language. But it is also experimental. What this means in practical terms:

  • You can do cool things w/ the language. The macros they allow, plus mixing in good features from ruby and python and other languages.
  • There is a WinForms designer you can use via SharpDevelop (which has Boo integrated as a standard development language).
  • There inconsistencies and bugs at occasionally critical areas because it is not done yet.

  • I'm not sure if Generics can be created yet w/ Boo, but they certainly can be consumed.

  • Performance is good, but the compiler doesn't have an optimizer.

  • Type inference is cool. Duck typing is cool. All that lets you approach the illusion of dynamic typing.

Personally, I worked on a tool to make creative writing easier. Think IDE for writers.

torial
  • 13,085
  • 9
  • 62
  • 89
3

While it only uses Boo as the implementation language (rather than being fundamentally about Boo), have you read Ayende's "Building Domain Specific Languages in Boo"? It's not fully published yet, but you can get an early access edition.

I haven't had time to look carefully at Boo yet, but the main advantages over C# 3 (which gained some of Boo's features) appear to be terseness (lots of type inference) and metaprogramming.

Jon Skeet
  • 1,421,763
  • 867
  • 9,128
  • 9,194
3

Boo is very powerful tool for DSL creation (external and internal)

Internal DSLs can be created using Macros, Meta-methods and extendable compiler pipeline. The extension of Boo language - Boo.OMeta.Parser can be used to create external DSLs.

Currently the parser is under development but it can already be used for creation of complex external DSLs. OMeta is powerful tool which enables programmers to easily implement lexical analyzers and parsers. Extendable compiler pipeline architecture of Boo allows to replace standard Boo.Parser with Boo.OMeta.Parser. It can be used to extend Boo syntax with almost any kind of syntax. The example can be find here.

Maxim Trushin
  • 121
  • 1
  • 2
2

Some usages that really fit the dynamic mindset of Boo:

Mauricio Scheffer
  • 98,863
  • 23
  • 192
  • 275
  • Now that's some archeology ;) But I agree; being able to shell in to a live app is a huge win--this is one thing that I've missed from my Lisp days, it's cool that several frameworks enable this easily these days. – Dave Newton Apr 28 '12 at 14:43
2

I am working a side-project with Boo to implement a declarative data-binding macro. The language is pretty cool! It is giving me some experience in compiler construction that I haven't had.

Just for fun I am working with Boo on Mono on Ubuntu 8.10.

Norman H
  • 2,248
  • 24
  • 27
1

You should have a look at some of Boo's interesting language features.

Ferruccio
  • 98,941
  • 38
  • 226
  • 299
Mark Cidade
  • 98,437
  • 31
  • 224
  • 236