title: Genie (lenguaje de programación)
text: # Genie (lenguaje de programación)
  
  Genie es un lenguaje de programación de alto nivel, moderno, y de propósito general en desarrollo activo desde el año 2008. 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.
  
  # Genie (lenguaje de programación)
  ## Diferencias con Vala
  
  Genie usa el mismo compilador y bibliotecas que Vala; de hecho, los dos se pueden utilizar juntos. Las diferencias son solo sintácticas.
  
  # Genie (lenguaje de programación)
  ## Sangría
  
  Como un lenguaje que toma a Python como referencia, Genie utiliza espacios en blanco o tabuladores en lugar de llaves para delimitar bloques.
  
  # Genie (lenguaje de programación)
  ## Ejemplos de código
  ### Un simple "Hola Mundo"
  
  En este ejemplo se utiliza de forma explícita cuatro espacios para el sangrado.
  Otro ejemplo:
  
  # Genie (lenguaje de programación)
  ## Ejemplos de código
  ### Objetos
  
  Sin ninguna declaración explícita para el sangrado, por defecto se usa la tabulación.