Поиск по блогу

пятница, 29 апреля 2011 г.

Самое начало

Хочу начать с самого начала!
Во первых скажу что я использую Linux Debian wheezy/sid.
И хочу подметить что буду рассказывать упираясь именно на эту замечательную версию Линукса.

Подготовка

Я вам настоятельно рекомендую установить пакеты:

  • valac - компилятор Vala
  • gtk+-3.0 - графические библиотеки gtk3.0
  • gedit - программа-текстовый редактор для удобства написания программ



Установка пакетов

bash# su
bash# apt-get install valac gtk+-3.0 gedit


Так, теперь о удобстве работы с компилятором "valac" нам необходимо настроить "gedit"
Запускаем "gedit":







Код для инструмента компиляции программы написанной на "vala" в "gedit"


#!/bin/bash

cd "$GEDIT_CURRENT_DOCUMENT_DIR";
valac --pkg gtk+-3.0 --pkg gmodule-2.0 --pkg posix "$GEDIT_CURRENT_DOCUMENT_NAME";
./${GEDIT_CURRENT_DOCUMENT_NAME%%.*}



Начало

Теперь мы можем перейти к программированию.
Нам необходимо научится писать хотя бы самые просты программы на "vala". Нет ничего проще чем создать программу для вывода сообщения с приветом.


SimpleExample.vala

// Простой пример самой простой программы. "Привет друг!" ("Hello World!")
int main(string[] args) {
stdout.printf("Привет Друг!\n");
return 0;
}

Данный код просто выведет сообщение "Привет Друг!" и благодаря символу "\n" перепрыгнет на следующую строчку.

Этот код аналогичен тем что пишутся на "C#" и "C++".
int - здесь в этом месте означает что данная функция должна вернуть целое число.
main - это название функции (Обязательно именно main, потому что это точка входа в любую программу). После имени любой функции обязаны идти, пусть даже пустые, открывающая и закрывающие круглые скобки.
string[] args - Это массив строк с именем args, сюда обычно приходят аргументы командной строки. В данной программе нужно просто для проформы.
stdout.printf("Привет Друг!\n"); - это функция (метод) стандартного вывода (В консоль (В чёрный экран)), она выводит что-то в Двойных кавычках на консоль.
return 0; - это код возврата из функции со значением 0. Здесь нужно для проформы.

Заметка: Соблюдайте все скобочки, сразу после круглых скобок в строке "main" открывается фигурная скобка, и в конце закрывается. Внимательно следите что бы всё было написано так же как и у меня.

Прошу прощения

Здравствуйте, уважаемые читатели моего блога. Я искренне прошу у вас прощения, за то что давно не писал полезных Постов. Обещаю, в ближайшее время я составлю, весьма полезных несколько сообщений.
Я начну освещать с самых азов языка "Vala"

среда, 14 октября 2009 г.

Кратенько о Блоге и его тематике

Данный блог я завожу для того чтобы заинтересованные люди в языке программирования Vala (Его опишу чуть ниже) могли учиться на моём, пусть даже не обширном пока что, опыте.
О языке Vala я узнал случайно, натолкнувшись на ссылку: http://live.gnome.org/Vala. В чём же заключается на мой взгляд "прелесть" данного языке?!
Этот язык привлёк меня сразу несколькими особенностями:
1) Это язык программирования для Линукса - разработанный специально для Линукса (Ну это не исключает возможность его использования на других платформах)
2) Этот язык можно отнести к разряду "Высочайшие" языки программирования, как я их иногда называю. Под "Высочайшими языками программирования" я подразумеваю языки который обладают всем потенциалом ООП. То есть Java, C# и т.д.
3) Синтаксис этого языка практически полностью идентичен синтаксису C#.
4) Программа написанная на этом языке не компилируется в промежуточный код, который требует своей собственной виртуальной машины, код написанный на этом языке транслируется в C и тут же собирается в Исполняемый код.
5) Язык ориентирован на работу с GTK+, GDK и т.д. библиотеками.

Имеется пару минусов конечно. Например нет пока ещё продуманной удобной IDE, хотя она уже разрабатывается, и находится на стадии "текстовый редактор с кнопочками компилировать/выполнить". Когда имеется какая-то ошибка - отладка идёт чуть более сложным образом, потому как если вы допустили совсем глупую ошибку, он может начать лезть в C-шный код, и выдавать вам ошибки сборки C-шного кода. Это чуточку неудобно.
Однако, благодаря этому языку, строить теперь - простые, быстрые, удобные программы с графикой стало неимоверно просто. Правда нужно понимать что если ты проектируешь на java используя классы которые идут в комплекте с JDK, то в Vala при установке этого языка ставятся только основные классы работы с графикой, и скорее всего для работы с какими-то специфическими библиотеками типа Alsa, libnotify и т.д. вам будет необходимо поставить их исходные коды (Но всё это не создаёт сложностей, ибо все они имеются в стандартных репозиториях).

Теперь о IDE
На данный момент я знаю о нескольких видов IDE для Vala.
1) Val(a)IDE (valide). - Этим пользуюсь Я.
2) Дополнение к Eclipse.
3) Дополнение для Gedit.
4) Дополнение для Anjuta.
5) И привязка Vala к MonoDevelop.

Я пользуюсь Valide, потому что он выглядит симпатично + ничего лишнего, удобные кнопки Compile и Выполнить.
Но у него есть неприятная вещь, нету автозаполнения, то есть когда я хочу посмотреть какие методы и свойства имеются у того или иного объекта, мне приходится лезть на, кстати весьма полезный, ресурс http://www.valadoc.org/.

Полезные ссылки
Официальная страничка разработчиков: http://live.gnome.org/Vala
Примеры: http://live.gnome.org/Vala/GTKSample
ОЯень полезная документация: http://www.valadoc.org/
Кому это нужно, разработка на Vala под Windows: http://live.gnome.org/Vala/ValaOnWindows
Крупное описание для профессионалов: http://rodney.id.au/dev/vala/hackers.html

И под конец этого сообщения хотел бы сказать что помимо того что можно разрабатывать под Linux Desktop, с помощью Vala можно разрабатывать и для Linux Mobile (Maemo). Специально для этого там имеются необходимые библиотеки (например Hildon).