Boo (programming language)
From Wikipedia, the free encyclopedia
| This article may require cleanup to meet Wikipedia's quality standards. Please improve this article if you can. (June 2007) |
| Boo | |
|---|---|
| Paradigm | Object oriented |
| Appeared in | 2003 |
| Designed by | Rodrigo B. De Oliveira |
| Developer | Rodrigo B. De Oliveira |
| Latest release | 0.8/ 2007-10-17 |
| Typing discipline | static, strong, duck |
| Major implementations | auyu6 |
| Influenced by | Python |
| OS | .NET Framework, Mono Runtime |
| License | MIT/BSD style license |
| Website | boo.codehaus.org |
Boo is an object oriented, statically typed programming language developed starting in 2003, which seeks to make use of the Common Language Infrastructure support for Unicode, internationalization and web style applications, while using a Python-inspired syntax and a special focus on language and compiler extensibility. Some features of note include type inference, generators, multimethods, optional duck typing, macros, true closures, currying, and first class functions.
Boo is open source–licensed under an MIT/BSD style license.
Boo can be used with Microsoft .NET or Mono.
Contents |
print "Hello, world!"
def fib(): a, b = 0L, 1L #The 'L's make the numbers 64-bit while true: yield b a, b = b, a + b # Print the first 5 numbers in the series: for index as int, element in zip(range(5), fib()): print("${index+1}: ${element}")
import System.Windows.Forms import System.Drawing class MyForm(Form): def constructor(message as string): b = Button(Text: "Click Me") b.Location = Point(100, 50) b.Click += do(): MessageBox.Show(message) self.Controls.Add(b) f = MyForm("you clicked the button!") Application.Run(f)
import System def run(): print("executing") print "started" result = run.BeginInvoke({ print("called back") }) System.Threading.Thread.Sleep(50ms) run.EndInvoke(result) print "done"
- IronPython - an implementation of Python for the .NET platform, similar to Jython.
- Nemerle - a high-level statically-typed programming language for the .NET platform. It offers functional, object-oriented and imperative features as well as macros.
- Groovy - a language with similar objectives but targeting the Java Platform
- Boo Homepage
- Boo Language Guide
- Boo Google discussion group
- Duck Typing - dynamic typing in boo
- "Gotchas" for Python users
- Boo Recipes, including:
Categories: Cleanup from June 2007 | All pages needing cleanup | Class-based programming languages | Free compilers and interpreters | Procedural programming languages | .NET programming languages | Object-oriented programming languages | Programming languages | Statically-typed programming languages