روبي (لغة برمجة)

لغة برمجة

روبي (أو ياقوت) (بالإنجليزية: Ruby)‏ هي لغة برمجة كائنية متعددة الاستخدام.[7][8][9] وتمتاز اللغة بكونها لغة شيئية نقية كما تمتاز باحتوائها على كثير من خواص اللغات الوظيفية.

روبي
Ruby logo.svg
صورة الشعار
معلومات عامة
التصنيف
التنميط
ظهرت في
صممها
نظام التشغيل
مايكروسوفت ويندوز — جنو/لينكس — بي إس دي — ماك أوس عدل القيمة على Wikidata
الرخصة
رخصة روبي — رخصة جنو العمومية، الإصدار 2[2] — 2-clause BSD License (en) ترجم[3] عدل القيمة على Wikidata
التطوير
المطور
الإصدار الأول
الإصدار الأخير
المستودع
التأثير
متأثرة بـ
متفرقات
امتدادات الملفات
rb — rbw عدل القيمة على Wikidata
موقع الويب
(الإنجليزية) www.ruby-lang.orgالاطلاع ومراجعة البيانات على ويكي داتا

تاريخعدل

في 24 من فبراير سنة 1993 بدأ الياباني يوكيهيرو ’ماتز’ ماتسوموتو (بالإنجليزية: Yukihiro Matsumoto)‏ مشروعه بتطوير وتصميم لغة الروبي. وقد أخذ بالاعتبار في تصميمه أفضل الخصائص والمميزات الموجود في اللغات الآخرى مثل بيرل، بايثون، ليسب، سی إل ‌یو، أيدا. وحرر أول نسخة للعامة في العام 1995. لم تحصل روبي على الشهرة إلا مؤخرا عندما قام دافيد هاينماير هانسون بتطوير الإطار المشهور لبرمجة الوب روبي على قضبان باستخدام روبي في العام 2005.

فلسفة لغة روبيعدل

ماتسوموتو قال ان لغة برمجة روبي مصممة للإنتاجية وللمرح. وهو يشدد على أن تصميمه اي نظام يحتاج إلى التركيز على احتياجات الإنسان، بدلا من جهاز الكمبيوتر،

«الناس في كثير من الأحيان، ولا سيما مهندسوا الحاسب الآلي، ويكون تركيزهم على جهاز الحاسب الآلي. انهم يعتقدون، "من خلال القيام بذلك، فإن الجهاز سوف يعمل بشكل أسرع. من خلال ذلك، فإن الجهاز يعمل بفعالية أكثر. من خلال ذلك، فإن الجهاز سيكون ويكون ويكون" ولكن في الحقيقة نحن بحاجة إلى التركيز على البشر وعلى كيفية كتابة وفهمنا للبرامج أو تطبيقات تعمل على الجهاز. نحن السادة (البشر). هم العبيد (الجهاز).»

مميزات لغة روبيعدل

  • مفتوحة المصدر
  • ذات أغراض عامة
  • كائنية المنحى
  • ديناميكية، ومفسرة
  • محمولة
  • صيغة نظيفة

مفتوحة المصدر : كون اللغة مفتوحة المصدر يعنى أنه يوجد عدد غير منتهى من المطورين قائمين على اللغة، وسرعة في معالجة الأخطاء.

ذات أغراض عامة : يعنى إمكانية استخدامها في أنواع مختلفة من البرامج سواء في قواعد البيانات أو واجهات رسومية أو برامج علمية أو الويب...إلخ.

لغة كائنية المنحى : الميزة هي أنها الأسلوب الأفضل والأمن لتطوير البرمجيات.

دينامكية: لن تكون مضطرا أن تعلن عن نوع المتغير، بعكس لغات ثانية مثل لغة الجافا.

مفسرة: بمعنى أنها تستخدم مفسر وليس مترجم، سيتبادر إلى ذهنك ما هو المفسر والمترجم.

المترجم : هو برنامج يقوم بتحويل الكود من لغة مثل السى مثلا إلى ملف تنفيذي المفسر : هو برنامج يقوم بتنفيذ الكود سطر بعد سطر وهذا له مميزات وسلبيات: فمن المميزات : هي المحمولية على أكثر من نظام تشغيل وأكثر من بنية من العتاد. بعكس اللغات المترجمة التي ستحتاج إلى إعادة ترجمة برنامجك كل مرة لكل منصة. من السلبيات : البطء وإمكانية الإطلاع على الكود -وهذه لا تعتبر مشكلة في عالم المصادر الحرة-

المحمولية : بمعنى أنها مدعومة على العديد من النظم. وكذالك هي لغة بسيطة

أمثلةعدل

يمكن تشغيل الأمثلة التالية بحفظها في ملف وتشغيلها عن طريق سطر الأوامر بكتابة الأمر 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

مثال حول إعداد مِعماريّة الخَدمات الدقيقة في روبيعدل

كتب هذا المثال في تقرير لموقع توبتال (بالإنجليزية: Toptal)‏. وهو معروضٌ في هذه الصفحة.

انظر أيضًاعدل

مراجععدل

  1. أ ب وصلة مرجع: https://www.ruby-lang.org/en/about/.
  2. ^ وصلة مرجع: https://www.ruby-lang.org/ja/news/2013/06/30/we-retire-1-8-7/.
  3. ^ وصلة مرجع: https://www.ruby-lang.org/ja/news/2011/10/31/ruby-1-9-3-p0-is-released/.
  4. أ ب وصلة مرجع: https://www.ruby-lang.org/en/news/2021/04/05/ruby-3-0-1-released/.
  5. ^ وصلة مرجع: https://www.ruby-lang.org/en/community/ruby-core/, . الوصول: 6 يوليو 2020.
  6. أ ب "An Interview with the Creator of Ruby". أوريلي ميديا. 29 نوفمبر 2001. الوسيط |CitationClass= تم تجاهله (مساعدة); تحقق من التاريخ في: |date= (مساعدة)
  7. ^ "Ruby 1.9.3-p551 Released". www.ruby-lang.org. مؤرشف من الأصل في 18 يناير 2018. الوسيط |CitationClass= تم تجاهله (مساعدة)
  8. ^ "Ruby 2.0.0-p648 Released". www.ruby-lang.org. مؤرشف من الأصل في 11 سبتمبر 2017. الوسيط |CitationClass= تم تجاهله (مساعدة)
  9. ^ Web Development: Ruby on Rails. Devarticles.com (2007-03-22). Retrieved on 2013-07-17. نسخة محفوظة 06 يوليو 2017 على موقع واي باك مشين.

وصلات خارجيةعدل