متى أستخدم Ruby بدلا من php عند تصميم المواقع

18

24

سؤال جيّد و أهنيك عليه. أفضل بكثير، و بمراحل، من سؤال "ما الأفضل".

إذا تصميمك لموقع عملياته محددة، يعني استعلام من قاعدة معلومات، توفير 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.

كل ما ذكرته أخي الكريم صحيح 100% و قد قدمت اثباتات تفيد صحة كلامك .

سأجيبك فقط على أمر كيلا تظنني أتكلم من الفراغ أو أنني مررت من هنا و أردت الرد لمجرد الرد :

مالا يعلمه، أن نشاط إطار ruby on rails لوحده ينافس نشاط كل أطر عمل PHP مجتمعة. ادخل على github.com و بالتحديد هذا الرابط:

. الرابط عبارة عن جميع ما أضيف في موقع github ، مكتبات، برامج، .... لأي لغة من بداية سنة 2013 إلى الآن . ستجد في اليسار قائمة بعدد إضافات كل لغة، قارن بين عدد Ruby و عدد PHP : . مع العلم، أظن أن الأغلبية في Ruby لها علاقة بـإطار Rails. أيضا، Google Trends تعرف مرات البحث عن مصطلحات: http://www.google.com/trend... . البحث عن Ruby on rails أكثر من البحث عن أشهر أطر عمل PHP مجتمعة.

ذكرت في ردي الأول بأن روبي هي لغة برمجة للتباهي ..

انت ذكرت لي موقع github .. أنا أسألك ما حجم البرمجيات التجارية المبنية بروبي مقارنة بـ PHP ( ما حصة روبي في السوق ) و ليس في المشاريع المفتوحة المصدر ؟

سأكرر عبارة ( مبتذلة قليلاً و مستهلكة ) و لكنها قد تكون رداً على مثالك لموقع twitmail ..

تويتر أيضاً بدأ بروبي ثم انتقل الى PHP .

أخيراً : أنا اعطيت رأيي و إجابتي لصاحب السؤال و ذكرت له في إجابتي :

يمكنك البرمجة بأي لغة تشاء و بناء موقعك بأي لغة تشاء .. يبقى إلمامك باللغة و طريقة تعاملك معها و نظرتك إليها هو الأساس في الاختيار .

أشكرك على المعلومات المفيدة في ردك .

و أتمنى لك كل الخير و التوفيق فيما تتعلمه أو تفعله .

14

من خلال قرائتي لمواضيع في موقع Quora، اللغات الأكثر استخداما في المشاريع و المواقع الجديدة هي، Ruby, Python.

تويتر أيضاً بدأ بروبي ثم انتقل الى PHP .

كما يقال بالعامية: "جيت و الله جابك". قرأت هذا الرد قبل فترة و بحثت عن صاحبها لأرد عليه لكن لم أجده. أخي، تويتر لم ينتقل إلى PHP. ما زال يستخدم روبي. كما قلت، لغة روبي عامة لكن أداءها ليس الأفضل في كل شئ. في حالة تويتر، تويتر تركت نظامها message queue system المبرمج بروبي و أعادت برمجته بلغة سكالا. و تويتر في أكثر من مقابلة صرحت أن أغلب ما تستخدمه عبارة عن دمج لخدمات مفتوحة المصدر، بالطبع توجد أنظمة أخرى هي مبرمجتها. و هذه صفحة تويتر الرسمية في github الرابط :

. لن تجد أي مشروع بلغة PHP، أغلب مشاريعها بلغات مثل جافا، جافا سكريبت، روبي، سكالا، بايثون. و أيضا، هذه مقالة عن بنية تويتر: . لن تجد أي ذكر لـ PHP.

إذا الشركة انتقلت لـ PHP مؤخرا، ضع رابط لأي مصدر موثوق، و سأصدق في تلك الحالة و سأترك كل مصادري.

ذكرت في ردي الأول بأن روبي هي لغة برمجة للتباهي ..

أتفق معك و لكن لو كانت نية المتعلم إضافة لغات في سيرته الذاتية فقط. لكن كلغة، أنصحك و نصيحة أخوية بقراءة بعض المصادر عن لغة روبي. ستجد فيها الممتع، و ستجد في الممل و الصعب. و كما ذكرت، استخدمها بسبب rails. و أنصحك نصيحة، بما ان موقعك باللغة الانكليزي، فلغتك تساعدك في البحث في المواقع الأجنبية. أنصحك نصيحة أخوية أخرى، اقرأ القليل عن إطار عمل rails.

أخيراً : أنا اعطيت رأيي و إجابتي لصاحب السؤال و ذكرت له في إجابتي :

يمكنك البرمجة بأي لغة تشاء و بناء موقعك بأي لغة تشاء .. يبقى إلمامك باللغة و طريقة تعاملك معها و نظرتك إليها هو الأساس في الاختيار .

لو هذه كانت إجابتك، بدون إضافة PHP لها امكانيات أفضل، لم تكن لتجد ردي هذا :)

و جزاك الله خير على الأمنية، و إن شاء الله الجميع.

https://arabia.io/go/4464/1...

تم التصحيح و شكراً لك .

-1

شكرا لك !!


برمجة

مجتمع للمبرمجين من جميع المستويات لتبادل المعرفة والخبرات. ناقش لغات البرمجة المختلفة، الحلول البرمجية، والمشاريع.

24.9 ألف متابع