Ruby یک زبان برنامه نویسی پویا و متن باز (open source) است که تمرکز خود را بر روی سادگی و بهره وری بالا قرار داده است و از سینتکس ظریفی استفاده می کند که برای درک و نوشتن بسیار راحت است. روبی یک زبان انعطاف پذیر و شیء گراست که همه چیز در آن به عنوان یک شیء خواهد بود و هر بیت از اطلاعات و کد می توانند مشخصات (properties) و عملیات (actions) خود را داشته باشند. در زبان های شی گرا (Object-oriented) مشخصات با صدا کردن نام اشیا به آن ها نسبت داده می شود و عملیات به عنوان متد شناخته می شوند. ایده اصلی طراحی روبی علاوه بر پیروی از اصول طراحی خوب رابط کاربر، خوشنود کردن برنامه نویسان با کمتر کردن کارهای تکراری بود که آن ها بایستی انجام می دادند.