Introducción

Info!

Este sitio es una réplica de la Wiki Genie Doc, publicada originalmente en http://genie.webierta.skn1.com.

Después de la repentina desaparición del servidor que alojaba la publicación original, no ha sido posible restablecer íntegramente la última copia de seguridad, y actualmente estamos en proceso de rescatar y organizar los contenidos a partir de los fragmentos salvados e incluso desde la caché gracias a Internet Archive (The Wayback Machine).

Por tanto, no es posible asegurar que se haya conseguido recuperar en su totalidad la última versión publicada, pero al menos se ha logrado salvar la mayor parte de la Wiki, manteniendo en lo posible tanto los contenidos como el diseño originales.

Tabla de Contenidos

Qué es Genie

Genie es un lenguaje de programación de alto nivel derivado de Vala cuya sintaxis se asemeja a numerosos lenguajes modernos como Python, Boo, D y Delphi. Apareció en 2008 diseñado por Jamie McCracken y desarrollado y promovido desde el proyecto GNOME. En octubre de 2016 marzo de 2017 se ha publicado su última versión estable (0.34.2 0.36.0) bajo licencia LGPL 2.1+.

News!

Última versión estable: 0.38.8 publicada en febrero de 2018.

Según algunos autores, Genie preserva la funcionalidad del lenguaje Vala al mismo tiempo que ofrece una sintaxis más simple y limpia, que a mi me recuerda en cierto modo a Python. Una forma implificada (todavía más que Vala) de escribir código C.

Así se consigue un lenguaje más fácil de escribir y de leer que Vala (aunque no tanto como Python), pero al mismo tiempo, como Vala, permite el acceso a las bibliotecas de C y es capaz de crear y utilizar GObjects de forma nativa sin imponer requisitos adicionales de tiempo de ejecución (es decir, a diferencia de Python, Java o Mono, Genie no requiere una máquina virtual).

Si yo lo entiendo bien y dicho a lo bestia, durante la compilación (con el compilador de vala) el código escrito con Genie se traduce a código C, lo cual permite el desarrollo de software multiplataforma.

En definitiva, un lenguaje compilado más rápido y eficiente que los lenguajes interpretados (como Python) pero con una estética similar a ellos que facilita su aprendizaje.

Sobre esta Wiki

El autor y principal responsable de la Wiki 'Genie Doc' es Jesús Cuerda Villanueva.

Aunque inicialmente esta Wiki se desarrolló para uso personal con intención de servirme de referencia y organizar los apuntes recopilados sobre Genie, actualmente está sirviendo para divulgar este lenguaje de programación y como apoyo a quienes empiezan a escribir sus primeras líneas de código con Genie.

Básicamente, la Wiki puede ser utilizada de dos maneras: como consulta de un tema concreto, o bien para iniciarse en este lenguaje de programación. Para quienes se encuentran en este segundo caso, se ha intentado (aunque no siempre se ha conseguido) ofrecer los contenidos según un criterio de creciente complejidad para que la Wiki puede ser seguida de principio a fin de manera didácticamente coherente. Este afán pedagógico ha impulsado la inclusión de numerosos ejemplos de código para reforzar el contenido teórico.

El contenido de esta Wiki se ofrece abiertamente (CC Attribution 4.0 International) y eres libre para compartirlo —copiar y redistribuir el material en cualquier medio o formato— y adaptarlo —remezclar, transformar y crear a partir del material original— para cualquier finalidad siempre que reconozcas adecuadamente la autoría con, al menos, un enlace a esta Wiki.

En la preparación de esta Wiki se ha hecho todo lo posible para asegurar la exactitud de la información presentada. Sin embargo, la información contenida se ofrece sin garantía, ya sea expresa o implícita. El autor no es responsable de ningún daño causado o presuntamente causado directa o indirectamente por el contenido de esta Wiki (si Genie se come a tu perro yo no tengo la culpa).

Aunque tanto Vala como Genie son desarrollados y promovidos por el proyecto Gnome, los programas desarrollados con Genie son multiplataforma puesto que básicamente requieren una biblioteca genérica (Glib). No obstante, como usuario de linux, en esta Wiki me centraré casi en exclusiva en cuestiones referentes a distribuciones linux (y más específicamente en Debian o derivadas) que son el entorno donde yo experimento directamente con Genie.

Salvo de que se avise de lo contrario, esta Wiki está en continuo proceso de desarrollo y revisión y abierta a la colaboración de otros.

🔝