Boo (programming language)

From Wikipedia, the free encyclopedia

Template:Short description

Page Module:Message box/ambox.css has no content.

Page Module:Infobox/styles.css has no content.

Boo
Lua error in package.lua at line 80: module 'Module:InfoboxImage/data' not found.
ParadigmObject oriented
Designed byRodrigo B. De Oliveira
DeveloperMason Wheeler
First appeared2003; 23 years ago (2003)
Template:Infobox software/simple
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 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, 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.

Syntax

Page Module:Message box/ambox.css has no content.

print("Hello World")
import System.Collections.Generic

def fib() as IEnumerable[int]:
    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 as int in zip(range(5) as IEnumerable[int], fib() as IEnumerable[int]):
    print("${index+1}: ${element}")

See also

Lua error in mw.title.lua at line 404: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

References

Page Template:Reflist/styles.css has no content.

  1. ^ Page Module:Citation/CS1/styles.css has no content."license.txt". github.com. Retrieved August 5, 2015.
  2. ^ Page Module:Citation/CS1/styles.css has no content.Rodrigo Barreto de Oliveira (2005). "The boo Programming Language" (PDF). Archived from the original (PDF) on February 6, 2009. Retrieved February 22, 2009.
  3. ^ Page Module:Citation/CS1/styles.css has no content.aleksandr (September 3, 2014). "Documentation, Unity scripting languages and you". Unity Blogs.
  4. ^ Page Module:Citation/CS1/styles.css has no content.Richard Fine (August 11, 2017). "UnityScript's long ride off into the sunset". Unity Blogs.
  5. ^ Page Module:Citation/CS1/styles.css has no content."State of Boo · Issue #201 · boo-lang/boo". GitHub. October 2, 2019. Retrieved January 19, 2023.

Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.