روبي (لغة برمجة)
عودة للموسوعةروبي (أوياقوت) (بالإنجليزية: Ruby) هي لغة برمجة كائنية متعددة الاستخدام. وتمتاز اللغة بكونها لغة شيئية نقية كما تمتاز باحتوائها على كثير من خواص اللغات الوظيفية.
تاريخ
في 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). وهومعروضٌ في هذه الصفحة.
مخطات
انظر أيضا
- روبي على قضبان
- برنامج هاكيتي هاك لتعليم روبي للاطفال
مراجع
- ^ https://www.ruby-lang.org/en/about/
- ^ Release 2.7.1 — تاريخ الاطلاع: 1 أبريل 2020 — تاريخ النشر: 31 مارس 2020
- ^ An Interview with the Creator of Ruby — الناشر: أوريلي ميديا — تاريخ النشر: 29 نوفمبر 2001
- ^ https://api.github.com/repos/ruby/ruby — تاريخ الاطلاع: 30 يوليو2018
- ^ "Ruby 1.9.3-p551 Released". www.ruby-lang.org. مؤرشف من الأصل في 18 يناير 2018.
- ^ "Ruby 2.0.0-p648 Released". www.ruby-lang.org. مؤرشف من الأصل في 11 سبتمبر 2017.
- ^ Web Development: Ruby on Rails. Devarticles.com (2007-03-22). Retrieved on 2013-07-17. نسخة محفوظة 06 يوليو2017 على مسقط واي باك مشين.
وصلات خارجية
- المسقط الرسمي
التصنيفات: روبي (لغة برمجة), برامج ويندوز, برمجيات تسخدم رخصة بي إس دي, برمجيات تسخدم رخصة جي بي إل, برمجيات حرة بلغة سي, برمجيات يونكس, لغات برمجة أنشئت في 1995, لغات برمجة ديناميكية, لغات برمجة ديناميكية النمط, لغات برمجة كائنية التوجه, لغات برمجة نصية, معايير الأيزو, منتجات عرضت في 1995, صفحات بها بيانات ويكي بيانات, قالب أرشيف الإنترنت بوصلات واي باك, صفحات تستخدم خاصية P154, صفحات بها مراجع ويكي بيانات, صفحات تستخدم خاصية P571, صفحات تستخدم خاصية P287, صفحات تستخدم خاصية P306, صفحات تستخدم خاصية P275, صفحات تستخدم خاصية P178, صفحات تستخدم خاصية P348, صفحات تستخدم خاصية P737, صفحات تستخدم خاصية P1195, صفحات تستخدم خاصية P856, مقالات تحتوي نصا بالإنجليزية, مقالات بها أقسام فارغة منذ أبريل 2019, جميع المقالات التي بها أقسام فارغة, صفحات تستخدم خاصية P244, صفحات تستخدم خاصية P227, صفحات تستخدم خاصية P268, بوابة برمجيات حرة/مقالات متعلقة, بوابة تقنية المعلومات/مقالات متعلقة, بوابة برمجة الحاسوب/مقالات متعلقة, بوابة علم الحاسوب/مقالات متعلقة, جميع المقالات التي تستخدم شريط بوابات, صفحات تستخدم خاصية P373