Vala (programski jezik)
Vala je programski jezik kreiran s ciljem da uvede moderne karakteristike u programski jezik C bez dodatnih runtime zahteva, a koji cilja pre svega na GObject objektni sistem. Jezik je razvijen od strane Jürg Billeter-a i Raffaele Sandrini-a. Sintaksa je vrlo slična onoj iz programskog jezika C#. Kod Vale se ne prevodi direktno na Asembler ili neki drugi posrednički jezik, već na programski jezik C koji se potom kompajlira sa dostupnim C kompajlerom.
Vala | |
---|---|
![]() | |
Model | objektno-orijentisani, imperativni |
Aktuelna verzija | 0.56.15 |
Datum aktuelne verzije | 03. Mart 2024. |
Uticaji | C, C++, C# |
Operativni sistemi | Svaki koji podržava GLib |
Licenca | LGPL |
Veb-sajt | http://live.gnome.org/Vala |
Primer koda
уредиOsnovni 'Zdravo Svete' program:
void main () { print ("Zdravo svete!\n");}
Kompleksnija verzija koja pokazuje neke od Valinih objektno orijentisanih karakteristika:
class Sample : Object { void greeting () { stdout.printf ("Zdravo svete!\n"); } static void main (string[] args) { var sample = new Sample (); sample.greeting(); }}
Ovo je konvertovan C kod:
/* hellogtk.c generated by valac 0.34.4, 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 ();#endifreturn _vala_main (argv, argc);}
Vidi još
уредиSpoljašnje veze
уреди- Vala programski jezik
- LibGee, kolekcija biblioteka za Valu
- Val(a)IDE, IDE za Valu
- Valaforums[мртва веза] Vala forum
🔥 Top keywords: ГрузијаГлавна странаЕвропско првенство у фудбалу 2024.Религија у ГрузијиРаде БогдановићКристијано РоналдоЕвропско првенство у фудбалуПосебно:ПретражиМилан ВеруовићПартизанска ескадрилаСрбијаВезникПепеДушан ВлаховићМатија ШаркићЕвропско првенство у фудбалу 2020.Стилске фигуреФудбалска репрезентација СрбијеДушан ТадићФудбалска репрезентација ПортугалијеКевин ПантерОфсајдСветско првенство у фудбалуСержио КонсеисаоПортугалијаСеверна КорејаДраган Стојковић ПиксиВања МаринковићСтарословенски језикПацијентSlaven FatićЧешкаVoyage (певач)ТурскаЕпископ зворничко-тузлански ВасилијеКилијан МбапеБудва на пјену од мораСписак српских именаБеоград