والا (زبان برنامه‌نویسی)

والا (زبان برنامه‌نویسی)
پارادایم برنامه‌نویسیپارادایم برنامه‌نویسی: برنامه‌نویسی دستوری، برنامه‌نویسی ساخت‌یافته، برنامه‌نویسی شیءگرا
توسعه‌دهندهJürg Billeter, Raffaele Sandrini
ظهوریافته در۲۰۰۶؛ ۱۹ سال پیش (۲۰۰۶-خطا: زمان نامعتبر}})
انتشار پایدار
۰٫۳۲٫۰ / ۲۱ مارس ۲۰۱۶؛ ۸ سال پیش (۲۰۱۶-21}})
static، وابستگی زیاد و کم به نوع
سیستم‌عاملچندسکویی all supported by جی‌لیب، but distributed as source code only.
پروانهگنو ال‌جی‌پی‌ال ۲٫۱+
.vala, .vapi
وبگاه
متأثر از
سی (زبان برنامه‌نویسی)، سی++، سی شارپ، دی (زبان برنامه‌نویسی)، جاوا (زبان برنامه‌نویسی)

والا (به انگلیسی: Vala) ، یک زبان شیء‌گرا و مدرن است که هدف آن ارائه‌ی قدرت و کارایی زبان‌هایی مانند C، بدون پیچیدگی‌های رایج این زبان‌هاست. این زبان از GObject، که یک سیستم شیء‌گرایی در کتابخانه GTK است، استفاده می‌کند و به طور خودکار کد زبان C تولید می‌کند. این ویژگی باعث می‌شود توسعه‌دهندگان بتوانند از قدرت و انعطاف‌پذیری C بهره ببرند، اما در عین حال با سینتکسی ساده‌تر و دوست‌داشتنی‌تر کدنویسی کنند.

شباهت به زبان‌های سی‌شارپ و جاوا

[ویرایش]

اگر شما تجربه‌ای در کار با زبان‌هایی مثل سی‌شارپ (#C) یا جاوا دارید، خوشحال خواهید شد که بدانید نحو (Syntax) زبان والا بسیار شبیه به این زبان‌هاست. برای مثال:

  • تعریف کلاس‌ها، متدها و ویژگی‌ها در والا به شکلی مشابه با سی‌شارپ و جاوا انجام می‌شود.
  • استفاده از مفهوم شیء‌گرایی مثل ارث‌بری (Inheritance)، چندریختی (Polymorphism)، و کپسوله‌سازی (Encapsulation) در والا نیز به همان شکل رایج و آشناست.
  • مدیریت استثناها (Exceptions) و حلقه‌ها (مثل for و while) نیز دقیقاً همان ساختار شناخته‌شده را دارند.

این شباهت‌ها باعث می‌شود اگر شما قبلاً با سی‌شارپ یا جاوا کار کرده باشید، به سرعت بتوانید با والا ارتباط برقرار کنید و کدنویسی در آن برایتان آسان و روان باشد.

مثال ساده:

[ویرایش]

به عنوان نمونه، کدی که در والا یک کلاس ساده با متد «سلام دنیا» (Hello World) ایجاد می‌کند، شبیه به چیزی است که در سی‌شارپ یا جاوا می‌بینید:

class HelloWorld {
    public static void main(string[] args) {
        print("سلام دنیا\n");
    }
}

این شباهت نحو به توسعه‌دهندگان کمک می‌کند تا بدون نیاز به یادگیری مفاهیم کاملاً جدید، با سرعت بیشتری به زبان والا مسلط شوند و از امکانات آن بهره ببرند.

چرا والا؟

[ویرایش]

زبان برنامه‌نویسی والا (Vala) ویژگی‌ها و قابلیت‌های جالبی دارد که در ادامه به برخی از جنبه‌های مهم این زبان می‌پردازیم:

1. کارایی بالا

[ویرایش]
  • از آنجایی که والا کد C تولید می‌کند، عملکرد آن بسیار بهینه است و می‌تواند با زبان‌هایی مانند C و ++C رقابت کند.
  • برنامه‌های نوشته‌شده با والا می‌توانند بدون وابستگی به محیط اجرا (مثل ماشین مجازی) اجرا شوند، که این ویژگی برای ساخت برنامه‌های سبک و سریع بسیار مفید است.

2. مدیریت حافظه ساده‌تر

[ویرایش]
  • برخلاف C که نیازمند مدیریت دستی حافظه است، والا از مدیریت خودکار حافظه (Automatic Memory Management) استفاده می‌کند.
  • سیستم مرجع‌دهی هوشمند (Reference Counting) به توسعه‌دهندگان کمک می‌کند تا نگران نشت حافظه (Memory Leak) نباشند.

3. استفاده از کتابخانه‌های GTK

[ویرایش]
  • والا طراحی شده تا با کتابخانه GTK+ که برای ساخت رابط‌های گرافیکی کاربر (GUI) استفاده می‌شود، کاملاً سازگار باشد.
  • شما می‌توانید با استفاده از والا برنامه‌های دسکتاپی زیبا و مدرن بسازید که در سیستم‌عامل‌هایی مثل لینوکس، ویندوز و macOS اجرا شوند.

4. نحو مختصر و مدرن

[ویرایش]
  • نحو والا بسیار خوانا و تمیز است، مشابه زبان‌هایی مثل سی‌شارپ و جاوا.
  • ویژگی‌هایی مثل Property، Signals (مشابه Events در سی‌شارپ) و Delegates کار را ساده‌تر می‌کنند.

5. استفاده از ابزارهای موجود برای زبان C

[ویرایش]
  • برنامه‌های نوشته‌شده با والا می‌توانند از کتابخانه‌های زبان C بدون نیاز به کدنویسی اضافی استفاده کنند.
  • امکان تولید فایل‌های پروژه برای ابزارهای استاندارد زبان C (مثل Autotools و CMake) وجود دارد.

6. پشتیبانی از ویژگی‌های مدرن زبان‌های برنامه‌نویسی

[ویرایش]
  • ارث‌بری چندگانه از رابط‌ها (Interfaces): می‌توانید از چندین Interface به‌طور همزمان استفاده کنید.
  • اشاره‌گرهای NULL ایمن (Safe Null-Pointers): سیستم نوع (Type System) به شما کمک می‌کند تا از خطاهای رایج ناشی از اشاره‌گرهای NULL جلوگیری کنید.
  • پشتیبانی از Generics: به شما امکان می‌دهد کدهای عمومی و بازاستفاده‌پذیر بنویسید.

7. چند پلتفرمی بودن

[ویرایش]
  • برنامه‌های نوشته‌شده در والا می‌توانند به راحتی در سیستم‌های لینوکس، ویندوز و macOS اجرا شوند.

چه زمانی از والا استفاده کنیم؟

[ویرایش]
  • اگر به دنبال توسعه برنامه‌های دسکتاپی با GTK+ هستید.
  • اگر می‌خواهید از کارایی زبان C بدون پیچیدگی‌های آن بهره‌مند شوید.
  • اگر تجربه‌ای در زبان‌های شیء‌گرا مثل سی‌شارپ یا جاوا دارید و به دنبال یادگیری یک زبان جدید هستید.

Wikipedia contributors, "Vala (programming language)," Wikipedia, The Free Encyclopedia, http://en.wikipedia.org/w/index.php?title=Vala_(programming_language)&oldid=516587805 (accessed October ۸، ۲۰۱۲).