شارك برايك لماذا اغلب المشاريع العربية الان تستخدم روبى مثلا هذا المجتمع وموقع اجبتك وغيرها
لماذا اغلب مشاريع الويب الجديده تستخدم روبى ؟
أولاً : هذه الاحصائية خاطئة أو ان سؤالك خاطئ .. يمكنك اعادة صياغة السؤال : لماذا بدأ بعض المبرمجين بالانتقال إلى روبي ؟
اولاً : PHP هي الأكثر انتشاراً سواء عربياً او عالمياً ، قديماً أو جديداً .. لبناء التطبيقات الكبيرة أو الصغيرة . لأنها الأكثر تواجداً من ناحية السيرفرات و الدعم التعليمي للغة و المستندات و الدروس .
ثانياً : تعلم Ruby موضوع كمالي .. بعض المبرمجين لديه هواية جمع لغات الويب اذ لا يوجد ما يميز روبي عن اي لغة برمجة أخرى مثل PHP أو Python بل بالعكس كلتا اللغتان أغنى من روبي . سأعطيك مثالاً عن نفسي : أنا أتقن البرمجة بـ PHP بنسبة 90% و يمكنني تنفيذ أي مشروع مهما كان معقداً .. لماذا انتقل الى روبي ؟؟ ببساطة ( رفاهية ) .. و لكي أضيف إلى سيرتي المهنية لغة برمجة قد لا استخدمها عملياً .. او ربما اطور تطبيقاً بها و عندما يشتهر هذا التطبيق و يزداد عدد مستخدميه ساعيد برمجته مجدداً بـ PHP كما فعلت تويتر ..
هذا بعض ما لدي بخصوص موضوع روبي .. قد يفيدنا الاستاذ عبد المهيمن بما أنه المبرمج الوحيد الذي أعرفه و يستخدم روبي في مشاريعه .
كلامك جميل الا اني لا اتفق معك فيما يتعلق بالـ "رفاهية" و "موضوع كمالي" لأنه بكل بساطة "كل لغة لها استخداماتها التي تجعلها متميزة عن اللغات الاخرى واستخدامها في مجالات معينة افضل من غيرها" أي مثلاً php ليست مناسبة لبرمجة الالعاب وايضاً روبي لا اعرف استخدامات روبي الانسب ولم اتعامل مع هذه البرمجة من قبل ولكن خطأ كبير ان تقول انها مجرد كمال ورفاهية..
شكرا لك اخى العزيزى وفعلا السوال يحتاج الى اعادة الصياعة كام ذكرت
وبخصوص الرفاهية فاهو موضوع خاص
وايضا اذا كان مشروعى مثلا بالغة روبى سوف احتاج على حد علمى سيرفر خاص يدعم الغة
او استضافة تدعم الاضافات والادوات المستخدمه فى المشروع !!
قد يفيدنا الاستاذ عبد المهيمن بما أنه المبرمج الوحيد الذي أعرفه و يستخدم روبي في مشاريعه .
سرعة الانتاجية في لغة روبي أكبر من أي لغة تعاملت معها ولا أبالغ أن قلت أنت تطوير تطبيق ويب باستخدام روبي أسرع بعشرات المرات من جافا وربما أضعاف لغة مثل PHP.
بخصوص السيرفر، أجل ستحتاج للقيام بالـ deployment بنفسك والاستضافة المشتركة لا تصلح لها رغم أنها متوفرة. الأمر ليس صعب ويمكنك أيضاً استخدام cloud services توفر ذلك بشكل سهل جداً.
بالنهاية، اختيار لغة البرمجة يعود للمبرمج والأمر أشبه بالأذواق. سواء كنت مبرمج PHP أو بايثون أو جافا. طالما تستطيع التطوير بها ومرتاح بذلك لا داعي للتغير الا اذا كنت من النوع الذي يحب تعلم تقنيات جديدة بشكل دائم وهذا ما أقوم به لأنه ممتع بالنسبة لي ويفتح آفاق أخرى. الآن أنا أبرمج في روبي لكني بنفس الوقت بدأت بـ Node.js و Scala. من الأفضل بينهم؟ لا يهم. اختر اللغة التي تجيدها وترتاح بالتعامل معها.
هي مجرد موضة مثلها مثل nodejs. ولا تقدم أي شيء.
تاريخ الويب مليئ بمثل هذه الأشاء. هل يذكر أحد tcl/tk والذي حاولت صن أن تجعله لغة السكربت رقم واحد؛ أين هي الآن؟
روبي بنظري هي محاولة فاشلة من محبي بيرل لعمل شيء جديد وهم يخافون تجربة بايثون حتى لا يشمت أحد فيهم. وأقول فاشلة لأنها لم تأخذ نقاط نجاح بايثون.
لكن يجب أن نعترف أن روبي أون رايلز تستحق أن تذكر بكل خير لأنها شكلت قفزة نوعية وغيرت مجرى الأحداث. لكن ما لبثنا إلا قليلا حتى تم الإستفادة من أفكار روبي أو رايلز في عمل أطر تطوير frameworks في كل لغات البرمجة الأخرى بما فيها php.
حاليا لا يوجد مبرر أو أفضلية لروبي.
لا أتفق معك في ذلك. لماذا تعتبر روبي و Node.js "موضة" وليس تقنيات جديدة ساهمت بتطوير العديد من المشاريع الناجحة؟ حسب تفسيرك، عندما ظهرت لغة جافا مثلاً لأول مرة، مبرمجي Perl و C اعتبروها أيضاً "موضة" ولا يوجد مبرر لها أيضاً خصوصاً أنها كانت بطيئة وقتها!
.NET نسخت الكثير من جافا. هل هذا يعني لم يعد هناك حاجة لجافا مثلا؟ نفس الأمر، كثير من لغات البرمجة نسخت من روبي وهذا طبعاً لا يعني أننا لم نعد بحاجة لروبي بعد الآن.
لنتفق أنا وأنت على أن ruby on rails كانت تحمل الكثير من الأفكار الإبداعية. هذه الأفكار الإبداعية غير مرتبطة وظيفيا بأي لغة. تماما كما كانت socket.io غير مرتبطة ب node.js لذا ما لبثت أن استفادت منها اللغات الأخرى فلم يعد لها الأفضلية (الوحيدة التي تملك تلك الميزة). لكن لها شرف الأسبقية (أنها كانت أول من قدم تلك الفكرة).
بكلمات أخرى من الأفضل أن تستخدم تلك التقنيات وأنماط التصميم في اللغات الأكثر نضوجا أو شيوعا أو أقل كلفة تطوير واستضافة وأقل تعقيدا. (تركيب إطار Yii بلغة php مجرد إلقاء للملفات في مكان ما)
عندما ظهرت لغة جافا مثلاً لأول مرة، مبرمجي Perl و C اعتبروها أيضاً "موضة"
لم أقل أنها موضة لأنها جاءت متأخرة. أنا أتحدث عن مشاكل جوهرية في node.js و روبي.
انظر
أنا لا أدافع عن Ruby On Rails لأني لا أستخدمه وكذلك لا أدافع عن الأسبقية لأنها لا تهمني. ليختر كل مبرمج لغة البرمجة التي يريد، لكن وصف لغة Ruby و Node.js على أنها مجرد موضة ومحاولات فاشلة فهذا غير صحيح اطلاقاً وهذا ليس مجرد رأي شخصي بل يوجد أمثلة لمواقع ومشاريع ويب ناجحة وضخمة بنيت باستخدام روبي. هذه بعض الأمثلة فقط:
Twitter
GitHub
Zendesk
Scribd
Hulu
Arabia I/O
إعلانات حسوب
موقع خمسات
هذا لا يدل على لغة فاشلة بنظري. قد تقول أن تويتر انتقل الى Scala وهذا صحيح لكنه استبدل بعض الأجزاء بعديد من التقنيات الأخرى عوضاً عن الاعتماد على روبي فقط في كل شيء [1] ولو كان مبرمج باستخدام PHP أو Python فقط كان واجه نفس المشكلة حتى يتم إعادة بناء الأجزاء التي تحتاج سرعة أكثر بلغة أخرى. ماذا لو بني تويتر مباشرة بلغة جافا؟ على الأرجح أنه لم يكن ليتطور بالشكل السريع المطلوب الذي وفرته روبي لهم وربما فشل أيضاً.
لينكدان وباي بال أصبحوا يستخدموا Node.js واعتبروها تقنية ثورية [2]، أما بخصوص جافاسكريبت أعلم أن بها بعض المشاكل لكنها مثلها مثل أي لغة أخرى وطالما تؤدي المهمة الموكلة لها بشكل جيد هذا يكفي. لا أستطيع مثلاً القول أن جافا أو بايثون سيئة لأنها لا تعمل على embedded systems وتتطلب موارد أكثر مما لو برمج نفس البرنامج مباشرة باستخدام C أو ASM. هذا لا يجعل جافا وبايثون سيئة بل يجعلها غير مناسبة لهذا الغرض تحديداً.
[1]
[2]
اضن ان php مازالت في القمة
لكن حاول تجنب كلام هذا افضل من ذاك ومن يخبرك مثل هذا الكلام فقل له شكرا ولا تاخد به هذه نصيحة المبرمجين القداما وليسة نصيحتي فلن ينفعك الامر ولغة ruby قادرة على القيام بالكثير لكن مبرمجوها ليس بقدر php اي ان الشركة تختار php لان مبرمجوها كثر وستوضف موضفين جدد يطورون مواقعها وبرمجياتها فهل يستهدفون لغة ruby او php حينها تكون php الافضل لان الغاية هي موضفون اكثر حترافا ولو درست حتمالات بين روبي و php ستجد احتمال php اكبر بتوفيق الامر دائما نسبي وكل شيئ نسبي اخي بتوفيق
التعليقات