রুবি একটি রিফ্লেকটিভ, চলমান, অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা। এর সিনট্যাক্স মূলত নেয়া হয়েছে পার্ল থেকে। এতে স্মলটক এর মত অবজেক্ট ওরিয়েন্টেশন বা বস্তু সংশ্লিষ্টতা যুক্ত করা হয়েছে। এছাড়া এতে পাইথন, লিস্প, ডিলন ও সিএলইউ এর কিছু বৈশিষ্ট্যও যুক্ত হয়েছে।