فالا

من ويكيبيديا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث
فالا
Vala Logo.svg
 

ظهرت في 2006  تعديل قيمة خاصية البداية (P571) في ويكي بيانات
نظام التشغيل متعدد المنصات  تعديل قيمة خاصية نظام التشغيل (P306) في ويكي بيانات
الرخصة رخصة جنو العمومية الصغرى،  ورخصة جنو العمومية الصغرى-2.1+  تعديل قيمة خاصية الرخصة (P275) في ويكي بيانات
رقم اخر اصدار 0.46.1 (16 سبتمبر 2019) (إصدارة مستقرة)[1]  تعديل قيمة خاصية معرف نسخة البرنامج (P348) في ويكي بيانات
متأثرة بـ سي،  وسي++،  وجافا،  وسي شارب،  ودي،  وبوو  تعديل قيمة خاصية تأثر ب (P737) في ويكي بيانات
امتدادات الملفات vala،  وvapi  تعديل قيمة خاصية امتداد الملف (P1195) في ويكي بيانات
موقع ويب الموقع الرسمي  تعديل قيمة خاصية الموقع الرسمي (P856) في ويكي بيانات

فالا (بالإنجليزية: Vala) هي لغة برمجة كائنية التوجه مع مترجم مضيف لنفسه يولد أكوادًا بلغة С ويستخدم نظام GObject.

فالا هي لغة مشابهة في نحوها للغة #C وتتضمن مزايا مثل الدوال المجهولة والإشارات والخصائص والتعميمات وإدارة الذاكرة المساعدة والتعامل مع الاستثناءات واستنتاج النوع ومفردة foreach. أراد مطوراها يورج بيلتر ورفائيل ساندريني جلب هذه المزايا لنظام تنفيذ البرامج في لغة С مع قدر قليل من الإضافات الزائدة وعدم توفير دعم خاص في وقت التشغيل من خلال استهداف نظام كائنات GObject. وبدلًا من الترجمة مباشرة إلى لغة الآلة أو لغة التجميع، يقوم المجمع بالتجميع إلى لغة وسيطة منخفضة المستوى. إذ يقوم المترجم بالتحويل بطريقة مصدر إلى مصدر إلى لغة С، والتي تجمع بعد ذلك باستخدام مترجم С لمنصة معينة. ويعد مجمع GCC أشهر مترجمات لغة С.

لإدارة الذاكرة، يتضمن نظام GObject عد المراجع. في لغة С، يكون على المبرمج أن يضيف أو يزيل المراجع، لكن في Vala، تدار أعداد هذه المراجع بصفة آلية إذا استخدم المبرمج أنواع المراجع المضافة افتراضيًّا في اللغة بدلًا من المؤشرات العادية.

استخدام إمكانيات من مكتبات الكود الأصلي يتطلب ملفات vapi، والتي تعرف واجهات المكتبة. وكتابة تعريفات هذه الواجهات موثق جيدًا لمكتبات С، خاصة إذا كانت مبنية على GObject. مع ذلك، مكتبات ++С غير مدعومة. تتوفر ملفات vapi لجزء كبير من منصة GNOME، بما في ذلك GTK.

ابتكرت Vala بواسطة يورج بيليتر وطبقها معه رفائيل ساندريني، وأنهيا مترجمًا مضيفًا لنفسه في مايو 2006.[2]

مثال للكود[عدل]

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

انظر أيضًا[عدل]

استشهادات[عدل]

  1. ^ https://gitlab.gnome.org/GNOME/vala/-/tags/0.46.1 — تاريخ الاطلاع: 22 سبتمبر 2019
  2. ^ "Writing Multimedia Applications with Vala". مؤرشف من الأصل في 28 أغسطس 2012. 
HelloWorld.svg
هذه بذرة مقالة عن لغة برمجة بحاجة للتوسيع. شارك في تحريرها.