روبی (پروگرامنگ زبان)

روبی (یاقوت)  ایک آبجیکٹ اورئنٹڈ اور عمومی مقاصد کے لیے استعمال ہونے والی پروگرامنگ زبان ہے جسے 1990ء کی دہائی کے درمیان یوکوہیرو ماتسوموتو (Yukihiro Matsumoto) نے جاپان میں بنایا تھا۔
اس کے مصنفین کے مطابق، روبی زبان دیگر پروگرامنگ زبانوں پرل، سمال ٹالک، ایفل، ایڈا اور لسپ سے متاثر ہے۔ روبی متعدد پروگرامنگ پیراڈائم کو سپورٹ کرتی ہے، نیز یہ ایک فنکشنل، آبجیکٹ اورئنٹڈ اور امپیریٹیو زبان ہے۔ مزید اس میں ڈائنامک ٹائپ سسٹم اور اور خودکار میموری مینجمنٹ کی سہولت بھی موجود ہے۔

تاریخ 
24 فروری 1993ء میں یوکی ہیرو ماتسوموتو نے روبی زبان کی ڈیزائننگ اور ڈویلپمنٹ کا آغاز کیا۔ ڈیزائننگ کے دوران دیگر پروگرامنگ زبانوں مثلا پرل، پائیتھون، لسپ اور ایڈا کی ممتاز خصوصیات کو اخذ کیا۔ 21 دسمبر 1995ء کو روبی زبان کا پہلا نسخہ (Ruby 0.95) منظر عام پر پیش کیا گیا، نیز اگلے دونوں میں روبی کے مزید تین نسخے پیش کیے گئے۔ لیکن روبی زبان کو زیادہ مقبولیت حاصل نہیں ہوئی، پھر 2005ء میں ڈیوڈ ہائنمائر ہانسون نے روبی زبان میں ویب پروگرامنگ فریم ورک روبی آن ریلس اِرقام کیا تو اس کی مقبولیت میں بے حد اضافہ ہو گیا۔

روبی نام 
روزی زبان کی کوڈنگ سے قبل 24 فروری 1993ء کو ماتسوموتو اور اشت سوکا کے درمیان ایک آن لائن چیٹنگ کے دوران یہ نام “روبی“ سامنے آیا۔ ابتدا میں دو نام پیش نظر تھے، روبی اور کورل (Coral)۔ ماتسوموتو نے روبی کا انتخاب کیا جو اس کے ایک شریک کار کا سنگ پیدائش بھی تھا۔

ابتدائی اشاعتیں 
روبی کی ابتدائی اشاعت Ruby 0.95 کے بعد اس کے مزید متعدد مستحکم نسخے اشاعت پزیر ہوتے رہے، جن کی فہرست درج ذیل ہے:
 روبی 1.0: 25 دسمبر 1996
 روبی 1.2: دسمبر 1998
 روبی 1.4: اگست 1999
 روبی 1.6: ستمبر 2000

2000ء میں روبی زبان جاپان میں پائیتھون سے زیادہ مقبول ہوچکی تھی۔ ستمبر 2000 میں پہلی انگریزی کتاب روبی پروگرامنگ کے نام سے منظر عام پر آئی۔
 روبی 1.8: اگست 2003
 روبی 1.9: دسمبر 2007
 روبی 2.0: 24 فروری 2013

اس اشاعت میں متعدد نئی خصوصیات متعارف کرائی گئیں۔
 روبی 2.1: کرسمس ڈے 2013

مثالیں 
درج ذیل مثالوں کو کسی فائل میں محفوظ کرکے کمانڈ لائن سے چلایا جاسکتا ہے۔ اس کے لیے پہلے Ruby اِرقام کریں، اس کے بعد فائل کا نام درج کریں۔
ہیلو ورلڈ کی کلاسیکی مثال:
puts "Hello World!"
روبی کے کچھ بنیادی کوڈ:
# Everything، including a literal، is an object، so this works:
-199.abs # 199
"ice is nice".length # 11
"ruby is cool.".index("u") # 1
"Nice Day Isn't It?".downcase.split("").uniq.sort.join # " '?acdeinsty"
سٹرنگ کنورژن کی مثال:
puts "What's your favorite number?"
number = gets.chomp
output_number = number.to_i + 1
puts output_number.to_s + ' is a bigger and better favorite number.'

سٹرنگز 
روبی میں سٹرنگز کو ڈیفائن کرنے کے متعدد طریقے ہیں۔
a = "\nThis is a double-quoted string\n"
a = %Q{\nThis is a double-quoted string\n}
a = %{\nThis is a double-quoted string\n}
a = %/\nThis is a double-quoted string\n/
a = <<-BLOCK

This is a double-quoted string
BLOCK

مزید دیکھیے 
 روبی آن ریلس

حوالہ جات

مزید پڑھیے

بیرونی روابط 

 
 Official Ruby documentation
 Ruby User Guide — by Yukihiro Matsumoto، the creator of Ruby
 Ruby From Other Languages
 Ruby Forum — gateway to the ruby-talk mailing list
 Try Ruby! — web-based Ruby  REPL 
 Ruby Draft Specification، September 2010
 

آبجیکٹ اوریئنٹڈ پروگرامنگ زبانیں
آیزو معیارات
پروگرامنگ زبانیں مع آئیسو معیار
خاندان سی پروگرامنگ زبان
روبی پراگرامنگ زبان
اسکرپٹنگ زبانیں
سی میں پروگرام شدہ مفت سافٹ ویئر
سی میں پروگرام شدہ مفت سافٹویئر
مضامین مع نمونہ روبی کوڈ
مفت کمپائلرز و انٹرپریٹرز
ڈائنامکلی تحریر شدہ پروگرامنگ زبانیں
کلاس بیسڈ پروگرامنگ زبانیں
کامنز زمرہ جس کا ربط ویکی ڈیٹا پر ہے
جاپانی ایجادات
Short description is different from Wikidata