روبی (یاقوت) (انگریزی: Ruby) ایک آبجیکٹ اورئنٹڈ اور عمومی مقاصد کے لیے استعمال ہونے والی پروگرامنگ زبان ہے جسے 1990ء کی دہائی کے درمیان یوکوہیرو ماتسوموتو (Yukihiro Matsumoto) نے جاپان میں بنایا تھا۔
اس کے مصنفین کے مطابق، روبی زبان دیگر پروگرامنگ زبانوں پرل، سمال ٹالک، ایفل، ایڈا اور لسپ سے متاثر ہے۔[12] روبی متعدد پروگرامنگ پیراڈائم کو سپورٹ کرتی ہے، نیز یہ ایک فنکشنل، آبجیکٹ اورئنٹڈ اور امپیریٹیو زبان ہے۔ مزید اس میں ڈائنامک ٹائپ سسٹم اور اور خودکار میموری مینجمنٹ کی سہولت بھی موجود ہے۔
تاریخ
24 فروری 1993ء میں یوکی ہیرو ماتسوموتو نے روبی زبان کی ڈیزائننگ اور ڈویلپمنٹ کا آغاز کیا۔ ڈیزائننگ کے دوران دیگر پروگرامنگ زبانوں مثلا پرل، پائیتھون، لسپ اور ایڈا کی ممتاز خصوصیات کو اخذ کیا۔ 21 دسمبر 1995ء کو روبی زبان کا پہلا نسخہ (Ruby 0.95) منظر عام پر پیش کیا گیا،[13][14] نیز اگلے دونوں میں روبی کے مزید تین نسخے پیش کیے گئے۔[15] لیکن روبی زبان کو زیادہ مقبولیت حاصل نہیں ہوئی، پھر 2005ء میں ڈیوڈ ہائنمائر ہانسون نے روبی زبان میں ویب پروگرامنگ فریم ورک روبی آن ریلس اِرقام کیا تو اس کی مقبولیت میں بے حد اضافہ ہو گیا۔
روبی نام
روزی زبان کی کوڈنگ سے قبل 24 فروری 1993ء کو ماتسوموتو اور اشت سوکا کے درمیان ایک آن لائن چیٹنگ کے دوران یہ نام “روبی“ سامنے آیا۔[15] ابتدا میں دو نام پیش نظر تھے، روبی اور کورل (Coral)۔ ماتسوموتو نے روبی کا انتخاب کیا جو اس کے ایک شریک کار کا سنگ پیدائش بھی تھا۔[16][17]
ابتدائی اشاعتیں
روبی کی ابتدائی اشاعت Ruby 0.95 کے بعد اس کے مزید متعدد مستحکم نسخے اشاعت پزیر ہوتے رہے، جن کی فہرست درج ذیل ہے:
درج ذیل مثالوں کو کسی فائل میں محفوظ کرکے کمانڈ لائن سے چلایا جا سکتا ہے۔ اس کے لیے پہلے 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.chompoutput_number=number.to_i+1putsoutput_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=<<-BLOCKThis is a double-quoted stringBLOCK
^ ابپ
Cooper، Peter (2009)۔ Beginning Ruby: From Novice to Professional۔ Beginning from Novice to Professional (2nd ایڈیشن)۔ Berkeley: APress۔ ص 101۔ ISBN:1-4302-2363-4۔ To a lesser extent، Python، LISP، Eiffel، Ada، and C++ have also influenced Ruby.
↑"Intro - D Programming Language 1.0 - Digital Mars"۔ Digital Mars۔ 2018-12-25 کو اصل سے آرکائیو کیا گیا۔ اخذ شدہ بتاریخ 2014-10-21۔ D is a systems programming language. Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like یاقوت and Python.
↑Bertels، Christopher (23 فروری 2011)۔ "Introduction to Fancy"۔ Rubinius blog۔ 2018-12-25 کو اصل سے آرکائیو کیا گیا۔ اخذ شدہ بتاریخ 2011-07-21
↑Bini، Ola۔ "Ioke"۔ Ioke.org۔ 2018-12-25 کو اصل سے آرکائیو کیا گیا۔ اخذ شدہ بتاریخ 2011-07-21۔ inspired by Io، Smalltalk، Lisp and Ruby
↑"آرکائیو کاپی"۔ 2016-04-08 کو اصل سے آرکائیو کیا گیا۔ اخذ شدہ بتاریخ 2014-11-01
↑Burks، Tim۔ "About Nu™"۔ Programming Nu™۔ Neon Design Technology، Inc.۔ 2018-12-25 کو اصل سے آرکائیو کیا گیا۔ اخذ شدہ بتاریخ 2011-07-21
↑Lattner، Chris (3 جون 2014)۔ "Chris Lattner's Homepage"۔ Chris Lattner۔ 2018-12-25 کو اصل سے آرکائیو کیا گیا۔ اخذ شدہ بتاریخ 2014-06-03۔ The Swift language is the product of tireless effort from a team of language experts، documentation gurus، compiler optimization ninjas، and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course، it also greatly benefited from the experiences hard-won by many other languages in the field، drawing ideas from Objective-C، Rust، Haskell، Ruby، Python، C#، CLU، and far too many others to list.