Новость из категории: Информация

Язык программирования Vala: история и специфика

Содержание:
1. Прагматичное начало (Вы читаете данный раздел);
2. Производительность и основные возможности;
3. Распространенность и проекты;
4. Установка и поддержка в IDE.
Язык программирования Vala: история и специфика

Язык Vala появился на свет совсем недавно - в 2006 г. Его создателями выступили разработчики рабочей среды GNOME, а соображения, подвигшие их на создание нового языка, были сугубо прагматичными. Тулкит GTK+ является одним из самых популярных для создания GUI-приложений в мире Linux. Однако он написан на языке Си, который в современных реалиях является чистым анахронизмом при разработке программ с графическим интерфейсом. Си совершенно не приспособлен для создания GUI, поскольку в нем нет необходимых для этого объектно-ориентированных абстракций.



Чтобы использовать в Си подобие объектно-ориентированного подхода с классами, наследованием и т. п., была создана библиотека GObject (http:// library.gnome.org/devel/gobject/stable/), являющаяся объектно-ориентированным дополнением библиотеки Glib - основы тулкита GTK+. Использовать GObject в Си напрямую крайне сложно и неудобно. Например, чтобы создать дочерний класс, нужно написать около сотни строк совершенно невразумительного служебного кода. Не удивительно, что сейчас GTK+ используется практически исключительно в виде привязок в других языках. Например, такие популярные программы, как Deluge или Ubuntu Software Center, написаны на Python, а F-Spot и Banshee - на С#. Проблема с привязками состоит в том, что из-за них GTK+ теряет свою «легкость» - все перечисленные программы весьма прожорливы и потребляли бы гораздо меньше ресурсов, будучи написанными на чистом Си (однако их реализация на Си затянулась бы на годы).

Язык Vala появился как прагматичный способ решения этой проблемы. Vala - типичный язык «новой волны». Он имеет удобный синтаксис очень высокого уровня, так что разработка происходит немногим медленнее, чем на скриптовых языках. В то же время генерируется настоящий быстрый и эффективный машинный код. Программы, написанные на Vala, сначала транслируются в стандартный Си. Сгенерированный таким образом код затем автоматически компилируется обычным компилятором GCC. Объектная модель Vala базируется на GObject, а многие базовые функции - на библиотеке Glib. Транслятор просто переводит абстракции высокого уровня в вызовы Glib и Gobject, поручая этим библиотекам всю «грязную работу». Реализовать такой транслятор на порядки проще, чем написать полноценный компилятор нового языка, поэтому Vala «вошел в строй» очень быстро и за несколько лет стал достаточно популярным.



Планируете открыть сайт по ..., на котором будете публиковать свои модификации на Qt и GTK+? Тогда веб студия Нижнего Новгорода (http://www.up-level.ru/) Вам в этом поможет! Опытные веб-программисты разработают для Вас отличный интернет-ресурс с богатым функционалом! Узнайте подробности на up-level.ru!

Рейтинг статьи

Оценка
4/5
голосов: 2
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх