با اشتباه نشود. (به : ) یک انعطاف‌پذیر، وب،تست نفوذ، پویا و است. روبی ویژگی‌های نگارشی و شی گرایی را با هم در خود دارد. زبان روبی در سال‌های میانی توسط در اختراع شد. ویژگی‌های گوناگون زبان‌های ، ، و الهام‌بخش ماتسوموتو در ساخت روبی بودند.
 زبان روبی از جمله ، و را پشتیبانی می‌کند، دارای گزاره‌ها و متغیرهای پویا و مدیریت حافظه خودکار است.
 نسخه فعلی این زبان است که به و به صورت زبانی با پیاده‌سازی شده‌است. 
تا سال ، گونه‌های مختلفی از زبان روبی توسعه یافته‌اند که از میان آن‌ها می‌توان به ، ، ، و ، اشاره کرد.
 زبان روبی رسماً در روز (۵ اسفند ۱۳۷۱) توسط معرفی شد. او دنبال ساخت زبانی بود که امکانات متعادلی برای و برای برنامه‌نویس فراهم آورد. ماتسوموتو دربارهٔ انگیزه‌اش برای ساخت روبی می‌گوید: .
 یوکیهیرو ماتسوموتو و همکارش دو نام «روبی» و «کورال» را برای این زبان جدید برگزیده بودند. از آنجاییکه نام پیش از آن برای یکی از زبان‌های برنامه‌نویسی انتخاب شده بود، نام «روبی» به عنوان نام نهایی برگزیده شد. ماتسوموتو گفته که یکی از دلایل انتخاب نام «روبی» این بود که (به : ) نشان ماه تولد یکی از همکاران وی بوده‌است.
 نخستین ویرایش روبی با عنوان روبی ۰٫۹۵ در (۳۰ آذر ۱۳۷۴) روی یکی از شبکه‌های تخصصی اینترنتی در ژاپن منتشر شد. پس از آن، سه ویرایش دیگر رویی در ظرف دو روز انتشار یافتند. در همین دوره نخستین برای روبی در ژاپن براه افتاد.
 نخستین نسخه اصلی روبی با عنوان روبی ۱٫۰ در (۵ دی ۱۳۷۵) منتشر شد. پس از انتشار روبی ۱٫۳ در سال ، نخستین لیست پست الکترونیک به زبان انگلیسی آغاز بکار کرد. در سپتامبر سال ۲۰۰۰ نخستین کتاب راهنمای برنامه‌نویسی به زبان روبی به به چاپ رسید که به افزایش محبوبیت این زبان در کشورهای مختلف کمک کرد.
 ۱-روبی آن ریلز محبوب و مورد علاقهٔ اکثر برنامه نویسان روبی است که در سال ۲۰۰۵ توسط آقای یا به اختصار بنیان‌گذاری شد، به‌طور دیگر می‌توان گفت اکثر برنامه نویسان توسط ریلز به روبی کشیده شده‌اند! نام‌های «روبی» و «روبی آن ریلز» آنقدر با هم استفاده شده‌اند که برای بسیاری شاید تفاوت این دو روشن نباشد.
 
 جدیدترین نسخه پایدار روبی، نسخهٔ ۱٫۹٫۱ است که نسبت به نسخهٔ پیشین (۱٫۸٫۶) چند تغییر عمده در خود دارد. از جمله تغییرات مهم می‌توان به افزودن محلی در «بلوک»‌های روبی، و امکان تنظیم به صورت مستقل از هم اشاره کرد.
 پس از نسخه ۱٫۹ نسخهٔ ۲٫۰ منتشر خواهد شد. 
 از اکتبر ۲۰۱۱ برنامه‌ریزی شده‌است که کدهای روبی در اکتبر ۲۰۱۲ فریز شود و در فوریه ۲۰۱۲ منتشر شود. 
 نسخه ۲٫۱ در سال منتشر شد. این بروزرسانی شامل، افزایش سرعت، و به روزرسانی کتابخانه‌ها، و تعمیر ، بود.
 در ۲۱ آپریل ۲۰۱۷، اعلام شد که دیگر از این نسخه پشتیبانی نمی‌شود.
 روبی ۲٫۴٫۰ در سال ۲۰۱۶ منتشر شد و تغییرات قابل توجه عبارتند از:
 
 
 
 
 شاخه ۲٫۴ همچنین شامل بهبود عملکرد هش جدول، آرایه#حداکثر، آرایه#دقیقه و به عنوان مثال دسترسی متغیرها است. 
 
 روبی ۲٫۵٫۰ در کریسمس سال ۲۰۱۷ منتشر شد. چند تغییر قابل توجه، شامل موارد زیر است:
 
 
 
 On top of that come a lot of performance improvements like faster block passing (3 times faster), faster Mutexes, faster ERB templates and improvements on some concatenation methods.
 روبی ۲٫۶٫۰ در کریسمس سال ۲۰۱۸ منتشر شد. چند تغییر قابل توجه، شامل موارد زیر است:
 
 روبی ۲٫۷٫۰ در کریسمس سال ۲۰۱۹ منتشر شد. چند تغییر قابل توجه، شامل موارد زیر است:
 
 
 
 روبی ۳٫۰٫۰ در کریسمس سال ۲۰۲۰ منتشر شد. چند تغییر قابل توجه، شامل موارد زیر است:
 
 
 سازنده زبان روبی یوکیهیرو ماتسوموتو می‌گوید روبی برای افزایش توان تولید و تفریح برنامه‌نویسان طراحی شده‌است و از اصل رابط کاربری خوب پیروی می‌کند. او تأکید می‌کند که طراحی سامانه‌ها باید بیشتر روی نیاز انسان‌ها متمرکز باشد تا رایانه‌ها.
اغلب مردم، به ویژه برنامه‌نویسان، روی ماشین‌ها تمرکز می‌کنند. آن‌ها فکر می‌کنند "با انجام این کار ماشین‌ها سریعتر می‌شوند، ماشین‌ها در اجرا موثرتر می‌باشند و …" آن‌ها بر ماشین تمرکز می‌کنند، اما در حقیقت ما نیاز داریم که به انسان‌ها توجه کنیم، اینکه چگونه آن‌ها به برنامه‌نویسی توجه دارند یا چگونه به اجرای برنامه‌های ماشین دقت می‌کنند.
روبی برای تعقیب هدف کمترین غافلگیری بیان شدبه این معنی که زبان باید طوری رفتار کند که کمترین گیج‌کنندگی را برای استفاده‌کننده‌های آن داشته باشد. ماتسوموتو همچنین اظهار می‌دارد که هدف اولین طراحی او درست کردن زبانی که خودش از آن لذت ببرد بود. این کار با کم کردن کار برنامه‌نویس و ابهامات منطقی می‌باشد. اما کمترین غافلگیری هنوز خیلی به بیان زبان برنامه‌نویسی روبی نزدیک است.
افراد ناشی شاید این را به این معنا تعبیر کنند که رفتارهای روبی سعی در متصل کردن اشتراکات رفتارهای دیگر زبان‌ها را دارد.
در بحث ماه مه ۲۰۰۵ در روزنامه "کامپ. لنگ. روبی" ماکسوموتو تلاش کرد که روبی را از حداقل غافلگیری دور کند. توضیح اینکه هر شانس طراحی بعضی‌ها را متعجب می‌کند.
او از استاندارد خود برای ارزیابی غافلگیری استفاده کرد. ماتسوموتو این را در یک گزارش مطرح ساخت.
"همه یک پیشینه شخصی دارند، بعضی‌ها از جانب پایتون می‌آیند بعضی‌های دیگر از پرل و آن‌ها ممکن است از بعضی از جنبه‌های متفاوت زبان غافلگیر شوند. سپس آن‌ها به من می‌گویند ما از بعضی از جنبه‌های زبان غافلگیر شدیم، بنابرین روبی قانون کمترین غافلگیری را زیر پا گذاشته‌است. صبر کنید… هدف کمترین غافلگیری فقط برای شما نیست. این هدف به معنای کمترین غافلگیری ممکن برای بیان من می‌باشد. این به معنای کمترین غافلگیری بعد از آموزش کامل زبان است.
برای مثال من قبل از اینکه روبی را طراحی کنم یک برنامه‌نویس سی پلاس پلاس بودم. من منحصراً دو، سه سال در سی پلاس پلاس برنامه نوشتم و بعد از دو سال برنامه‌نویسی با آن، هنوز مرا متعجب می‌کرد."
 روبی شی گراست: همه انواع داده شی هستند، از جمله کلاس‌ها و خیلی از انواع داده‌ای که به‌طور معمول در بقیه زبان‌ها نیز هست مانند داده صحیح، دودویی و ….
تابع به صورت متد می‌باشد. روبی ارث بری را با فرستادن پویا و متدهای یکتا پشتیبانی می‌کند (متعلق به، تعریف شده برای، یک نمونه تک به جای تعریف شدن در کلاس)
همچنین روبی از ارث بری چندگانه پشتیبانی می‌کند. نحو رویه‌ای پشتیبانی می‌شود، اما همهٔ متدها که خارج از حوزه یک شی خاص تعریف می‌شوند همه آن در حقیقت متدهای شی یک کلاس هستند. تا زمانی که این کلاس والد کلاس دیگر است تغییرات برای همه کلاس‌ها و شی‌ها ممکن است. روبی به عنوان یک زبان برنامه‌نویسی چند مدلی تشریح شده. در روبی اجازهٔ برنامه‌نویسی رویه‌ای، شیءگرا و تابعی داده شده.
بر طبق سوالات متداول روبی «اگر تو به پرل علاقه‌مند باشی روبی را هم دوست خواهی داشت و می‌توانی از نحو آن استفاده کنی. اگر اسمالتالک را دوست داری روبی را هم دوست خواهی داشت و می‌توانی از معنای آن لذت ببری و اگر طرفدار پایتون هستی تو ممکن است تفاوت عمده‌ای بین پایتون و روبی پیدا کنی یا که نه.»
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 توزیع استاندارد روبی دارای یک مفسر تعاملی بنام irb است که می‌تواند برای آزمایش سریع کد بکار رود. یک نشست با این برنامه تعاملی به صورت زیر است:
 همچنین وجود ماژول readline به کاربر امکان استفاده از shellهای مختلف را با پشتیبانی از تاریخچه تغییرات می‌دهد.
 روبی بسیار شبیه سینتکس پرل و پایتون است. اعلان کلاس‌ها و متدها توسط کلمات کلیدی انجام می‌شود. در مقایسه با پرل متغیرها الزاماً با یک علامت خاص شروع نمی‌شوند. (وقتی از چنین علائمی استفاده شود علامت حوزه دید متغیر را تغییر می‌دهد) بارزترین تفاوت روبی از سی و پرل آنست که کلمات کلیدی (بجای براکت) برای تعریف بلوک‌های کد استفاده می‌شوند. سطر جدید به‌عنوان پایان یک جمله بکار برده می‌شود در عین حال که برای اینکار می‌توان از یک سمی کالون (;) نیز استفاده کرد. تورفتگی‌ها معنی خاصی ندارند (برعکس پایتون).
نمونه‌هایی از سینتکس روبی را می‌توانید در بخش مثال‌ها ببینید.
 با وجود اینکه طراحی روبی بر اصل عدم غافلگیری استوار است، به‌طور طبیعی برخی امکانات آن از زبان‌هایی مانند سی و پرل متفاوت است:
 
 
 
 در ضمن برخی مسائل در مورد خود زبان برجسته است:
 
 مثال کلاسیک Hello world:
 مقداری کد اساسی روبی:
 ایجاد و استفاده از یک آرایه:
 ایجاد و استفاده از یک هش:
 هر دو سینتکس برای ایجاد یک بلوک کد:
 ارسال پارامتر به یک بلاک تا یک شود:
 بازگشت closure از یک متد:
 دادن جریان کنترل یک برنامه به یک بلوک که در هنگام فراخوانی ایجاد شده:
 ایجاد حلقه بر روی آرایه‌ها و با استفاده از بلوکها:
 بلوک‌ها با بسیاری از متدهای داخلی روبی کار می‌کنند:
 یا:
 استفاده از یک enumoration و یک بلوک برای جذر گرفتن اعداد ۱ تا ۱۰:
 کد زیر یک کلاس بنام Person را تعریف می‌کند.
 کد بالا سه نام را بر حسب سن از زیاد به کم چاپ می‌کند:
 یک (exception) توسط اعلان raise ایجاد می‌شود:
 یک پیام اختیاری می‌تواند به استثناء اضافه شود:
 شما همچنین می‌توانید تعیین کنید که چه نوعی از استثناء را می‌خواهید ایجاد کنید:
 استثناها توسط rescue کنترل می‌شوند. این عنوان می‌تواند استثناهایی را که از StandardError مشتق می‌شوند بگیرد:
 توجه داشته باشید که تلاش برای گرفتن تمام استثناها توسط یک rescue یک اشتباه معمول است و برای گرفتن تمام استثناها باید به صورت زیر عمل کرد:
 یا یک استثنای به‌خصوص:
 و نهایتاً امکان آن وجود دارد که تعیین کرد شی استثناء برای عنوان کنترل‌کننده مهیا شود:
 همچنین آخرین استثناء در یک متغیر جهانی به صورت !$ ذخیره می‌شود.
 روبی دو پیاده‌سازی اصلی دارید: مفسر رسمی روبی که بیشتر مورد استفاده قرار می‌گیرد، و JRuby که یک پیاده‌سازی براساس است.
 روبی برای سیستم‌عامل‌های زیر ارائه می‌شود:
 
 
 
 
 
 
 
 
 
 
 پیاده‌سازی‌های دیگر نیز ممکن است وجود داشته باشد.
 مفسر روبی و کتابخانه‌های آن تحت مجوز دوگانه آزاد و باز متن و اجازه‌نامه روبی منتشر شده‌است.
 (RAA) و همچنین منابعی برای انواع مختلف برنامه‌ها و کتابخانه‌های نوشته شده با روبی هستند که حاوی بیش از دو هزار آیتم هستند. با اینکه تعداد برنامه‌های موجود قابل قیاس با تعداد برنامه‌های موجود در پرل و پایتون نیست، ولی طیف وسیعی از ابزارهای مختلف برای توسعه سریع روبی موجود است.
 برنامه استاندارد مدیریت بسته‌ها برای کتابخانه‌های روبی است و بسیار شبیه به در پرل است، همچنین نحوه استفاده از آن بیشتر شبیه ابزار [apt-get] در لینوکس است.
 همچنین، روبی انجمن‌های فعال و گسترده‌ای برای کمک به علاقه‌مندان به این زبان دارد. در نیز انجمن فعال‌ترین انجمن فارسی‌زبان روبی و همچنین است.
{"title": "روبی (زبان برنامه‌نویسی)", "link": "https://fa.wikipedia.org//w/index.php?title=%D8%B1%D9%88%D8%A8%DB%8C_(%D8%B2%D8%A8%D8%A7%D9%86_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3%DB%8C)&oldid=34857122", "language": "fa"}