Boo (informática)
De Wikipedia, la enciclopedia libre
(Redirigido desde Boo (programación))
| Paradigma: | Orientado a objetos |
|---|---|
| Apareció en: | 2004 |
| Última versión: | 0.8.0 (25 de octubre 2007) |
| Influido por: | C#, Python |
| Sistema operativo: | Multiplataforma |
| Licencia de software: | MIT/BSD |
| Web: | boo.codehaus.org |
Boo es un lenguaje de programación orientado a objetos, de tipos estáticos para la Common Language Infrastructure con una sintaxis inspirada en Python y un énfasis en la extensibilidad del lenguaje y su compilador. Sus características incluyen la inferencia de tipos, los generadores, multimétodos, duck typing opcional, macros, cierres, currificación y funciones de primera clase.
Boo es open source; tiene una licencia tipo MIT/BSD.
Boo se integra sin fisuras con Microsoft.NET y Mono.
Contenido |
[editar] Ejemplos de código
[editar] Hola mundo
print "Hola Mundo"
[editar] Función generadora de la Serie de Fibonacci
def fib():
a as long, b as long = 0, 1
while true:
yield b
a, b = b, a + b
for index as int, element in zip(range(5), fib()):
print("${index+1}: ${element}")
[editar] Ejemplo simple de Windows Forms con clases, cierres y eventos
import System.Windows.Forms
import System.Drawing
class MyForm(Form):
def constructor():
b = Button(Text: "Púlsame")
b.Location = Point(100, 50)
b.Click += def():
MessageBox.Show("!has pulsado el botón!")
self.Controls.Add(b)
f = MyForm()
Application.Run(f)
[editar] Ejemplo simple de Gtk#
import System
import Gtk from "gtk-sharp"
public class MyWindow:
def constructor():
w = Gtk.Window("Hola Mundo")
w.DeleteEvent += ExitWindow
w.ShowAll()
def ExitWindow(o, args as DeleteEventArgs):
Gtk.Application.Quit()
Gtk.Application.Init()
w = MyWindow()
Gtk.Application.Run()
[editar] Patrón de diseño asíncrono con un cierre
import System
def run():
print("en ejecución")
print "arrancado"
result = run.BeginInvoke({ print("reclamado") })
System.Threading.Thread.Sleep(50ms)
run.EndInvoke(result)
print "fin"
[editar] Currificación
plusX = { a as int | return { b as int | return a + b }}
print plusX(3)(4)
- plusX es una función que toma un entero a, que devuelve otra función que toma un entero b y devuelve a+b."
[editar] Véase también
- IronPython - una implementación de Python sobre CLI, análoga a Jython.
[editar] Enlaces externos (en inglés)
- Página inicial de Boo
- Boo Language Guide
- Boo Google discussion group
- Duck Typing - dynamic typing in boo
- "Gotchas" for Python users
- Boo Recipes, including:

