Boo (programming language)

From Wikipedia, the free encyclopedia
  (Redirected from Boo programming language)
Jump to navigation Jump to search
Paradigm Object oriented
Designed by Rodrigo B. De Oliveira
Developer Rodrigo B. De Oliveira
First appeared 2003; 15 years ago (2003)
Stable release
0.9.7 / 25 March 2013; 5 years ago (2013-03-25)
Typing discipline static, strong, inferred, duck
Implementation language C#
Platform Common Language Infrastructure (.NET Framework & Mono)/
License BSD 3-Clause[1]
Influenced by
C#, Python
Genie, Vala

Boo is an object-oriented, statically typed, general-purpose programming language that seeks to make use of the Common Language Infrastructure's support for Unicode, internationalization, and web applications, while using a Python-inspired syntax[2] 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 was one of the three scripting languages for the Unity game engine (Unity Technologies employed De Oliveira), until it was dropped in 2014 due to the small userbase.[3]

Boo is free software released under the BSD 3-Clause license. It is compatible with the Microsoft .NET and Mono frameworks.

Code samples[edit]

Hello world program[edit]

print "Hello World!"

Fibonacci series generator function[edit]

def fib():
    a, b = 0L, 1L       # The 'L's make the numbers double word length (typically 64 bits)
    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}")

See also[edit]


  1. ^ "license.txt". Retrieved August 5, 2015. 
  2. ^ Rodrigo Barreto de Oliveira (2005). "The boo Programming Language" (PDF). Archived from the original (PDF) on February 6, 2009. Retrieved February 22, 2009. 
  3. ^ aleksandr (September 3, 2014). "Documentation, Unity scripting languages and you". Unity Blogs. 

External links[edit]