Vala (lenguaje de programación)

Vala (lenguaje de programación)
Vala
Desarrollador(es)
Jürg Billeter, Raffaele Sandrini
http://live.gnome.org/Vala
Información general
Extensiones comunes .vala, .vapi, .gir, .c
Paradigma multiparadigma: orientado a objetos, imperativo, estructurado
Apareció en 2006
Última versión estable 0.13.1 (06 de julio de 2011[1] )
Dialectos Vala, Genie
Influido por C, C++, C#, Java
Sistema operativo Toda plataforma soportada por GLib
Licencia LGPL 2.1+

Vala es un lenguaje de programación creado con el objetivo de acercar las características de los lenguajes modernos a C, sin requisitos adicionales de tiempo de ejecución y con pocos costos, centrado en los objetos de la biblioteca GObject. Ha sido desarrollado por Jürg Billeter y Raffaele Sandrini. La sintaxis se inspira en C#, con leves modificaciones para adaptarse mejor al sistema de objetos de GObject.[2]

Para la gestión de memoria, GObject usa el sistema de conteo de referencias. En C, el programador debe gestionar la adición y la eliminación de referencias a mano, en cambio, en Vala, la gestión de estas referencias es automática, siempre que el programador use los tipos referenciales incluidos en el lenguaje en lugar de usar punteros comunes. El único detalle del que debe preocuparse es de evitar que se generen listas circulares, pues en ese caso este sistema de gestión de memoria no funcionará correctamente.

Valac, el compilador de Vala, traduce el código Vala en código C, un lenguaje intermedio (tal como hacen Java o C#), en lugar de ser compilado directamente en ensamblador, que luego puede compilarse en cualquier plataforma soportada por GLib, con cualquier compilador de C estándar.

Además, Valac también admite otra sintaxis de entrada, es el caso de Genie, que funciona de la misma forma que Vala pero con una sintaxis inspirada en Python.[3] De hecho, Vala y Genie pueden ser usados juntos para crear un mismo programa.

Contenido

Controversia ante el futuro de GNOME

El lenguaje Vala compite en contraposición a Mono, una implementación abierta de C#, por formar parte activa en el núcleo de GNOME, ante la necesidad de éste de reducir su complejidad con un lenguaje moderno. La disputa comienza a ser intensa en listas de correo y foros de opinión, pero no existe un posicionamiento oficial sobre el tema por parte de los desarrolladores.

Los partidarios de Vala argumentan con su gran rendimiento junto con la posibilidad de un bloqueo de patentes a Mono por parte de Microsoft; en cambio los partidarios de Mono afirman que Vala es un lenguaje inmaduro y sin apenas documentación.

Ejemplos de código

El programa más simple "Hola mundo":

void main() {
    stdout.printf("Hola mundo\n");
}

Otro "Hola mundo" más avanzado:

public class Ejemplo.HolaMundo : GLib.Object {
    public static int main(string[] args) {
        stdout.printf("Hola mundo\n");
        return 0;
    }
}

Un ejemplo más complejo, mostrando algunas de las características de la orientación a objetos de Vala:

public class Ejemplo.HolaMundo : GLib.Object {
    public void saludar() {
        stdout.printf("Hola mundo\n");
    }
    public static int main(string[] args) {
        var ejemplo = new Ejemplo.HolaMundo();
        ejemplo.saludar();
        return 0;
    }
}

Véase también

Referencias

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Поможем написать курсовую

Mira otros diccionarios:

  • Lenguaje de programación C — Saltar a navegación, búsqueda C Paradigma: Imperativo (Procedural) Apareció en: 1972 Diseñado por: Dennis M. Ritchie Tipo de dato: Débil, Estático Implementaciones …   Wikipedia Español

  • Genie (lenguaje de programación) — Genie Desarrollador(es) live.gnome.org/Genie Información general Extensiones comunes .gs …   Wikipedia Español

  • C (lenguaje de programación) — Para el libro, véase El lenguaje de programación C. Para otros usos de este término, véase C (desambiguación). C Desarrollador(es) Dennis Ritchie y Bell Labs Información general …   Wikipedia Español

  • Programación orientada a objetos — La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo… …   Wikipedia Español

  • Vala — El nombre Vala puede hacer referencia a: Völva o Vala, una sacerdotisa de la mitología escandinava; el asteroide 131 de la serie, llamado Vala en honor a la anterior; los valar (singular vala), seres espirituales de ficción en algunas obras de J …   Wikipedia Español

  • C Sharp — Saltar a navegación, búsqueda El título de este artículo se muestra incorrectamente debido a limitaciones técnicas. El título correcto es C#. C Sharp Paradigma: Orientado a objetos Apareció en: 2001 Diseñado por: Microsoft Corporation Última… …   Wikipedia Español

  • Proyecto Mono — Saltar a navegación, búsqueda Mono Archivo:C:mono.jpg Desarrollador Novell http://www.mono project.com …   Wikipedia Español

  • Waf — Desarrollador Thomas Nagy http://code.google.com/p/waf/ Información general Última versión estable 1.5.18 6 de julio de 2010 …   Wikipedia Español

  • Inferencia de tipos — Los tipos de inferencia es una característica predominante de los lenguajes de programación funcionales tales como ML, Haskell, C#, Vala y Ocaml. La inferencia de tipos asigna automáticamente un tipo de datos a una función sin necesidad de que el …   Wikipedia Español

  • Shotwell — 0.7 en Ubuntu …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”