Genie (lenguaje de programación)
| Genie | |
|---|---|
| Desarrollador(es) | |
live.gnome.org/Genie |
|
| 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.10.1 (26 de octubre de 2010) |
| Tipo de dato | 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 sólo de GLib.
Índice |
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 sólo 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!"
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 togetherPlantilla:Idioma=inglés