Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Boo (programming language)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|none}} {{More citations needed|date=July 2011}} {{Infobox programming language | name = Boo | logo = [[File:BooLogo.png]] | paradigm = [[Object-oriented analysis and design|Object oriented]] | year = {{Start date and age|2003}} | designer = Rodrigo B. De Oliveira | developer = Mason Wheeler | latest_release_version = 0.9.7 | latest_release_date = {{Start date and age|2013|03|25|df=y}} | typing = [[static typing|static]], [[strong typing|strong]], [[Type inference|inferred]], [[duck typing|duck]] | implementations = | dialects = | influenced_by = [[C Sharp (programming language)|C#]], [[Python (programming language)|Python]] | influenced = Genie, [[Vala (programming language)|Vala]] | programming_language = [[C Sharp (programming language)|C#]] | platform = [[Common Language Infrastructure]] ([[.NET Framework]] & [[Mono (software)|Mono]])/ | license = [[BSD licenses|BSD 3-Clause]]<ref>{{cite web |url=https://github.com/bamboo/boo/blob/master/license.txt |title=license.txt |access-date=August 5, 2015 |website=github.com}}</ref> | website = {{URL|https://github.com/boo-lang}} }} '''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 |access-date=February 22, 2009 |url-status=dead |archive-url=https://web.archive.org/web/20090206045607/http://boo.codehaus.org/BooManifesto.pdf |archive-date=February 6, 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 was one of the three scripting languages for the [[Unity (game engine)|Unity game engine]] ([[Unity Technologies]] employed De Oliveira, its designer), until official support was dropped in 2014 due to the 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> The Boo Compiler was removed from the engine in 2017.<ref>{{cite web |url=https://blogs.unity3d.com/2017/08/11/unityscripts-long-ride-off-into-the-sunset/ |title=UnityScript's long ride off into the sunset |author=Richard Fine |date=August 11, 2017 |website=Unity Blogs}}</ref> Boo has since been abandoned by De Oliveira, with development being taken over by Mason Wheeler.<ref>{{cite web |url=https://github.com/boo-lang/boo/issues/201 |title=State of Boo Β· Issue #201 Β· boo-lang/boo |date=October 2, 2019 |website=GitHub |access-date=January 19, 2023}}</ref> Boo is [[free software]] released under the [[BSD licenses|BSD 3-Clause license]]. It is compatible with the [[Microsoft]] [[.NET Framework|.NET]] and [[Mono (software)|Mono]] frameworks. == Syntax == {{rewrite|2=section|date=May 2023}} <syntaxhighlight lang="boo"> print ("Hello World") </syntaxhighlight> <syntaxhighlight lang="boo"> 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}") </syntaxhighlight> == See also == {{Portal|Free and open-source software}} * [[Fantom (programming language)|Fantom]] * [[Groovy (programming language)|Apache Groovy]] * [[IronPython]] * [[IronRuby]] * [[Nemerle]] * [[REBOL]] * [[StaDyn (programming language)|StaDyn]] ==References== {{Reflist}} == External links == * [https://github.com/boo-lang/boo Official website] * [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://web.archive.org/web/20140521221019/http://protoman.net/index.php?p=bootorial%2Findex Bootorial] {{Common Language Infrastructure}} [[Category:Programming languages]] [[Category:.NET programming languages]] [[Category:Brazilian inventions]] [[Category:Class-based programming languages]] [[Category:Free and open source compilers]] [[Category:Object-oriented programming languages]] [[Category:Procedural programming languages]] [[Category:Programming languages created in 2003]] [[Category:Software using the BSD license]] [[Category:Statically typed programming languages]] [[Category:2003 software]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Common Language Infrastructure
(
edit
)
Template:Infobox programming language
(
edit
)
Template:More citations needed
(
edit
)
Template:Portal
(
edit
)
Template:Reflist
(
edit
)
Template:Rewrite
(
edit
)
Template:Short description
(
edit
)