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 و بالتحديد هذا الرابط: https://github.com/search?q=created%3A%3E2013-01-01&type=Repositories&ref=searchresults . الرابط عبارة عن جميع ما أضيف في موقع github ، مكتبات، برامج، .... لأي لغة من بداية سنة 2013 إلى الآن . ستجد في اليسار قائمة بعدد إضافات كل لغة، قارن بين عدد Ruby و عدد PHP : http://cl.ly/image/1z3w2O2H1m0c . مع العلم، أظن أن الأغلبية في Ruby لها علاقة بـإطار Rails. أيضا، Google Trends تعرف مرات البحث عن مصطلحات: http://www.google.com/trends/explore#q=%2Fm%2F0505cl%2C%20Symfony%2C%20%2Fm%2F02qgdkj%2C%20Yii%2C%20Laravel&cmpt=q . البحث عن Ruby on rails أكثر من البحث عن أشهر أطر عمل PHP مجتمعة.

فقرة هل تعلم سريعة

ما يميّز لغة Ruby في الويب هو إطار عمل Rails و سهولة البرمجة فيها. مثلا، تستطيع في أقل من 30 ثانية، كتابة 3 أوامر بسيطة، جدا بسيطة، للحصول على نظام تسجيل دخول\تسجيل خروج\تسجيل في الموقع مع خاصة فقدان كلمة سرية و إمكانيات أخرى. هذا في أقل من دقيقة.


لغة روبي و إطار Rails يشجعوا على DRY: أو بالعربي، لا تكرر نفسك. بمعنى، إذا قمت مرة بتصميم نظام، لماذا لا نجعل إضافة هذا النظام لأي مشروع مستقبل سهل، بسهولة

require 'model'

و هذا ما فعلوه. إذا أردت استخدام إحدى المكتبات، قم بتنفيذ السابق، فقط.

فقرة هل تعلم

هل تعلم أنه بإضافة 12 حرف، تستطيع أن تجعل أي form يرسل الطلب بطريقة Ajax أو بالطريقة المعتادة؟ لا حاجة لكتابة أي كود جافاسكريبت.


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

الويب العربي ما زال متمسك بلغة PHP بسبب كثرة المصادر العربية و كثرة الـ snippets أو المقتطفات البرمجية للغة في كل منتدى. هذا غير أن أغلب المواقع عبارة عن مدونة wordpress أو منتدى vb. الاثنين مبرمجين بلغة php و هذا ساعد على انتشارها. لكن لو بدأ يقرأ أكثر عن روبي، ستفاجأ بسهولة تطوير المواقع. و لو أحببت، يوجد درس عربي مجاني قادم الأسبوع القادم من شخص لديه خبرة في روبي و الويب : http://www.rwaq.org/courses/introduction-to-web-development . سجّل و ستستفيد إن شاء الله.

موقع twitmail موقع سعودي متميّز. بدأ بلغة PHP و حاليا في مرحلة الإنتقال لـ python، و هنا يناقش مؤسس الموقع الأسباب، ستلاحظ صعوبات التعامل مع PHP إذا قارنتها باللغات الأخرى.

ملاحظة: هذا رد من شخص برمج بلغة PHP ثم انتقل إلى Python للويب و بناء سكربتات لنظام لينكس، ثم توجهت لإطار Rails.

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

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

مالا يعلمه، أن نشاط إطار ruby on rails لوحده ينافس نشاط كل أطر عمل PHP مجتمعة. ادخل على github.com و بالتحديد هذا الرابط: https://github.com/search?q=created%3A%3E2013-01-01&type=Repositories&ref=searchresults . الرابط عبارة عن جميع ما أضيف في موقع github ، مكتبات، برامج، .... لأي لغة من بداية سنة 2013 إلى الآن . ستجد في اليسار قائمة بعدد إضافات كل لغة، قارن بين عدد Ruby و عدد PHP : http://cl.ly/image/1z3w2O2H1m0c . مع العلم، أظن أن الأغلبية في Ruby لها علاقة بـإطار Rails. أيضا، Google Trends تعرف مرات البحث عن مصطلحات: http://www.google.com/trends/explore#q=%2Fm%2F0505cl%2C%20Symfony%2C%20%2Fm%2F02qgdkj%2C%20Yii%2C%20Laravel&cmpt=q . البحث عن Ruby on rails أكثر من البحث عن أشهر أطر عمل PHP مجتمعة.

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

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

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

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

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

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

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

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

14

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

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

كما يقال بالعامية: "جيت و الله جابك". قرأت هذا الرد قبل فترة و بحثت عن صاحبها لأرد عليه لكن لم أجده. أخي، تويتر لم ينتقل إلى PHP. ما زال يستخدم روبي. كما قلت، لغة روبي عامة لكن أداءها ليس الأفضل في كل شئ. في حالة تويتر، تويتر تركت نظامها message queue system المبرمج بروبي و أعادت برمجته بلغة سكالا. و تويتر في أكثر من مقابلة صرحت أن أغلب ما تستخدمه عبارة عن دمج لخدمات مفتوحة المصدر، بالطبع توجد أنظمة أخرى هي مبرمجتها. و هذه صفحة تويتر الرسمية في github الرابط : https://github.com/twitter . لن تجد أي مشروع بلغة PHP، أغلب مشاريعها بلغات مثل جافا، جافا سكريبت، روبي، سكالا، بايثون. و أيضا، هذه مقالة عن بنية تويتر: http://highscalability.com/blog/2013/7/8/the-architecture-twitter-uses-to-deal-with-150m-active-users.html . لن تجد أي ذكر لـ PHP.

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

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

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

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

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

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

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

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

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

-1

شكرا لك !!

13

لا اعتقد بأن هناك ما تقدمه روبي و لا تقدمه PHP .

امكانيات PHP أكبر .

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

كنت قد كتبت في نقاش سابق بأن روبي لا تنافس PHP و لا ميزات إضافية فيها .

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

تحياتي لك .

15

قام الأخ cenrak باقناعي بالأمثلة و الدلائل بأن ruby و PHP لهما نفس الأهمية و الامكانيات على صعيد الويب بينما ruby تتفوق على PHP كونها لغة عامة .

شكراً cenrak لتنبيهي إلى ذلك .. و اعتذر إن كنت قد اعطيت أي معلومة غير صحيحة في ردي السابق .

وجب التنويه .

13

أخي، أتمنى دعم ردودك القادمة بمواضيع و براهين بدلا من رمي عبارات لا صحة لها، مثل:

امكانيات PHP أكبر .

قمت بالرد عليك في https://arabia.io/go/4464/15269

يا أخي .. أنا لم أرمي أي شيء لا صحة له .

السؤال يتحدث عن الويب .

الأخ طرح سؤالاً حول متى أستخدم Ruby بدلا من php عند تصميم المواقع :

و أنت رددت علي بمقالة تتحدث عن أن روبي عامة .

أعرف هذا الكلام .. لم أبرمج بروبي و لكن لدي اطلاع عليها و أنا مبرمج منذ 10 سنوات و أستخدم PHP و لم أجد أي شيء لا يمكن عمله بها ( ضمن الويب )

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

ان كنت مبرمج روبي .. فردي السابق لا ينتقص من موهبتك أو من خبرتك .

تحياتي لك و كل ما ذكرته في ردك حول روبي و PHP صحيح و لكنه ليس إجابة على السؤال المطروح هنا .

12

يا أخي .. أنا لم أرمي أي شيء لا صحة له .

أكرر، ذكرت :

امكانيات PHP أكبر .

هذا ما لا صحة له. إمكانيات PHP و ruby متساوية في الويب.

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

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

من رأيي الشخصي، امكانيات PHP أكبر .

و تذكر أسباب أنت تراها في PHP ما تجعلها أفضل.

تحياتي لك و كل ما ذكرته في ردك حول روبي و PHP صحيح و لكنه ليس إجابة على السؤال المطروح هنا .

ردي كان في ثاني فقرة:

إذا تصميمك لموقع عملياته محددة، يعني استعلام من قاعدة معلومات، توفير API، .... تقريبا متطلبات 99% من مواقع الانترنت، في هذه الحالة، لا يوجد أي فرق بين اللغتين. و السبب؟ اللغتين قادرة على التعامل مع طلبات الانترنت

"امكانيات PHP أكبر"

ممكن امثلة؟

13

الأمثلة واضحة وضوح الشمس ..

مطورو PHP أكثر . و اللغة تتطور بتسارع أكبر .

ما كان يميز روبي هو انها غرضية التوجه .. PHP أيضاً أصبحت غرضية التوجه .

روبي لديها إطار عمل مميز "روبي اون ريلز" .. PHP لديها أكثر من 20 إطار عمل كلها ممتازة و رائعة و استخدامها متعة .

PHP مدعومة بنسبة أكبر بكثير من دعم روبي .

و الكثير لا يسعني ذكره ..

أنا لست متعصب للغة دون أخرى و لكن السؤال المطروح من قبل Ali Mohamad يشير إلى الأمور التي يمكن عملها بروبي و لا يمكن عملها بـ PHP .

و إجابتي كانت بأنه لا يوجد ما يمكن عمله بروبي و لا يمكن عمله بالـ PHP .

13

الامثلة واضحة وضوح الشمس

ليست واضحة لي شخصيا بل اعتقد العكس لذلك طلبت امثلة.

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

http://www.google.com/trends/explore#q=php&cmpt=q

سؤال آخر هل عملت مع روبي اون ريلز لدرجة كافية للمقارنة؟

لا أخي لم أعمل بالدرجة التي قد تظنها كافية و لكنني عملت مع PHP بدرجة أكثر من كافية لأتأكد بأنها قادرة على عمل أي شيء .

تحياتي لك ( بدون أمثلة ) .

لا يمكن أن تعتمد على قوقل ترندز كمرجع للمقارنة

لأن عمليات البحث تقل في الأشياء المشهورة

13

السلام عليكم

بعض النقاط بخصوص اللغتين :)

  • سهولة اﻹستخدام : لا يوجد اي شي يمكن عمله بالRuby لا تستطيع عمله بالPHP

  • اﻹستضافة : طبعا لا يخفاكم انه استضافات الPHP تكلف ارخص من Ruby

  • الفرايموركس ( frameworks) : لا مجال للمقارنة بالنسبة للعدد : الPHP متفوق بكثير

  • reusability : الGems و ما ادراك , هنا نسجل تفوق الruby

12

تقصد في برمجة المواقع وليس تصميمها

طبعا برمجة المواقع

سقطت سهوا تصميم المواقع ^_^

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

في الحقيقة وكمبرمج بجافا اعتقد أن الإطار rails يسمح بتسريع التطوير على الويب من خلال سهولة تعمله و كثرة الجيمات gems المتوفرة في روبي.

الحمد لله،الكتب والمواقع لتعلم rails كثيرة لمن اراد التعلم

فين هذه المواقع ؟

ممكن تعطينا الرابط للاستفادة .. وياريت لو تكون بالعربية .

فس مدونتي تجد بعض المقالات التمهيدية لرايلز يمكنك أن تبدأ بهذا المقال :

http://tayeb83.github.io/dtmdeblog/blog/2013/02/28/imporatenresourceforrails/

ثم يمكنك الذهاب لهذا المقال :

http://tayeb83.github.io/dtmdeblog/blog/2012/12/10/staticpageinrails/

و بعدها هناك مقالات متنوعة حول تسريع انشاء التطبيقات برايلز :

  • http://tayeb83.github.io/dtmdeblog/blog/2012/12/23/scaffolding-base/

  • http://tayeb83.github.io/dtmdeblog/blog/2012/12/30/activerecord-part1/

  • http://tayeb83.github.io/dtmdeblog/blog/2012/12/30/activerecord-part2/

هناك مدونة أخرى للأخ محمد الشيخ حول رايلز، فيها موارد جميلة حول الgems مثلا أو المكتبات التي تكلمت عليها سابقا

http://blog.msheikh.me/

قريبا سيقوم الأخ مازن مليباري بتقديم درس على شبكة رواق حول روبي

http://www.rwaq.org/courses/introduction-to-web-development

للآسف الكتب بالعربية لا توجد، اللهم كتاب واحد في روبي يمكنني ارساله لك، أما الكتاب الجميل و المجان في لتعلم رايلز و الذي ينصح به الجميع هو هذا الكتاب :

http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

أتمنى أن تفيدك هذه المواد إن شاء الله

بالتوفيق.

متابع بصمت .

استخدم CSS للتصميم،

Ruby او PHP كلاهما لغات برمجة يئديان الى نفس الغرض لك الحرية في اختيار احداهما لبرمجة تطبيقك :)

ربما في تعدد المهام (Multi-threading)

ليس Ruby ولا PHP ولا غيرهم كل لغة لها قدرتها الخاصه وامكانيتها وكل ذلك يرجع للمبرمج فى الاخير ومدا معرفته باللغه وامكانيته على استخدامها

برمجة

المواضيع والنقاشات المتعلقة بالبرمجة بشكل عام او لغات البرمجة التي لايوجد لها مجتمعات فرعية.

16.1 ألف متابع