Genie (lenguaje de programación)
Genie | ||
---|---|---|
Desarrollador(es) | ||
? | ||
Información general | ||
Extensiones comunes | .gs | |
Paradigma | Multiparadigma: imperativo, estructurado, orientado a objetos | |
Apareció en | 2008 | |
Diseñado por | Jamie McCracken | |
Última versión estable | 0.52.3 (01 de mayo de 2021) | |
Sistema de tipos | Fuerte, Estático | |
Influido por | Python, Boo, D, Delphi | |
Sistema operativo | Toda plataforma con GLib | |
Licencia | LGPL 2.1+ | |
Genie es un lenguaje de programación de alto nivel, moderno, y de propósito general en desarrollo activo desde el año 2008.[1] Fue diseñado como un dialecto alternativo más simple y limpio para el compilador Vala, preservando al mismo tiempo la misma funcionalidad del lenguaje Vala. La sintaxis de Genie se deriva de numerosos lenguajes modernos como Python, Boo, D y Delphi.
Al igual que Vala, Genie usa el sistema de tipos GObject para crear clases e interfaces declaradas en el código fuente de Genie, sin imponer requisitos adicionales de tiempo de ejecución (es decir, a diferencia de Python, Java o Mono, este no requiere una máquina virtual).
Genie permite el acceso a las bibliotecas de C, especialmente las basadas en GObject (como GTK+), sin necesidad de utilizar otro API. Durante la compilación, el código se traduce primero a código fuente y cabeceras de C, que se compilan entonces al código de máquina con cualquier compilador C disponible como GCC, lo cual permite el desarrollo de software multi-plataforma.
Aunque tanto Vala como Genie son desarrollados y promovidos por el proyecto Gnome, los programas desarrollados en Genie no dependen del entorno de escritorio Gnome, y usualmente requieren solo de GLib.
Diferencias con Vala
[editar]Genie usa el mismo compilador y bibliotecas que Vala; de hecho, los dos se pueden utilizar juntos.[2] Las diferencias son solo sintácticas.
Sangría
[editar]Como un lenguaje que toma a Python como referencia, Genie utiliza espacios en blanco o tabuladores en lugar de llaves para delimitar bloques.
Ejemplos de código
[editar]Un simple "Hola Mundo"
[editar]En este ejemplo se utiliza de forma explícita cuatro espacios para el sangrado.
[indent = 4]
init
print "Hola, mundo!"
Otro ejemplo:
init
a:int = 0
if (a > 0)
print "a es mayor que 0"
else
print "a no es mayor que 0"
Objetos
[editar]Sin ninguna declaración explícita para el sangrado, por defecto se usa la tabulación.
class Ejemplo
def run()
stdout.printf("Hola, mundo!\n")
init
var ejemplo = new Ejemplo()
ejemplo.run()
Referencias
[editar]- ↑ Jamie McCracken (ed.). «Introducing Genie - the smart programming language» (en inglés). Consultado el 13 de junio de 2010.
- ↑ Using Genie and Vala together (en inglés).
Enlaces externos
[editar]- Página principal de Genie (en inglés)
- Página principal de Vala (en inglés)
- Página de Barry Kauler sobre Genie (en inglés)
- Página de Nicolas Joseph con muchos ejemplos de código
- Documentación de la API
- Charla IRC sobre Genie en Gnome hispano, febrero de 2010
- Código de Genie para principiantes
- Genie Doc