Обзор языка программирования Vala.

Алексей Снастин

В этой серии статей рассматривается язык программирования Vala, ориентированный на использование в графической среде Gnome. В первой статье даётся общее представление о Vala, как о языке программирования высокого уровня, и некоторых его особенностях. Вторая часть посвящена объектно-ориентированному программированию (ООП) на Vala, а завершит цикл статья о расширенных возможностях языка и штатных инструментальных средствах. Ещё один язык программирования... Не торопитесь с выводами: во-первых, создание нового языка является попыткой более эффективно решить определённую задачу и, возможно, именно это решение вы сочтёте самым лучшим. Во-вторых, по мнению опытных программистов, для повышения квалификации необходимо изучать по меньшей мере один новый язык в год.

Что, почему и зачем

Юрг Биллетер [Jürg Billeter] и Раффаэле Сандрини [Raffaele Sandrini] начали разрабатывать язык программирования Vala в 2006 году, чтобы сделать доступными современные технологии для разработчиков приложений на основе библиотек среды Gnome, в частности, glib и gobject. При создании программ в Gnome требуется солидный опыт практической работы с языком С на низком уровне прикладных программных интерфейсов. Раньше для перехода на более высокий уровень возникала необходимость либо в реализации виртуальной машины для выполнения кода, как например, в случае Python или языков среды Mono, либо в написании библиотеки функций-"обёрток", например, для С++.

Отличие языка Vala от указанных методик состоит в том, что он позволяет получить в итоге чистый С-код, который может быть скомпилирован и запущен в среде Gnome без какихлибо дополнительных средств поддержки (библиотек, загрузчиков и т.п.). При этом важно отметить следующие факты. Программы, написанные на языке Vala, по производительности практически не уступают программам, разработанным непосредственно на С, а читать, исправлять и сопровождать код Vala гораздо проще и быстрее. Кроме того, внутри Valaприложений абсолютно все операции воспроизводятся средствами С. Таким образом, Vala обеспечивает поддержку многих недоступных в классическом С современных языковых технологий, отображая их в стандартные С-конструкции. Самостоятельное написание подобных конструкций потребует немало времени и может оказаться весьма сложной задачей.

Синтаксис Vala во многом напоминает синтаксис C#, C++ и Java. Впрочем, корень у них один, и знание языка С принесёт пользу в любом случае. Тем более что Vala-программы тесно взаимодействуют с C-библиотеками, да и выполняются в итоге, как C-код.

Last updated