Boo (programming language): Difference between revisions

Content deleted Content added
No edit summary
Paisen20 (talk | contribs)
 
(17 intermediate revisions by 12 users not shown)
Line 1:
{{Short description|none}}
{{moreMore 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 = [[Rodrigo B. De Oliveira]] = 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 (programming language)| = 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 itofficial 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> Despite official support forThe Boo ending, the language could still be used in Unity, until the Boo compilerCompiler 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.
 
== Code samplesSyntax ==
{{rewrite|2=section|date=May 2023}}
 
=== Hello world program ===
<syntaxhighlight lang="boo">
print ("Hello World")
</syntaxhighlight>
 
=== Fibonacci series generator function ===
 
<syntaxhighlight lang="boo">
def fib():
a, b = 0L, 1L
# The 'L's make the numbers double word length (typically 64 bits)
while true:
yield b
Line 56 ⟶ 55:
* [[Nemerle]]
* [[REBOL]]
* [[StaDyn|StaDyn (programming language)|StaDyn]]
 
==References==
{{Reflist}}
 
== External links ==
<references/>
 
* [https://github.com/boo-lang/boo Official website]
==External links==
* [http://jbryankelly.files.wordpress.com/2012/07/thinksciboorev2_hb.pdf How To Think Like a Computer Scientist: Learning to Program with Boo]
*[https://github.com/boo-lang Official website]
* [https://docs.google.com/file/d/0B8oSXKT4_sy7ZERmYnozaFlTY2M/edit?usp=sharing.pdf Boo Succinctly Revealed]
*[https://web.archive.org/web/20151225214729/http://boo-lang.org/ WaybackMachine Official website]
* [https://web.archive.org/web/20140521221019/http://protoman.net/index.php?p=bootorial%2Findex Bootorial]
*[https://github.com/boo-lang/ The sources of Boo hosted on GitHub]
*[https://github.com/boo-lang/boo/wiki The documentation of Boo hosted on GitHub]
*[https://web.archive.org/web/20131213022040/http://visualstudiogallery.msdn.microsoft.com/8d15c62f-de0d-42f0-863a-daa8330d977a Visual Boo, for Visual Studio 2010]
*[http://boolangstudio.codeplex.com/ BooLangStudio VSIP for Visual Studio 2008]
*[http://www.icsharpcode.net/OpenSource/SD/ #develop free IDE for C#, VB.NET and Boo projects on Microsoft's .NET platform]
*[http://vs2010boo.codeplex.com/ Boo syntax highlighting for Visual Studio 2010]
*[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}}
Line 81 ⟶ 73:
[[Category:Brazilian inventions]]
[[Category:Class-based programming languages]]
[[Category:Free compilers and interpretersopen source compilers]]
[[Category:Object-oriented programming languages]]
[[Category:Procedural programming languages]]