jueves, abril 28, 2005

 

Boo... el fantasma de Python.

¿Han visto Boo?

Muchos sabrán que yo no soy un gran amante de Python. Entre las cosas que me disgustan están la lentitud de ejecución y la falta de verificación estática en las llamadas a los métodos.

Bueno, me enteré que no soy el único - eso era evidente en realidad :-), y que existe una comunidad de desarrolladores que han creado un nuevo lenguaje, basado en Python pero ligado a .NET (o a Mono, como se quiera decir).

Este es Boo, y ya es posible usarlo para desarrollar programas en serio, por ejemplo usando Mono en Linux.

Un ejemplo:

import Gtk from "gtk-sharp"

def pres():
print "Hola"

def salir():
print "Chao!"
Application.Quit()

Gtk.Application.Init()
w = Gtk.Window("Ejemplo")
b = Gtk.Button("Presioname")
w.Add(b)
w.BorderWidth=10
b.Clicked+=pres
w.DeleteEvent+=salir
w.ShowAll()

Gtk.Application.Run()

Para ejecutar el ejemplo, pueden usar directamente el intérprete de Boo: 'booi ejemplo.boo', o si no puede compilarse: 'booc ejemplo.boo', lo que genera un ejecutable de .NET, 'ejemplo.exe'

Un ejemplo de sesión es:

~/devel/dotnet/boo/ejemplos$ booc example.boo
~/devel/dotnet/boo/ejemplos$ ./example.exe
Hola
Chao!
~/devel/dotnet/boo/ejemplos$
Como se ve, es similar a Python usando pygtk, pero a mi juicio bastante más simple.

El mismo código en Python sería así:

import gtk
from gtk import *

def pres(o):
print "Hola"

def salir(a,b):
print "Chao!"
gtk.main_quit()

w = Window()
w.set_title("Ejemplo")
b = Button("Presioname")
w.add(b)
w.set_border_width(10)
b.connect('clicked',pres)
w.connect('delete_event',salir)
w.show_all()
gtk.main()

Además del hecho de que prefiero BorderWidth=10 a set_border_width(10), Boo tiene muchas otras cosas que me gustan:

Por último, existe ya un plugin para desarrollar en Boo usando MonoDevelop, lo que significa que el depurador integrado, la sugerencia de código y la generación de plantillas funciona. Y más encima, el código generado es multi-plataforma (si se usa gtk#, obviamente).

Si alguien quiere ayuda para instalar en Linux, usando Mono, pregunten.

Comments:
Vaya! Es interesante, para los que estamos a medio amor entre python y c#/mono esto es bonito. No sé si lo llegaré a utilizar para cosas serias pero te aseguro que voy a hacer unas cuantas chapuzas con esto!! ;-)
 
hola por lo que estuve leyendo realizaste una charla en la ucentral sobre gtk.
soy newbie en esto tengo slack11 y me gustaria hacer algun proyectillo con glade pythoon y eso.
es por eso k buske info de como unir glade con python pero no encontre mucha, pero no me desilucione ni nada sigo buscando es por eso k os pregunto a usted master k me puede aconsejar o si puede mandar info pa leer
esop
espero no moleste mi inkietud
k te bien
xaleko!!

mi mail por si acaso atomonuclear@gmail.com
 
hola, podrías explicar como leer un archivo ".glade" y utilizarlo en boo.
Muchas gracias y excelente el trabajo!!
 
Publicar un comentario

<< Home

This page is powered by Blogger. Isn't yours?