زبان Ruby

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

چرا Ruby  یک زبان پر‌طرفدار است؟ طرفداران این زبان آن‌ را یک زبان زیبا و هنرمندانه می‌دانند؛ و هنوز می‌گویند که آن، زبانی مفید و عملی است.

 

 

اهداف سازنده‌ی زبان

 

Ruby یک زبان با توازن دقیق است. سازنده‌ی آن، Yukihiro “Matz” Matsumoto، بخش‌های مورد علاقه‌اش از زبان‌های پرل، اسمال‌تاک، ادا و لیسپ را با هم ترکیب کرد برای ساخت یک زبان جدید که برنامه‌نویسی تابعی، شی‌گرا و بازگشتی را پشتیبانی می‌کند.

 

رشد زبان Ruby

 

از زمان انتشار عمومی‌اش در سال 1995، زبان Ruby در اختیار همه‌ی برنامه‌نویسان سراسر جهان قرارگرفت.

درسال 2006 زبان Ruby  به یک پذیرش جمعی رسید. با گروه‌های کاربری فعال در شهر‌های بزرگ دنیا و کنفرانس‌های وابسته به Ruby به تکمیل ظرفیت رسید.

Ruby-Talk، لیست پستی اولیه برای بحث روی زبان Ruby ، در سال 2006 به میانگین روزی 200 پیام در روز رسید. در سال‌های اخیر به عنوان اعضای جامعه یک لیست مرکزی به چندین لیست کوچک که در آن بحث می‌کردند؛ کاهش یافت .

Ruby در میان ده شاخصی که میزان رشد و محبوبیت زبان‌های برنامه‌نویسی را در سراسر جهان اندازه‌گیری می‌کند قرار دارد. بیشتر رشد به میزان محبوبیت نرم‌افزار نوشته شده به Ruby نسبت داده شده، بخصوص فریمورک وب Ruby on Rails . همچنین Ruby کاملا رایگان است. نه تنها رایگان است، بلکه برای استفاده و کپی و تغییر و توزیع نیز رایگان است.

 

Ruby در میان 10 زبان محبوب و پر استفاده در سال 2014

 

دیدن همه چیز به عنوان یک شی

 

ابتدا Matz، سازنده‌ی زبان، نگاهی به دیگر زبان‌ها انداخت و ایده‌ای نحوی به ذهنش رسید. وی گفت:” من زبانی اسکریپتی‌ای می‌خواستم که قوی‌تر از پرل باشد و شی‌گراتر از پایتون.”

در Ruby همه چیز یک شی است. هر بیت از اطلاعات و کد می‌تواند به خاصیت‌ها و اعمال آنها داده شود .  برنامه‌نویسی شی‌گرا خواص را با نام متغیر‌‌های نمونه صدا می‌زند و عمل آنها را به عنوان متد می‌شناسد. در خیلی از زبان‌ها اعداد و نوع‌های اولیه جزء اشیا نیستند. Ruby با دنبال کردن تاثیر زبان Smalltalk به متدها و متغیرهای اولیه نوعشان را می‌دهد. قوانین مربوط به اشیا به همه‌ی Ruby اعمال می‌شود.

 

Ruby انعطاف پذیر است

 

Ruby زبانی انعطاف‌پذیر دیده می‌شود، وقتی که به کاربرانش اجازه می‌دهد آزادانه اجزایش را تغییر بدهند. قسمت‌های ضروری Ruby می‌توانند حذف و یا دوباره تعریف شوند، با اراده. بخش‌های موجود را می‌توان اضافه کرد. Ruby سعی می‌کند که کاربر یا برنامه‌نویس را محدود نکند.

به عنوان مثال، جمع با عملگر به‌اضافه ( + ) تعریف می‌شود. اما اگر بخواهید که جمع را با کلمه‌ی خواندنی Plus استفاده کنید؛ می‌توانید با اضافه کردن کلاس Numeric انجام بدهید این کار را.

class Numeric

     def plus(x)

             self.+(x)

     end

end

y = 5.plus 6

#y is now equal to 11

 

شما می‌توانید عملگرها را دوباره تعریف کنید در هر زمان.

 

ظاهر بصری Ruby

 

با اینکه Ruby اغلب از علائم بسیار محدود استفاده میکند و معمولا کلمات کلیدی انگلیسی را ترجیح می‌دهد، برخی از این نشانه‌گذاری‌ها و علائم برای تزئین زبان است. Ruby به اعلان متغیرها نیازی ندارد. آن از یک قرارداد ساده نامگذاری برای نشان دادن دامنه‌ی متغیرها استفاده می‌کند.

  • Var می‌تواند متغیر محلی باشد.
  • @var متغیر نمونه است.
  • $var متغیر سراسری است.

این نشانه‌ها باعث افزایش خوانایی می شود که اجازه می دهد برنامه نویس به راحتی نقش هر متغیر را شناسایی کند . همچنین استفاده از .self خسته‌کننده هم لازم نیست.

 

 

فراتر از اصول و مبانی

 

Ruby دارای ویژگی های فراوانی ازجمله موارد زیر می باشد:

  • Ruby ویژگی رسیدگی به استثنائات (exception handling) را مانند جاوا و پایتون داراست برای ساده کردن رسیدگی به خطاها.
  • Ruby دارای ویژگی علامت گذاری و جابجایی واقعی ‌جمع‌کننده زباله (Garbage Collector) است. نیازی به حفظ تعداد مرجع در کتابخانه‌های پیشرفته ندارد. همان‌طور که Mats می‌گوید: ” این برای سلامتی شما بهتر است. “
  • Ruby میتواند به صورت داینامیک کتابخانه‌های زبان را بار کند، اگر سیستم عامل اجازه دهد.
  • ویژگی چند نخی مستقل را ارائه می‌دهد، بنابراین برای همه‌ی پلت‌فرم‌ها که ruby را اجرا می‌کنند؛ این ویژگی را دارا هستند حتی سیستم عامل داس.

 

مراجع

1 Matz, speaking on the Ruby-Talk mailing list, May 12th, 2000.

2 Matz, in An Interview with the Creator of Ruby, Nov. 29th, 2001.

3 Matz, in Blocks and Closures in Ruby, December 22nd, 2003.

4 https://www.ruby-lang.org/en/about/

افکار خود را به اشتراک گذارید