Руководство по Vala |
- Statistics
- Participants
- Translate into Russian
- Translation result
- Translated in draft, editing and proof-reading required. Completed: 99%.
Содержание
1. Введение
1.1. Что такое Vala?
1.2. Для кого это руководство?
1.3. Условные обозначения
2. Первая программа
2.1. Компиляция и выполнение
3. Основы
3.1. Исходный код и компиляция
3.2. Обзор синтаксиса
3.3. Комментарии
3.4. Типы данных
3.4.1. Типы значений
3.4.2. Строки
3.4.3. Массивы
3.4.4. Ссылочные типы
3.4.5. Статическое преобразование типов
3.4.6. Вывод типов
3.5. Операторы
3.6. Управляющие структуры
3.7. Элементы языка
3.7.1. Методы
3.7.2. Делегаты
3.7.3. Анонимные методы / Замыкания
3.7.4. Пространства имен
3.7.5. Структуры
3.7.6. Классы
3.7.7. Интерфейсы
3.8. Аттрибуты кода
4. Объектно-ориентированное программирование
4.1. Основы
4.2. Конструкторы
4.3. Деструкторы
4.4. Сигналы
4.5. Свойства
4.6. Наследование
4.7. Абстрактные классы
4.8. Интерфейсы / миксины
4.9. Полиморфизм
4.10. Скрытие методов
4.11. Информация о типах во время выполнения
4.12. Динамическое преобразование типов
4.13. Универсальные шаблоны
4.14. Конструкция в стиле GObject
5. Продвинутые возможности
5.1. Утверждения и контрактное программирование
5.2. Обработка ошибок
5.3. Направление параметров
5.4. Коллекции
5.4.1. ArrayList<G>
5.4.2. HashMap<K,V>
5.4.3. HashSet<G>
5.4.4. Представления только для чтения
5.5. Методы с поддержкой синтаксиса
5.6. Многопоточность
5.6.1. Потоки в Vala
5.6.2. Управление ресурсами
5.7. Основной цикл
5.8. Асинхронные методы
5.8.1. Синтаксис и пример
5.8.2. Написание собственных асинхронных методов
5.9. Слабые ссылки
5.10. Владение
5.10.1 Бесхозные ссылки
5.10.2. Передача владения
5.11. Списки параметров переменной длины
5.12. Указатели
5.13. Необъектные классы
5.14. Интеграция с D-Bus
5.15. Профили
6. Экспериментальные возможности
6.1 Связанные условные выражения
6.2 Литералы регулярных выражений
6.3. Строгий ненулевой режим
7. Библиотеки
7.1. Использование библиотек
7.2. Создание библиотеки
7.3. Пример
7.4. Закрепление библиотек с помощью файлов VAPI
8. Инструменты
8.1. valaс
8.2. vala-gen-introspect
8.3. vapigen
9. Технические приемы
9.1. Отладка
9.2.Использование GLib
9.2.1. Обработка файлов
Введение
Отказ от обязательств: на данный момент проект Vala находится в разработке и его возможности могут изменяться. Я попытаюсь сохранять информацию в этом руководстве актуальной, насколько это возможно, но я не идеален. Так же я не могу обещать, что методы, которые я предлагаю, будут лучшими на практике, но, опять же, я постараюсь держать вас в курсе дела.
Что такое Vala?
Vala — это новый язык программирования, который позволяет использовать современные способы программирования для написания приложений, которые будут основываться на библиотеках выполнения GNOME, частично GLib и GObject. С давних пор эта платформа является полноценной средой разработки, включая такие особенности как система динамических типов данных и вспомогательные инструменты управления памятью. До создания Vala, единственным способом написания программ для этой платформы было использование API языка C, что приводило к нежелательным последствиям, использованию высокоуровневых скриптовых языков, требующих наличие виртуальной машины, таких как Python, Mono C#, или, как альтернативный вариант, использование библиотеки-оболочки для C++.
Технология Vala уникальна тем, что генерирует код на языке C, который может быть скомпилирован для запуска без необходимости установки дополнительных библиотек, не включенных в GNOME. Из этого следует:
Производительность программ, написанных на Vala, будет сопоставима с производительностью программ, написанных непосредственно на C. И в то же время, они более просты в написании и сопровождении.
Программы, написанные на Vala, могут делать то же, что и программы, написанные на C. И хотя Vala предоставляет функции, не доступные C программистам, их можно реализовать и на C, но это трудоемкий и сложный процесс.
Как таковой Vala — это современный язык со всеми возможностями, которые только можно себе представить, но, несмотря на это, вся его мощь идет от существующей платформы и соответствует установленным ей правилам.
Для кого предназначено это руководство?
Данное руководство не углубляется в подробности основ написания программ. Здесь лишь кратко объясняются принципы объектно-ориентированного программирования, подробно рассказывая об основных принципах Vala. Данное руководство окажется полезным, если вы уже имеете опыт программирования, хотя глубокие познания какого-либо языка не требуются.
Синтаксис Vala очень похож на C#, но я буду стараться избегать описания функций с точки зрения сходства и отличия их от C# или Java с целью сделать руководство более доступным и понятным.
Для понимания вам будет полезно знание языка C. Хотя это не требуется для понимания самого Vala, важно знать, что он основывается на C и зачастую взаимодействует с его библиотеками. Знание этого языка программирования безусловно облегчит углубленное понимание Vala.
Условные обозначения
Original (English): Vala Tutorial
Translation: © bulatshfglh, space_indus, Ivan, BasicXP, netrino, antigluk, Shepelin.Denis, mrsilent, lohmatyi, Андрей Дягель, Prizrak, ExRomanY, Алексей, Mark Nicknames, paulusx .
