Boo (linguaxe de programación)

Boo é un linguaxe de programación orientada a obxectos, de tipos estáticos para a Common Language Infrastructure cunha sintaxe inspirada en Python e unha énfase na extensibilidad da linguaxe e o seu compilador. As súas características inclúen a inferencia de tipos, os xeradores, multimétodos, tipado pato opcional, macros, peches, currificación e funcións de primeira clase.

Boo é open source; ten unha licenza tipo MIT/BSD.

Boo intégrase sen fisuras con Microsoft.NET e Mono.
 Exemplos de código 

 Ola mundo 
 print "Ola Mundo"

 Función xeradora da Serie de Fibonacci 
 def fib():
     a as long, b as long = 0, 1
     while true:
         yield b
         a, b = b, a + b

 Exemplo simple de Windows Forms con clases, peches e eventos 
 import System.Windows.Forms
 import System.Drawing

 class MyForm(Form):
     def construtor():
         b = Button(Text: "Púlsame")
         b.Location = Point(100, 50)
         b.Click += def():
             MessageBox.Show("!pulsaches o botón!")
         self.Controls.Add(b)
 f = MyForm()
 Application.Run(f)

 Exemplo simple de Gtk# 
import System
import Gtk from "gtk-sharp"

public class MyWindow:
    def construtor():
        w = Gtk.Window("Ola Mundo")
            w.DeleteEvent += ExitWindow
        w.ShowAll()

    def ExitWindow(ou, args as DeleteEventArgs):
        Gtk.Application.Quit()

Gtk.Application.Init()
w = MyWindow()
Gtk.Application.Run()

 Patrón de deseño asíncrono cun peche 
 import System

 def run():
     print("en execución")

 print "arrincado"
 result = run.BeginInvoke({ print("reclamado") })
 System.Threading.Thread.Sleep(50ms)
 run.EndInvoke(result)

 print "fin"

 Currificación 
 plusX = { ás int | return { b as int | return a + b }}
 print plusX(3)(4)

 plusX é unha función que toma un enteiro a, que devolve outra función que toma un enteiro b e devolve a+b."

 Véxase tamén 
 Outros artigos 
 IronPython - un desenvolvemento de Python sobre CLI, análoga a Jython.
 Ligazóns externas 
 Páxina oficial de Boo 
 Grupo de discusión en Google  
 Exemplos de boo

Categoría:Linguaxes de programación