تجربه کوتاه برنامه‌نویسی با Ruby

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

Ruby

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

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

کمی سراغ کدنویسی در ruby می‌روم. به قطعه کد زیر دقت کنید:

خروجی: 869

در کد بالا آرایه‌ای از اعداد را تعریف کردیم. در این آرایه بزرگترین عضو را یافته و سپس معکوس نوشتاری آن را بدست آوردیم.

همانطور که ملاحظه می‌کنید سینتکس ruby بسیار زیبا و قابل فهم پیاده‌سازی شده است. چیزی که در بین افراد آشنا به این زبان زیاد شنیده می‌شود اینست که شما وقتی با ruby کدنویسی می‌کنید احساس خستگی نمی‌‌کنید، چون کدنویسی در آن بسیار لذت‌بخش است.

من از روبی برای نوشتن یک دیمن (daemon) در لینوکس استفاده کردم (دیمن‌ها نوعی از برنامه‌ها هستند که بطور مخفی در پس‌زمینه سیستم عامل اجرا می‌شوند.). در روبی کتابخانه‌ای برای انجام این کار موجود است که کار را بسیار راحت می‌کند. اگر شما هم نیاز به چنین برنامه‌ای در سرور خود دارید از این لینک کمک بگیرید.

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

علی ذوقی

از سال ۸۷ بطور تخصصی برنامه نویس PHP هستم. اوایل با PEAR کار می کردم ولی از سال ۹۱ تاکنون بطور حرفه ای با Yii کار می کنم. از دروپال هم برای پروژه های بزرگ استفاده می کنم. به مباحث فنی سرور و شبکه علاقه خاصی دارم …

همچنین ممکن است دوست داشته باشید ...

۱۷ واکنش

  1. Saeed Zarinfam گفت:

    به نظرم اگر دنبال قدرت و بلوغ JVM و کتابخانه های جاوا و سینتکس و موجز بودن Ruby هستید یه سری به اسکالا هم بزنید. پشیمون نمیشید.

  2. لوپوک گفت:

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

    • علی ذوقی گفت:

      🙂

      البته بین برنامه نویس و طراح وب سایت یه تفاوتی قائل بشین. هرکی سایت بزنه برنامه نویس نیست الزاما. توی کشور، ما طراح سایت داریم تا برنامه نویس.

  3. محسن گفت:

    سلام علی آل ذوقی.
    بنظر تجربه ی خوبی بوده .
    در مورد پایتون هم فرصت کردی یه تحقیق کن .ظاهرا قابلیت های خوبی برای اسکریپت نویسی برای لینوکس داره.
    آل هکروووون زیاد با این زبان سر و کله می زنن .
    😀
    ازشر شیاطین در امان باشید…

  4. آرین عربشاهی گفت:

    عرض ادب و احترام خدمت استاد ، برادر ، عزیز دل ، علی آقا
    رخصت میخوام توضیحاتی رو این بنده ی حقیر ذکر کنم که زبان رابی زبان قدرتمندی هستش که بزرگترین استفاده ای که به شخصه از نزدیک لمسش کردم در زمینه هک و امنیت به طور خاص ابزار metasploit در توزیع های مخصوص برادران هکر لینوکسی هستش مثل kali و امثالهم ، اکثر exploit های metasploit رو با رابی نوشتن و کاربرد وسیعی داره از exploit کردن سیستم عامل تا وب سرویس و …

  5. البته جاوا هم متن‌باز است و البته اکثر نرم‌افزارهای آزاد، از مشابه‌های انحصاریشان ثوی‌تر و کسترده‌تر هستند.

  6. حمید گفت:

    سلام
    شما که تجربه کار با php, python, ruby دارین کدوم به نظر جذاب تر اومد؟ ازارها راحت؟ سینکتس جالب تر

    • علی ذوقی گفت:

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

  7. سعید گفت:

    سلام،

    بهتر بود در پاراگراف آخر، جمله سوم اینگونه باشد:
    “به نظر من برای پروژه‌های بزرگ هنوز جاوا حرف اول را می‌زند و جای تعجب هم نیست.”

    و جمله آخر اینگونه:
    چراکه یک شرکت تجاری، جاوا را پشتیبانی می‌کند و به نظر من زبان‌های متن‌باز در مقایسه با زبان‌هایی مثل جاوا که حمایت‌های مالی پشت سر آن است، ضعیف‌تر و محدودتر هستند.

    – شما بهتر از بنده می دانید که یک متخصص نباید نظرات شخصی اش رو به دیگران تحمیل کند.
    – چنانچه تحقیق کنید متوجه می شوید که اکثر -و نه تمام- شرکت های مطرح تکنولوژی در دنیا از زبانی غیر از جاوا استفاده می نمایند و همچنین این رویه در اکثر شرکت های بزرگ ایرانی (بزرگ، از نظر تعداد کاربرانی که به آن ها خدمت عرضه می کنند) در حوزه تکنولوژی، نیز دنبال می شود.

    ممنون از توجه تون

    • علی ذوقی گفت:

      سلام بزرگوار

      ممنون از توجهتون.

      واقعیت امر اینه که در ایران، استفاده از زبان‌های متن باز، در پروژه‌های مهم و بزرگ کم هست.
      بله در دنیا زبان‌های متن باز بیشتر مورد استفاده قرار می‌گیرند.

      ممنون که با دقت مقاله بنده رو مطالعه کردین.

  8. محمد گفت:

    سلام خیلی خوب بود اما به پای yii نمیرسه
    اگر وقت میکنید اموزش ۲ yii رو بذارین تو سایت خیلی عالی میشه

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *