ڤالا

Vala
Paradigm Multi-paradigm: imperative, structured, object-oriented
Developer Jürg Billeter, Raffaele Sandrini
First appeared 2006; 14 years ago (2006
الإصدار المستقر
0.32.0 / 21 مارس 2016; منذ أربعة سنين (2016-03-21
Typing discipline static, strong
OS Cross-platform all supported by GLib, but distributed as source code only.
License LGPL 2.1+
Filename extensions .vala, .vapi
Website wiki.gnome.org/Projects/Vala
Influenced by
C, C++, C#, D, Java

ڤالا Vala هي لغة برمجة كائنية التوجه مع self-hosting compiler that generates C code and uses the GObject system (that "can be seen as an alternative to C-derived languages such as C++ and Objective-C").

مثال للكود

A simple "Hello, World!" vala program (see also GTK+ hello world)

void main () {
    print ("Hello World\n");
 

A more complex version, showing some of Vala's object-oriented features:

class Sample : Object {
    void greeting () {
        stdout.printf ("Hello World\n");
     
    
    static void main (string[] args) {
        var sample = new Sample ();
        sample.greeting ();
     
 

An example using GTK+ to create a GUI "Hello, World!" program:

using Gtk;

int main (string[] args) {
    Gtk.init (ref args);
    
    var window = new Window ();
    window.title = "Hello, World!";
    window.border_width = 10;
    window.window_position = WindowPosition.CENTER;
    window.set_default_size (350, 70);
    window.destroy.connect (Gtk.main_quit);
    
    var label = new Label ("Hello, World!");
    
    window.add (label);
    window.show_all ();
    
    Gtk.main ();
    return 0;
 

The last example needs an extra parameter to compile on GNOME3 platforms:

valac --pkg gtk+-3.0 hellogtk.vala

This is the converted C code:

/* hellogtk.c generated by valac 0.28.0, the Vala compiler
 * generated from hellogtk.vala, do not modify */

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>

#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

gint _vala_main (gchar** args, int args_length1);
static void _gtk_main_quit_gtk_widget_destroy (GtkWidget* _sender, gpointer self);

static void _gtk_main_quit_gtk_widget_destroy (GtkWidget* _sender, gpointer self) {
	gtk_main_quit ();
 

gint _vala_main (gchar** args, int args_length1) {
	gint result = 0;
	GtkWindow* window = NULL;
	GtkWindow* _tmp0_ = NULL;
	GtkLabel* label = NULL;
	GtkLabel* _tmp1_ = NULL;
	gtk_init (&args_length1, &args);
	_tmp0_ = (GtkWindow*) gtk_window_new (GTK_WINDOW_TOPLEVEL);
	g_object_ref_sink (_tmp0_);
	window = _tmp0_;
	gtk_window_set_title (window, "Hello, World!");
	gtk_container_set_border_width ((GtkContainer*) window, (guint) 10);
	g_object_set (window, "window-position", GTK_WIN_POS_CENTER, NULL);
	gtk_window_set_default_size (window, 350, 70);
	g_signal_connect ((GtkWidget*) window, "destroy", (GCallback) _gtk_main_quit_gtk_widget_destroy, NULL);
	_tmp1_ = (GtkLabel*) gtk_label_new ("Hello, World!");
	g_object_ref_sink (_tmp1_);
	label = _tmp1_;
	gtk_container_add ((GtkContainer*) window, (GtkWidget*) label);
	gtk_widget_show_all ((GtkWidget*) window);
	gtk_main ();
	result = 0;
	_g_object_unref0 (label);
	_g_object_unref0 (window);
	return result;
 

int main (int argc, char ** argv) {
#if !GLIB_CHECK_VERSION (2,35,0)
	g_type_init ();
#endif
	return _vala_main (argv, argc);
 


IDE support

There are various projects in various states of stability in order to provide IDE support for Vala:

  • Anjuta
  • Github's Atom (text editor) (With the Vala package installed).
  • GNOME Builder
  • Emacs
  • Euclide
  • Geany
  • MonoDevelop
  • NetBeans
  • RedCar
  • Scratch (elementary OS)
  • Sublime Text (syntax plugin)
  • TextMate
  • Vala Toys for Gedit
  • Val(a)IDE (itself written in Vala, discontinued)
  • Valable, a Vala plug-in for Eclipse.
  • Valama
  • Valencia
  • Vim (syntax plugin)

انظر أيضاً

  • Genie, a programming language for the Vala compiler with a syntax closer to Python
  • Shotwell, an image organiser written in Vala
  • Ease, a presentation program written in Vala
  • elementary OS, a Linux distribution with a desktop environment programmed mostly in Vala

الهامش

  1. ^ "Vala Releases".ثمانية April 2016.
  2. ^ "Vala specific section,Vala Documentation".
  3. ^ "Source code of Val(a)IDE".
  4. ^ Valable
  5. ^ https://github.com/Valama/valama

وصلات خارجية

هناك كتاب ، Vala Programming، في فهم الخط.


  • Official website, on GNOME Live!
  • ValaToWindows, Vala compiled binaries for Windows
  • LibGee, a collection library for vala.
  • API Documentation
  • Vala sample code for beginners
  • List of Vala programs
  • web-vala, a simple web application framework for Vala
Comparison with other languages
  • Vala and Java
  • Vala and C#
  • Benchmark of Vala versus C# and C
  • More Vala benchmarks

نطقب:GNOME

تاريخ النشر: 2020-06-04 17:48:39
التصنيفات: Official website not in Wikidata, C programming language family, Object-oriented programming languages, Source-to-source compilers, Statically typed programming languages, Vala (programming language), لغات برمجة, لغات برمجة كائنية التوجه

مقالات أخرى من الموسوعة

سحابة الكلمات المفتاحية، مما يبحث عنه الزوار في كشاف:

آخر الأخبار حول العالم

تحولوا إلى أغنياء عن طريق السياسة.. منتخبون مهددون بالعزل

المصدر: الأيام 24 - المغرب التصنيف: سياسة
تاريخ الخبر: 2022-04-22 12:17:49
مستوى الصحة: 73% الأهمية: 84%

رئيس مجلس الشيوخ يهنيء السيسي بذكرى عيد تحرير سيناء‎‎

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-04-22 12:17:38
مستوى الصحة: 51% الأهمية: 64%

حركة القطارات| 70 دقيقة تأخير بين قليوب والزقازيق والمنصورة.. 22 ابريل

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-04-22 12:17:48
مستوى الصحة: 46% الأهمية: 50%

القوى العاملة في أسبوع.. إعلان إجازات عيد الفطر وعيد العمال

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-04-22 12:17:45
مستوى الصحة: 60% الأهمية: 69%

ارتكبوا فعلا لايصدق مع سحلية مهددة بالانقراض

المصدر: الإمارات اليوم - الإمارات التصنيف: مجتمع
تاريخ الخبر: 2022-04-22 12:18:16
مستوى الصحة: 49% الأهمية: 66%

موعد عودة الأهلي للقاهرة بعد لقاء الرجاء المغربي

المصدر: الأهلى . كوم - مصر التصنيف: رياضة
تاريخ الخبر: 2022-04-22 12:17:29
مستوى الصحة: 41% الأهمية: 40%

تعرف على موعد تطبيق المواعيد الصيفية لغلق وفتح المحال بالمحافظات؟

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-04-22 12:17:48
مستوى الصحة: 52% الأهمية: 55%

رونالدو ينشر صورة مولودته الجديدة ويشكر الجماهير على دعمهم

المصدر: الإمارات اليوم - الإمارات التصنيف: مجتمع
تاريخ الخبر: 2022-04-22 12:18:18
مستوى الصحة: 56% الأهمية: 52%

«دارالإفتاء» توضح ثواب صلاة التسابيح

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-04-22 12:17:44
مستوى الصحة: 49% الأهمية: 68%

انطلاق مهرجان «جرش» للثقافة والفنون 28 يوليو المقبل

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-04-22 12:17:45
مستوى الصحة: 49% الأهمية: 70%

إعمار للتطوير : 24.500 وحدة سكنية قيد التطوير في محفظة الشركة بدبي

المصدر: الإمارات اليوم - الإمارات التصنيف: مجتمع
تاريخ الخبر: 2022-04-22 12:18:19
مستوى الصحة: 58% الأهمية: 63%

مسجد «ذو الفقار بك» الأثرى تحفة معمارية تزين درب الجماميز بالسيدة زينب

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-04-22 12:17:43
مستوى الصحة: 58% الأهمية: 50%

تعليمات أخيرة من موسيماني للاعبي الأهلي قبل مواجهة الرجاء

المصدر: الأهلى . كوم - مصر التصنيف: رياضة
تاريخ الخبر: 2022-04-22 12:17:28
مستوى الصحة: 31% الأهمية: 42%

10.5 مليون درهم خصصتها دبي الخيرية للأيتام 2021

المصدر: الإمارات اليوم - الإمارات التصنيف: مجتمع
تاريخ الخبر: 2022-04-22 12:18:18
مستوى الصحة: 45% الأهمية: 54%

الري: تعزيز الابتكارات لمواجهة التحديات المائية

المصدر: بوابة أخبار اليوم - مصر التصنيف: سياسة
تاريخ الخبر: 2022-04-22 12:17:39
مستوى الصحة: 50% الأهمية: 67%

تحميل تطبيق المنصة العربية