rooby: زبان شیئ‌گرای جدیدی که با Go نوشته شده تا توسعهٔ میکروسرویس‌ها را راحت‌تر کند

rooby: زبان شیئ‌گرای جدیدی که با Go نوشته شده تا توسعهٔ میکروسرویس‌ها را راحت‌تر کند

rooby (با r کوچک) زبانی شیئ‌گرا و شبیه به Ruby است که با استفاده از زبان Go نوشته شده و می‌توانید فرض کنید با نسخه‌ای ساده و قابل کامپایل از زبان Ruby روبه‌رو هستید که قصد سازندهٔ آن، تمرکز روی توسعهٔ میکروسرویس‌ها بوده است. یک زبان برای این‌که در این زمینه -میکروسرویس‌ها- مناسب باشد، باید سازگاری زیادی داشته و نوشتن آن نیز آسان باشد. این‌ها دلایلی است که نشان می‌دهد چرا رووبی (rooby) از سینتکس کاربرپسند روبی (Ruby) استفاده کرده و با زبان گو (Go) پیاده‌سازی شده است.

ویژگی‌هایی که تا‌به‌حال در این زبان پیاده‌سازی شده‌اند عبارتند از:
- توانایی کامپایل شدن به بایت‌کد (با پسوند robc.)
- توانایی اجرای مستقیم بایت‌کد
- در این زبان هر چیزی یک شیئ است. 
- پشتیبانی از کامنتینگ
- شیئ و کلاس
-- آبجکت‌های سطح بالا
-- امکان استفاده از کانستراکتور
-- پشتیبانی از متد و کلاس
-- پشتیبانی از Inheritance (وراثت)
-- پشتیبانی از Instance
-- پشتیبانی از self
- متغیرها
-- متغیر ثابت
-- متغیر لوکال
-- متغیرهایی از جنس Instance
-متدها
-- پشتیبانی از متدهایی با/بدون آرگومان ورودی
-- پشتیبانی از Closure (متدهای بی‌نام)
- دیتا تایپ‌های Built-in (که همگی نوعی از کلاس هستند)
-- کلاس
-- عدد صحیح
-- استرینگ
-- بولین
-- nil (در اصل این نوع داده وجود دارد ولی پارسر هنوز آن‌را پشتیبانی نمی‌کند.)
-- هش
-- آرایه
- دستورات شرطی
-- دستورات if
-- در حال حاضر پشتیبانی از while وجود ندارد!
- import کردن فایل‌های دیگر
- IO (ورودی و خروجی)
-- در حال حاضر فقط با استفاده از puts چنین چیزی امکان‌پذیر است.

روش نصب زبان rooby
1. ابتدا باید golang را نصب کنید.
2. سپس GOPATH$ را تنظیم کنید.
3. مسیر GOPATH/bin$ را به PATH$ بیفزایید.
4. و در نهایت، دستور زیر را اجرا کنید:

$ go get github.com/rooby-lang/rooby

طرز استفاده
اجرای فایل رووبی با استفاده از VM صورت می‌گیرد؛ البته ممکن است به خطاهایی در sample-6 برخورد کنید چرا که VM هنوز پشتیبانی از block را شامل نمی‌شود:

$ rooby ./samples/sample-1.ro
#=> 16

برای کامپایل کردن کدهای رووبی هم می‌توان از دستور زیر استفاده کرد:

$ rooby -c ./samples/sample-1.ro

که فایل sample-1.robc را از دایرکتوری samples/. نشان می‌دهد. اجرای بایت‌کد هم در این زبان به‌صورت زیر است:

$ rooby ./samples/sample-1.robc

برای تست هم می‌توانید موارد زیر را امتحان کنید:

$ rooby ./samples/sample-1.ro
$ rooby ./samples/sample-2.ro
$ rooby ./samples/sample-3.ro
$ rooby ./samples/sample-4.ro
$ rooby .....

نظر شما چیست؟ آیا ادعایی که این زبان کرده -سینتکس دولوپرپسند و کارایی زیاد- درست است؟ نظرات و دیدگاه‌های خود را با ما و سایر کاربران سکان آکادمی به اشتراک بگذارید.

منبع


مرتضی صمدی