You should read Boo's manifesto to start to grasp what this nice language is about.
Boo is a new object oriented statically typed programming language ... with a python inspired syntax and a special focus on language and compiler extensibility.
Boo's syntax is very readable and quite expressive mixing imperative, object oriented and functional idioms. One of the motos of the language is that if the compiler can figure out what you want it should, avoiding the need for verbose and repeatitive syntax.
One nice feature of Boo is that it's statically typed but allows the developer to opt-out of it and use dynamic typing when needed. This means that it's possible to build a large statically typed code base with it but still offer a dynamic feeling, integrating nicely with external libraries. Moreover it supports type inference so most of the time you end up writing type checked code without noticing it.
The compiler works in Windows, Mac and Linux using the .Net or Mono runtimes.
- .Net 2.0 or Mono 2.x
$ ./boojs <file>.boo
- Imperative idioms - 85%
- Functional idioms - 30%
- Closures (annonymous functions) - 60%
- Namespaces and packaging
- Method Overloading
- Events (Delegation / Observer pattern)
- Source Maps - 40%
- Meta-programming (Macros, Syntactic attributes) - 50%
- Preprocessor - 10%
- Reduce the size of the runtime by making the compiler more intelligent
- Generators - 10%
- Operator overloading - 15%
- Support for optional and named params