Wren یک زبان برنامهنویسی اپنسورس نسبتاً سریع است و آن را میتوان به نوعی همان Smalltalk ولی با پکیجهایی به اندازهٔ Lua و همراه با محیط دَشی برای Erlang دانست که شمایلی مدرن و ساختاری دولوپرپسند دارد که در ادامه بیشتر با فیچرهای این زبان آشنا خواهید شد.
Wren سبک است
ماشین مجازی این زبان برنامهنویسی چیزی صرفاً در حدود ۴۰۰۰ دستور دارد. به عبارتی، میتوانید کل آن را تنها در نیمی از روز بررسی و مطالعه کنید. البته باید بدانید اگرچه Wren کوچک است، ولی به هیچ وجه فشرده نبوده بلکه بخشهای مختلف آن به خوبی کامنتگذاری شده و خوانا هستند.
Wren سریع است
مزیت رقابتی این زبان برنامهنویسی نسبت به سایر زبانهای برنامهنویسی جدید این است که از یک کامپایلر سریع برخوردار است.
Wren مبتنی بر کلاس است
زبانهای اسکریپتنویسی بسیاری وجود دارند ولی بسیاری از آنها مدلهای شیئگرایی غیرمعمولی داشته یا آنکه هیچ مدل شیئگرایی ندارند اما این در حالی است که Wren کلاس، آبجکت و بالتبع شیئگرایی را در مرکزیت قرار داده است.
Wren کانکارنت است
این زبان برنامهنویسی کانکارنت است به طوری که قادر خواهید بود تا برنامههایی بنویسید که از ماژولهای مختلفی تشکیل شده و این ماژولها در حین اجرا با یکدیگر به تعامل خواهند پرداخت.
Wren یک زبان اسکریپتنویسی است
هدف این زبان توسعهٔ اپلیکیشنهای مختلف است و هیچ نوع وابستگی به سایر ابزارها نداشته و از یک لایبرری کوچک و استاندارد به همراه یک API ساده و قابلاستفاده با زبان C برخوردار است. همچنین برنامههای نوشته شده با Wren به سادگی به نسخههای C99 ،C++98 و بالاتر کامپایل میشوند به طوری که به عنوان نمونه داریم:
System.print("Hello, world!")
class Wren {
flyTo(city) {
System.print("Flying to %(city)")
}
}
var adjectives = Fiber.new {
["small", "clean", "fast"].each {|word| Fiber.yield(word) }
}
while (!adjectives.isDone) System.print(adjectives.call())
همانطور که در بالا مشاهده میشود، نوشتن برنامهٔ معروف Hello World در این زبان برنامهنویسی و یا ساخت کلاس بسیار ساده است.