والا (زبان برنامهنویسی)
والا (به انگلیسی: Vala) ، یک زبان شیءگرا و مدرن است که هدف آن ارائهی قدرت و کارایی زبانهایی مانند C، بدون پیچیدگیهای رایج این زبانهاست. این زبان از GObject، که یک سیستم شیءگرایی در کتابخانه GTK است، استفاده میکند و به طور خودکار کد زبان C تولید میکند. این ویژگی باعث میشود توسعهدهندگان بتوانند از قدرت و انعطافپذیری C بهره ببرند، اما در عین حال با سینتکسی سادهتر و دوستداشتنیتر کدنویسی کنند.
پارادایم برنامهنویسی | پارادایم برنامهنویسی: برنامهنویسی دستوری، برنامهنویسی ساختیافته، برنامهنویسی شیءگرا |
---|---|
توسعهدهنده | Jürg Billeter, Raffaele Sandrini |
ظهوریافته در | ۲۰۰۶ |
انتشار پایدار | ۰٫۳۲٫۰
/ ۲۱ مارس ۲۰۱۶ |
static، وابستگی زیاد و کم به نوع | |
سیستمعامل | چندسکویی all supported by جیلیب، but distributed as source code only. |
پروانه | گنو الجیپیال ۲٫۱+ |
.vala, .vapi | |
وبگاه | |
متأثر از | |
سی (زبان برنامهنویسی)، سی++، سی شارپ، دی (زبان برنامهنویسی)، جاوا (زبان برنامهنویسی) |
شباهت به زبانهای سیشارپ و جاوا
ویرایشاگر شما تجربهای در کار با زبانهایی مثل سیشارپ (#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 ۸، ۲۰۱۲).