Boo (programming language)

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
BooLogo.png
ParadigmObject oriented
Designed byRodrigo B. De Oliveira
DeveloperMason Wheeler
First appeared2003; 20 years ago (2003)
Stable release
0.9.7 / 25 March 2013; 9 years ago (2013-03-25)
Typing disciplinestatic, strong, inferred, duck
Implementation languageC#
PlatformCommon Language Infrastructure (.NET Framework & Mono)/
LicenseBSD 3-Clause[1]
Websitegithub.com/boo-lang
Influenced by
C#, Python
Influenced
Genie, Vala

Boo was one of the three scripting languages for the Unity game engine (Unity Technologies employed De Oliveira, its designer), until official support was dropped in 2014 due to the small userbase.[3] The Boo Compiler was removed from the engine in 2017.[4] Boo has since been abandoned by De Oliveira, with development being taken over by Mason Wheeler.[5]

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

Code samplesEdit

Hello world programEdit

print ("Hello World")

Fibonacci series generator functionEdit

def fib():
    a, b = 0L, 1L   h
    # 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 alsoEdit

ReferencesEdit

  1. ^ "license.txt". github.com. 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.
  4. ^ Richard Fine (August 11, 2017). "UnityScript's long ride off into the sunset". Unity Blogs.
  5. ^ "State of Boo · Issue #201 · boo-lang/boo". GitHub. October 2, 2019. Retrieved January 19, 2023.

External linksEdit