مقایسه Ruby و PHP

newbie
php
ruby

#1
این پست به مرور تکمیل می‌شود..

مزایای پی‌اچ‌پی

  • یادگیری آن نسبت به روبی آسان‌تر است.
  • تعداد توسعه‌دهنده‌ها و مستندات مربوط به آن زیاد است.
  • استقرار پروژه پی اچ پی بر روی وب خیلی ساده است.
  • هاستینگ ها اکثرا از پی اچ پی پشتیبانی میکنند.

معایب پی‌اچ‌پی

  • توسعه در بازه زمانی طولانی می‌تواند به راحتی منجر به کد کثیف شود…
  • محدوده اصلی کاربرد پی‌اچ‌پی وب است و بیرون از وب کاربرد کمی دارد

مزایای روبی

  • سرعت توسعه در روبی بسیار سریعتر است.
  • دارای فریم ورک قدرتمندی مثل ریلز است

معایب روبی

  • یادگیری روبی خیلی آسان نیست.

چرا و چه زمانی روبی؟
#2

بنظرم اون قسمت «دارای فریم ورک قدرتمندی مثل روبی است» اشتباه نوشتید. منظور ریلز بوده احتمالا.
فکر میکنم یاد گرفتن روبی آسون‌تر از PHP بود.


#3

ممنون اصلاح شد.
اشتباه لپی بود!
در مورد سخی و آسونی خوب برمی‌گرده به استعداد فرد و متد یادگیری و نمی‌شه ملاک دقیقی در نظر گرفت.
پیشنهاد دیگه‌ای داری ؟


#4

آره البته روش یادگیری هم متفاوت بود. من PHP رو با PHP خوندن سعی کردم یاد بگیرم. ولی روبی رو با کار کردن با Rails یاد گرفتم. کتاب‌های آموزش Rails معمولا تو فصل اول یک بخش کوتاهی برای آموزش مبانی روبی دارن و بعد از اون آموزش کامل Rails. شاید چون روی پروژه و بیشتر عملی روبی رو یاد گرفتم برام راحت‌تر بود. PHP رو به این شکل کار نکردم و خب چون دیرتر به نتیجه میرسیدم، بیشتر کلافه میشدم ولی روبی رو چون با Rails یاد گرفتم، نتیجه کار رو زودتر میدیدم و خب اشتیاق بیشتری برای ادامه کار داشتم.


#5

فکر می کنم برای کاربری که از MVC چیزی نمی دونه PHP راحتره و لی کسی که مفاهیم MVC رو بدونه اونوقت Rails بسیار ساده تره.


#6

@yottanami شاید بد نباشه این عنوان رو ویکی کنی که دیگران هم مواردی که به ذهنشون می رسه رو بنویسن.


#7

خب MVC فقط یک مفهمومه و درکش کار خیلی سختی نیست. کلا اینکه بخاطر ندونستن MVC بیای PHP کار کنی جای Ruby زیاد موجه نیست. ضمن اینکه PHP رو نمیشه با Rails مقایسه کرد. مطمئنا یکسری از فریم‌ورک‌های PHP هم مثل لاراول از MVC استفاده میکنن.


#8

کاملا درسته. مقایسه فرم ورک ها هم می تونه جالب باشه


#9

من فکر می کنم اگر برای یادگیری روبی از ریلز شروع بشه کاربر خیلی خیلی ساده تر از php می فهمه چیکار کنه یک جورایی حتی بعضی وقت ها فکر می کنم تنبل مثل من می شه مثلا خیلی ساده جداول بهم متصل می شه واقعا زیبا و قدرتمند نوشته شده داخل ریلز

فقط مشکل ریلز الان فکر می کنم پیاده سازی اون روی وب هست که سنگین در می یاد از نظر هزینه .

مخصوصا اگر پستی بخوره آموزش داده بشه یک سرور چیجوری برای روبی کانفیگ بشه و … و همینطور هاستینگ های اشتراکی چیزی رو پیاده کنند روبی بشه استفاده کرد خیلی خوب می شه

الان همه هرکو و دیلی موشن رو مثال می زنند که هم هزینه دلاری هست و هم اینکه برای خیلی از سایت ها واقعا گرون می شه که من فکر می کنم وقتی می خواییم از روبی استفاده کنیم باید به اینا فکر کنیم نه فقط سختی کار باهاش بلکه هزینه هایی که برای پیاده سازی در آینده داره

امید وارم در مبحث هاستینگ کمی دوستان راهنمایی بیشتر بکنند خیلی خوب می شه

مخصوصا اینکه از یکی از دوستان شنیدم که می شه روی سی پنل با کمک مدیر هاستینگ ریلز رو پیاده کرد

موفق باشید


#10

این نکته هم هست که روبی بجز وب جاهای دیگه هم کاربرد داره ولی php فقط برای توسعه وب استفاده میشه


#11

من شخصا فکر می‌کنم خیلی بهتره تا روبی رو جدا از ریلز اول یادگرفت بعد سمت فرم‌ورک‌های سنگین رفت. اینطوری کاربر یه حداقل دیدی از اینکه پشت ریلز چی می‌گذره داره و به ریلز به چشم یه DSL خاص نگاه نمی‌کنه ومی‌دونه که درنهایت همش ختم می‌شه به روبی. البته یادگیری خود روبی به تنهایی سخت نیست، همینطور که حتی یکی از جدیدترین کتاب‌های برنامه‌نویسی برای کودکان رو با روبی نوشتن. درنهایت، حتی توی یادگیری ریلز هم اعتقاد دارم باید از فرم‌ورک/کتابخونه‌های کوچک‌تر مثل سیناترا شروع کرد و بعد به سمت استفاده از ریلز رفت.

من هوست اشتراکی خارجی دیدم که روبی رو پشتیبانی می‌کنه و برای پروژه‌های کوچک خوبه ولی باید یه نگاه به جم‌هایی هم که استفاده می‌کنین داشته باشین. ولی درنهایت اگه دنبال راحتی تو دیپلوی هستین باید سمت سرویس‌هایی مثل Heroku برید. اگه هم آپشن ارزون می‌خواین VPS‌های ارزونی مثل دیجیتال‌اوشن هست که با حداقل ماهی ۵ دلار می‌شه یه سرورمجازی مناسب برای پروژه‌های کوچک گرفت ولی دردسر پشتیبانی و دیپلوی و… به عهده خودتونه.


#12

کاملا درسته! الان با روبی می‌شه علاوه بر توسعه بک‌اند، اپ برای iOS و OSX و اندروید نوشت (با کمک RubyMotion یا Ruboto)، می‌شه برنامه‌نویسی سمت مرورگر انجام داد (با کمک Opal) و می‌شه برای سیستم‌های embedded برنامه‌نویسی کرد (با کمک mruby که خود متز داره می‌برتش جلو).

پ.س. پروژه Volt هم خیلی جالبه، یه نگاه بکنید :smile:


#13

درسته که پی‌اچ‌پی برای وب ساخته شده اما نمی‌شه گفت جدا از وب قابل استفاده نیست.


#14

اگر جدا از مورد یادگیری و از دید تکنیکی بخوایم نگاه کنیم PHP هیچ شانسی نداره نه تنها در مقابل روبی بلکه در مقایسه با بقیه زبان ها. پیاده سازی PHP از خیلی از جهات فاجعه محسوب می شه.


#15

به نظرم یادگیری Ruby از PHP خیلی راحت تره.
مثل اینکه داری به زبان انگلیسی تایپ میکنی و برنامه نویسی میکنی. یه لذتی داره که توی هیچ کدی تجربه نکردم. بعد از این python.
اگه کمی به زبان انگلیسی آشنایی داشته باشید سایت codecademy آموزش قدم به قدم میده. خیلی جالبه.


#16

با درود به همگی, این اولین پست من تو این سایت هست.
به نظر من مقایسه زبان ها و فریم ورک ها داستان بی پایانیه که البته میتونه خیلی مفید باشه و درک بهتری رو از برنامه نویسی ایجاد کنه.
اما در نهایت این برنامه نویسا هستند که با نوشتن کدهای تمیز و خوانا تفاوت اصلی رو ایجاد می کنن.
نکته بسیار مهمی که در مورد RoR باید گفت اینه که, ریلز علاوه بر بهره مندی از قابلیت های شگفت انگیز و بسیار مدرن زبان روبی, برتری های دیگه ای هم داره. مثلا ریلز بسیاری از کارهای پیچیده رو به صورت خودکار و گاهی با فرمان ها یا اسکریپت های خیلی کوتاهی انجام میده و این باعث میشه توسعه دهنده ها بیشتر وقتشون رو روی کیفیت و صحت کار نهایی صرف کنن و زمان بسیار زیادی رو بدست بیارن. مثال هایی ازا ین دست خیلی زیادن که حتما دوستان بهتر می دونن.
موردی که متاسفانه و بدلایل نا شناخته خیلی کمتر بهش اشاره شده, توسعه رفتار بنیان (BDD) و آزمون بنیان (TDD) است. مثل خیلی از زبانهای دیگه, جامعه روبی هم ابزاری رو برای آزمودن کدها حتی قبل از نوشتنشون داره که زندگی رو برای همه شیرینتر کرده!.. کنار هم قرار دادن ابزار هایی همچون RSpec به همراه Capybara, FactoryGirl ,Guard و Rubocop میتونه توسعه دهنه روبی, روبی آن ریلز و یا “سیناترا” رو به یک سوپرمن تبدیل کنه, چیزی که بدست آوردنش در PhP تقریبا محاله یا بسیار زمانبره.


#17

در حمد و ستایش رابی دفتر ها میتوان نوشت و شعر ها سرود . به طور کل مقایسه زبانی مثل php با یک چیزی مثل رابی بی فایده است . به قول روحانیت این قضیه اظهر من المشمش است …

با توجه به عدم وجود منابع به زبان شیرین پارسی همواره شروع برنامه نویسی در این ساختار سخت و معمولا با درد فراوان همراه است . در اهمیت اشنایی با زبان انگلیسی که شکی نیست و بنده به نوبه خودم جمع دوستان را به فراگیری این زبان فرنگی دعوت میکنم و پس از ان اغاز ریلز . حیف عمر است که بر روی زبانی همانند php صرف شود …


#18

بسیا عالی بود.
فقط اینکه روبی تلفظ درستشه, به معنی یاقوت.
و البته یاد گرفتن هر زبانی, دریچه ایست به دنیایی متفاوت. یاد گرفتن زبان های برنامه نویسی گوناگون درک ما رو در برنامه نویسی بالا میبره که به نظر اتلاف وقت نمیاد…


#19

حرفهای شما درسته اما خب در مورد ابزارهای توسعه‌ی مدرن و تست TDD و BDD و کامندهای کوتاه و سرعت بالای توسعه دیگه php اون php قدیم نیست و فریم‌ورکهایی مثل لاراول و مدیربسته ی composer تقریبا این مشکلات رو رفع کردند و الان با معرفی php 7 رقبای قدری برای rails هستند.


#20

سی پنل این امکان رو داره - تقریبا 5-6 سالی هست ! + من از این قابلیت استفاده کردم