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

آزاد دائرۃ المعارف، ویکیپیڈیا سے
Jump to navigation Jump to search
روبی
Ruby logo.svg
پیراڈائم multi-paradigm: اوبجیکٹ اوریئنٹڈ، امپیریٹیو،، فنکشنل، reflective
اشاعت 1995؛ 25 برس قبل (1995)
ڈیزائنر یوکوہیرو ماتسوموتو
ترقی دہندہ Yukihiro Matsumoto، et al.
مستحکم اشاعت 2.1.4 (27 اکتوبر 2014ء (2014ء-10-27)[1])
شعبہ تحریر duck، dynamic
Scope lexical، sometimes dynamic
اہم اطلاقات Ruby MRI، YARV، Rubinius، MagLev، JRuby، MacRuby، RubyMotion، HotRuby، IronRuby، Mruby
متاثر ایڈا،[2] سی++،[2] CLU،[3] Dylan،[3] ایفل،[2] لوا، Lisp،[3] پرل،[3] پائیتھون،[3] Smalltalk[3]
موثر Clojure، D،[4] Elixir، Falcon، Fancy،[5] Groovy، Ioke،[6] Julia،[7]Mirah، Nu،[8] potion، Reia، Swift[9]
آپریٹنگ سسٹم کراس پلیٹ فارم
اجازت نامہ Ruby License or BSD License[10][11]
فائل کی توسیع .rb، .rbw
ویب سائٹ www.ruby-lang.org

روبی (یاقوت) (انگریزی: 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 کے بعد اس کے مزید متعدد مستحکم نسخے اشاعت پزیر ہوتے رہے، جن کی فہرست درج ذیل ہے:

  • روبی 1.0: 25 دسمبر 1996[15]
  • روبی 1.2: دسمبر 1998
  • روبی 1.4: اگست 1999
  • روبی 1.6: ستمبر 2000

2000ء میں روبی زبان جاپان میں پائیتھون سے زیادہ مقبول ہوچکی تھی۔[18] ستمبر 2000 میں پہلی انگریزی کتاب روبی پروگرامنگ کے نام سے منظر عام پر آئی۔

  • روبی 1.8: اگست 2003
  • روبی 1.9: دسمبر 2007
  • روبی 2.0: 24 فروری 2013[19]

اس اشاعت میں متعدد نئی خصوصیات متعارف کرائی گئیں۔

  • روبی 2.1: کرسمس ڈے 2013[20]

مثالیں[ترمیم]

درج ذیل مثالوں کو کسی فائل میں محفوظ کرکے کمانڈ لائن سے چلایا جاسکتا ہے۔ اس کے لیے پہلے 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

مزید دیکھیے[ترمیم]

حوالہ جات[ترمیم]

  1. nagachika۔ "Ruby 2.1.4 Released"۔ مورخہ 25 دسمبر 2018 کو اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 27 October 2014۔ نادرست |=مردہ ربط (معاونت)
  2. ^ ا ب پ Cooper، Peter۔ Beginning Ruby: From Novice to Professional۔ Beginning from Novice to Professional۔ Berkeley: APress۔ صفحہ 101۔ ISBN 1-4302-2363-4۔ To a lesser extent، Python، LISP، Eiffel، Ada، and C++ have also influenced Ruby. نادرست |=مردہ ربط (معاونت)
  3. ^ ا ب پ ت ٹ ث Bini، Ola۔ Practical JRuby on Rails Web 2.0 Projects: Bringing Ruby on Rails to Java۔ Berkeley: APress۔ صفحہ 3۔ ISBN 1-59059-881-4۔ It draws primarily on features from Perl، Smalltalk، Python، Lisp، Dylan، and CLU. نادرست |=مردہ ربط (معاونت)
  4. "Intro - D Programming Language 1.0 - Digital Mars"۔ Digital Mars۔ مورخہ 25 دسمبر 2018 کو اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 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. نادرست |=مردہ ربط (معاونت)
  5. Bertels، Christopher۔ "Introduction to Fancy"۔ مورخہ 25 دسمبر 2018 کو اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 2011-07-21۔ نادرست |=مردہ ربط (معاونت)
  6. Bini، Ola۔ "Ioke"۔ مورخہ 25 دسمبر 2018 کو اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 2011-07-21۔ inspired by Io، Smalltalk، Lisp and Ruby نادرست |=مردہ ربط (معاونت)
  7. http://julia.readthedocs.org/en/latest/manual/introduction/
  8. Burks، Tim۔ "About Nu™"۔ Neon Design Technology، Inc.۔ مورخہ 25 دسمبر 2018 کو اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 2011-07-21۔ نادرست |=مردہ ربط (معاونت)
  9. Lattner، Chris۔ "Chris Lattner's Homepage"۔ Chris Lattner۔ مورخہ 25 دسمبر 2018 کو اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 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. نادرست |=مردہ ربط (معاونت)
  10. COPYING in Ruby official source repository
  11. BSDL in Ruby official source repository
  12. "About Ruby"۔ مورخہ 25 دسمبر 2018 کو اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 2 March 2014۔ نادرست |=مردہ ربط (معاونت)
  13. More archeolinguistics: unearthing proto-Ruby
  14. "Re: history of ruby" — E-mail from Yukihiro Matsumoto to ruby-talk
  15. ^ ا ب پ http://blog.nicksieger.com/articles/2006/10/20/rubyconf-history-of-ruby History of Ruby
  16. "The Ruby Language FAQ – 1.3 Why the name 'Ruby'?"۔ Ruby-Doc.org۔ مورخہ 25 دسمبر 2018 کو اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ April 10، 2012۔ نادرست |=مردہ ربط (معاونت); Check date values in: |accessdate= (معاونت)
  17. Yukihiro Matsumoto (June 11، 1999). "Re: the name of Ruby?". Ruby-Talk mailing list. Archived from the original on 25 دسمبر 2018. http://web.archive.org/web/20181225131629/http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/394%0A%20۔ اخذ کردہ بتاریخ April 10، 2012. 
  18. Yukihiro Matsumoto۔ "Programming Ruby: Forward"۔ مورخہ 25 دسمبر 2018 کو اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 5 March 2014۔ نادرست |=مردہ ربط (معاونت)
  19. Endoh، Yusuke. (2013-02-24) Ruby 2.0.0-p0 is released. Ruby-lang.org. Retrieved on 2013-07-17.
  20. "Ruby 2.1.0 is released"۔ مورخہ 25 دسمبر 2018 کو اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ December 26، 2013۔ نادرست |=مردہ ربط (معاونت); Check date values in: |accessdate= (معاونت)

مزید پڑھیے[ترمیم]

بیرونی روابط[ترمیم]