Boo (lenguaje de programación)
lenguaje de programación
(Redirigido desde «Boo (programación)»)
Personal para ver está información se usará el código 34 para poder entrar 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, clausuras, currificación y funciones de primera clase.
Boo | ||
---|---|---|
Desarrollador(es) | ||
Rodrigo Oliveira http://boo-lang.org/ | ||
Información general | ||
Paradigma | Orientado a objetos | |
Apareció en | 2004 | |
Diseñado por | Rodrigo B. De Oliveira | |
Última versión estable | 0.9.7 (25 de marzo de 2013) | |
Influido por | C#, Python | |
Sistema operativo | Multiplataforma | |
Licencia | MIT/BSD | |
Boo es software de código abierto; tiene una licencia tipo MIT/BSD.
Boo se integra sin fisuras con Microsoft.NET y Mono.
Ejemplos de código
editarHola mundo
editarprint "Hola Mundo"
Función generadora de la Sucesión de Fibonacci
editardef 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}")
Ejemplo simple de Windows Forms con clases, cierres y eventos
editarimport 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)
Ejemplo simple de Gtk#
editarimport 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()
Patrón de diseño asíncrono con un cierre
editarimport System def run(): print("en ejecución") print "arrancado" result = run.BeginInvoke({ print("reclamado") }) System.Threading.Thread.Sleep(50ms) run.EndInvoke(result) print "fin"
Currificación
editarplusX = { 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."
Véase también
editar- IronPython - una implementación de Python sobre CLI, análoga a Jython.
Enlaces externos
editar- Sitio web de Boo
- Repositorio principal
- Antiguo sitio web de Boo
- Boo Google discussion group Archivado el 12 de octubre de 2008 en Wayback Machine.
- Ejemplos de boo