Jump to content

Boo (programming language): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
Rescuing 2 sources and tagging 0 as dead. #IABot (v1.4.2)
Line 21: Line 21:
}}
}}


'''Boo''' is an [[Object oriented programming|object-oriented]], [[Type system#Static typing|statically typed]], [[general-purpose programming language]] that seeks to make use of the [[Common Language Infrastructure]]'s support for [[Unicode]], [[I18n|internationalization]], and web applications, while using a [[Python (programming language)|Python]]-inspired syntax<ref>{{cite web | url = http://boo.codehaus.org/BooManifesto.pdf | title = The boo Programming Language | author = Rodrigo Barreto de Oliveira | year = 2005 | format = [[PDF]] | accessdate = February 22, 2009}}</ref> and a special focus on language and compiler extensibility. Some features of note include [[type inference]], [[generator (computer science)|generators]], [[multimethods]], optional [[duck typing]], [[Macro (computer science)|macros]], true [[Closure (computer science)|closures]], [[currying]], and [[first-class function]]s.
'''Boo''' is an [[Object oriented programming|object-oriented]], [[Type system#Static typing|statically typed]], [[general-purpose programming language]] that seeks to make use of the [[Common Language Infrastructure]]'s support for [[Unicode]], [[I18n|internationalization]], and web applications, while using a [[Python (programming language)|Python]]-inspired syntax<ref>{{cite web | url = http://boo.codehaus.org/BooManifesto.pdf | title = The boo Programming Language | author = Rodrigo Barreto de Oliveira | year = 2005 | format = [[PDF]] | accessdate = February 22, 2009 | deadurl = yes | archiveurl = https://web.archive.org/web/20090206045607/http://boo.codehaus.org/BooManifesto.pdf | archivedate = February 6, 2009 | df = }}</ref> and a special focus on language and compiler extensibility. Some features of note include [[type inference]], [[generator (computer science)|generators]], [[multimethods]], optional [[duck typing]], [[Macro (computer science)|macros]], true [[Closure (computer science)|closures]], [[currying]], and [[first-class function]]s.


Boo was one of the three scripting languages for the [[Unity (game engine)|Unity game engine]] ([[Unity Technologies]] employed De Oliveira), until it was dropped in 2014 due to small userbase.<ref>{{cite web| url=https://blogs.unity3d.com/2014/09/03/documentation-unity-scripting-languages-and-you/| title=Documentation, Unity scripting languages and you| author=aleksandr| date=September 3, 2014| website=Unity Blogs}}</ref>
Boo was one of the three scripting languages for the [[Unity (game engine)|Unity game engine]] ([[Unity Technologies]] employed De Oliveira), until it was dropped in 2014 due to small userbase.<ref>{{cite web| url=https://blogs.unity3d.com/2014/09/03/documentation-unity-scripting-languages-and-you/| title=Documentation, Unity scripting languages and you| author=aleksandr| date=September 3, 2014| website=Unity Blogs}}</ref>
Line 71: Line 71:
*[http://jbryankelly.files.wordpress.com/2012/07/thinksciboorev2_hb.pdf How To Think Like a Computer Scientist: Learning to Program with Boo]
*[http://jbryankelly.files.wordpress.com/2012/07/thinksciboorev2_hb.pdf How To Think Like a Computer Scientist: Learning to Program with Boo]
*[https://docs.google.com/file/d/0B8oSXKT4_sy7ZERmYnozaFlTY2M/edit?usp=sharing.pdf Boo Succinctly Revealed]
*[https://docs.google.com/file/d/0B8oSXKT4_sy7ZERmYnozaFlTY2M/edit?usp=sharing.pdf Boo Succinctly Revealed]
*[https://web.archive.org/web/20140521221019/http://protoman.net:80/index.php?p=bootorial/index Bootorial]
*[https://web.archive.org/web/20140521221019/http://protoman.net/index.php?p=bootorial%2Findex Bootorial]
*[http://www.sieda.com/de-wAssets/en/docs/products/Boo-distrib/ “Inofficial” release of binaries 0.9.6.1]
*[http://www.sieda.com/de-wAssets/en/docs/products/Boo-distrib/ “Inofficial” release of binaries 0.9.6.1]



Revision as of 10:09, 23 July 2017

Boo
ParadigmObject oriented
Designed byRodrigo B. De Oliveira
DeveloperRodrigo B. De Oliveira
First appeared2003; 22 years ago (2003)
Stable release
0.9.7 / 25 March 2013; 11 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, boo-lang.org
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), until it was dropped in 2014 due to small userbase.[3]

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

Code samples

Hello world program

print "Hello World!"

Fibonacci series generator function

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

References

  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. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  3. ^ aleksandr (September 3, 2014). "Documentation, Unity scripting languages and you". Unity Blogs.