سؤال جيّد و أهنيك عليه. أفضل بكثير، و بمراحل، من سؤال "ما الأفضل".
إذا تصميمك لموقع عملياته محددة، يعني استعلام من قاعدة معلومات، توفير API، .... تقريبا متطلبات 99% من مواقع الانترنت، في هذه الحالة، لا يوجد أي فرق بين اللغتين. و السبب؟ اللغتين قادرة على التعامل مع طلبات الانترنت
لكن، متى بدأت بالتوسع، مثلا بدأت ببناء أنظمة تساعدك في موقعك، مثلا بناء message queue system، أو أردت التعامل مع مكتبات نظام التشغيل بشكل مباشر. أو مثلا تريد بناء TCP server يستقبل نوع معين من الطلبات و سيقوم بمعالجتها. في هذه الحالة، تحتاج لغة برمجة تُصنّف تحت general-purpose programming language، أو لغة برمجة عامة. ما اللغة العامة في نظرك؟ روبي أو PHP؟
اللغة العامة Ruby.
مشكلة Ruby في تطبيقات الويب، و هذه تعتبر معضلة للمبتدئين و الجدد في روبي، هو الوقت الذي تحتاجه لإعداد الخادم لدعم Ruby لتطبيقات الويب.
ذكر pluscss معلومات أراها و بشكل شخصي آراء شخصية ناقصة بدون براهين.
امكانيات PHP أكبر .
للأسف، لا يوجد أي ما يثبت ذلك. لغة Ruby لغة عامة و لغة PHP لغة مخصصة للويب. مع أطر العمل للغة ruby، -لا يوجد أي فرق بين إمكانيات روبي و PHP. لكن، أنا أقول العكس، إمكانيات روبي أكثر.
بسبب أن لغة روبي أعمّ من PHP، سترى مكتبات مكتوبة بلغة روبي لن تراها في PHP، مثلا أدوات للعمليات العلمية المعقدة: http://sciruby.com . بسبب أن لغة روبي عامة، أشخاص من مجالات مختلفة ينشروا أنواع مختلفة من المكتبات بشكل مستمر. و لو أحببت، تستطيع استخدام أي مكتبة في موقعك.
و ذكر:
ما كان يميز روبي هو انها غرضية التوجه .. PHP أيضاً أصبحت غرضية التوجه .
ما لا يعلمه، هو أن كل شئ في روبي عبارة عن object. حتى الأرقام. و هذا شئ ليس في PHP.
و لو أحببت ميزة في Ruby، أتوقع لن تجدها في أي لغة أخرى، هي باستطاعتك التعديل على object أي شئ. تستطيع إضافة functions لـ String مثلا، مع العلم String عبارة عن class في اللغة. الخاصية هذه مفيدة، لكن خطيرة لو استعملت بشكل خاطئ.
روبي لديها إطار عمل مميز "روبي اون ريلز" .. PHP لديها أكثر من 20 إطار عمل كلها ممتازة و رائعة و استخدامها متعة .
PHP مدعومة بنسبة أكبر بكثير من دعم روبي .
مالا يعلمه، أن نشاط إطار ruby on rails لوحده ينافس نشاط كل أطر عمل PHP مجتمعة. ادخل على github.com و بالتحديد هذا الرابط: . الرابط عبارة عن جميع ما أضيف في موقع github ، مكتبات، برامج، .... لأي لغة من بداية سنة 2013 إلى الآن . ستجد في اليسار قائمة بعدد إضافات كل لغة، قارن بين عدد Ruby و عدد PHP : . مع العلم، أظن أن الأغلبية في Ruby لها علاقة بـإطار Rails. أيضا، Google Trends تعرف مرات البحث عن مصطلحات: http://www.google.com/trend... . البحث عن Ruby on rails أكثر من البحث عن أشهر أطر عمل PHP مجتمعة.
فقرة هل تعلم سريعة
ما يميّز لغة Ruby في الويب هو إطار عمل Rails و سهولة البرمجة فيها. مثلا، تستطيع في أقل من 30 ثانية، كتابة 3 أوامر بسيطة، جدا بسيطة، للحصول على نظام تسجيل دخول\تسجيل خروج\تسجيل في الموقع مع خاصة فقدان كلمة سرية و إمكانيات أخرى. هذا في أقل من دقيقة.
لغة روبي و إطار Rails يشجعوا على DRY: أو بالعربي، لا تكرر نفسك. بمعنى، إذا قمت مرة بتصميم نظام، لماذا لا نجعل إضافة هذا النظام لأي مشروع مستقبل سهل، بسهولة
require 'model'
و هذا ما فعلوه. إذا أردت استخدام إحدى المكتبات، قم بتنفيذ السابق، فقط.
فقرة هل تعلم
هل تعلم أنه بإضافة 12 حرف، تستطيع أن تجعل أي form يرسل الطلب بطريقة Ajax أو بالطريقة المعتادة؟ لا حاجة لكتابة أي كود جافاسكريبت.
كما قلت، لغة روبي عامة، لكن هل تعلم اللغة الأعم منها؟ لغة بايثون. و لديها إطار شبيه بـ Rails لكن توجد فروق و هذا ليس الموضوع المناسب لمناقشتها.
الويب العربي ما زال متمسك بلغة PHP بسبب كثرة المصادر العربية و كثرة الـ snippets أو المقتطفات البرمجية للغة في كل منتدى. هذا غير أن أغلب المواقع عبارة عن مدونة wordpress أو منتدى vb. الاثنين مبرمجين بلغة php و هذا ساعد على انتشارها. لكن لو بدأ يقرأ أكثر عن روبي، ستفاجأ بسهولة تطوير المواقع. و لو أحببت، يوجد درس عربي مجاني قادم الأسبوع القادم من شخص لديه خبرة في روبي و الويب : . سجّل و ستستفيد إن شاء الله.
موقع twitmail موقع سعودي متميّز. بدأ بلغة PHP و حاليا في مرحلة الإنتقال لـ python، و هنا يناقش مؤسس الموقع الأسباب، ستلاحظ صعوبات التعامل مع PHP إذا قارنتها باللغات الأخرى.
ملاحظة: هذا رد من شخص برمج بلغة PHP ثم انتقل إلى Python للويب و بناء سكربتات لنظام لينكس، ثم توجهت لإطار Rails.
التعليقات