Programación en Vala/Introducción

De Wikilibros, la colección de libros de texto de contenido libre.

Introducción[editar]

El lenguaje de programación Vala es un proyecto relativamente nuevo y por ello está sujeto a cambios. Este libro intentará transmitir lo mejor posible cuales son los objetivos que persigue este lenguaje de programación y los convenios que se deben seguir cuando se desarrolla con este lenguaje de programación.

¿Qué es Vala?[editar]

Vala es un nuevo lenguaje de programación que permite usar técnicas de programación modernas para desarrollar aplicaciones que se ejecutan usando las bibliotecas de GNOME, aunque también es posible ejecutarlo en otros sistemas operativos y entornos gráficos, debido a sus bajas dependencias (GLib y GObject). Esta plataforma de desarrollo provee de un entorno completo de programación; con funcionalidades como el sistema de tipos dinámicos y el gestor de memoria asistida. Antes de la existencia de Vala, la única forma de programar para la plataforma era con la API nativa de C, o utilizando un lenguaje de programación de alto nivel que usan máquinas virtuales, como Python o C#, que necesitan un wrapper para usar esa biblioteca.

Vala es un lenguaje totalmente diferente de otros lenguajes y otras técnicas, ya que el compilador genera código en lenguaje C, que puede ser compilado para ser ejecutado sin ninguna biblioteca extra ni wrappers intermediarios. Esto tiene una serie de consecuencias, pero entre las mas importantes se encuentran:

  1. Los programas escritos en Vala debería tener un desempeño similar al mismo programa directamente escrito en lenguaje C. Siendo mucho más fácil y rápido de escribir y mantener.
  1. Una aplicación escrita en Vala no puede hacer nada que un programa equivalente escrito en lenguaje C no pueda hacer. Sin embargo Vala introduce una serie de funcionalidades que no están disponibles en C, las cuales se mapean en construcciones escritas en C, siendo estas últimas difíciles y complejas de escribir directamente.

Vala es, por lo tanto, un lenguaje de programación moderno con todas las funcionalidades que se puede esperar de una plataforma actual (Python, .NET, etc).

¿A quién va dirigido este libro?[editar]

Este libro no está pensado para aprender los conceptos de programación básicas (para eso existen libros que puede consultar). Este libro va dirigido a aquellos que quieran aprender a usar este lenguaje de programación y algunas de las bibliotecas que existen para el sistema. Se aconseja conocer algún lenguaje de programación y en concreto un lenguaje de programación orientado a objetos.

Vala comparte bastante sintaxis con C#, pero algunas otras no se corresponden con construcciones de este lenguaje, por tanto no se entrará en comparación a menos que sea necesario, para evitar que este libro esté enfocado a programadores de C#.

También sería conveniente que el lector tuvieras nociones de C, aunque esto no es necesario en sí mismo, es importante darse cuenta que Vala realmente se ejecuta como un programa escrito en C compilado, y puede interactuar con bibliotecas escritas en C. Por tanto un conocimiento de C puede hacer comprender el funcionamiento de Vala.

Convenciones del lenguaje[editar]

El código irá en formato wiki normal al igual que los comandos necesarios para compilar y ejecutar los programas. El código irá acompañado de comentarios explicativos siempre que sea necesario para entenderlo.