آموزشنرم افزار

معرفی کامل زبان برنامه نویسی روبی (Ruby)

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

زبان برنامه نویسی روبی (Ruby) چیست؟

what-is-ruby

تعریف زیر می تواند به طور کلی زبان برنامه نویسی روبی را توضیح دهد:

“زبان برنامه نویسی روبی (Ruby)، یک زبان انعطاف پذیر، پویا، چند منظوره، متن باز و شی گرا می باشد که قادر به پشتیبانی از پارادایم های مختلف اعم از برنامه نویسی تابعی و بازتابی، گزاره و متغیر های پویا و “مدیریت حافظه خودکار” می باشد. برنامه نویسی روبی الهام گرفته از زبان های برنامه نویسی مانند پرل (Perl)، لیسپ (Lysp) و اسمال تاک (Smalltalk) می باشد.”

متن باز

یکی از ویژگی های برتر یک برنامه نویسی، متن باز بودن آن است که برنامه نویسی روبی آن را داراست. این ویژگی باعث می شود تا یادگیری این برنامه نویسی هم آسوده و هم بدون هزینه انجام شود.

انعطاف پذیر

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

شی گرا

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

پارادایم

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

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

تاریخچه

زبان برنامه نویسی روبی توسط فردی ژاپنی به نام یوکیهیرو ماکسوموتو در 24 فوریه 1993 به دنیا معرفی شد. او و همکارانش در آن سال برای این برنامه نویسی جدید دو نام انتخاب کرده بودند که یکی روبی (به معنای یاقوت) و دیگری کورال بود، ولی به دلیل آنکه در سال های قبل از نام کورال برای یک زبان برنامه نویسی انگلیسی استفاده شده بود، نام کورال حذف و نام روبی برای این برنامه نویسی انتخاب شد. از زمان معرفی روبی، نسخه های مختلفی تا کنون به بازار عرضه گردیده که هر یک ویژگی های خاص جدیدی را برای عموم به عرضه آورد.

البته اولین نسخه برنامه نویسی روبی در تاریخ 25 دسامبر 1996 به بازار عرضه شد، سپس در سال 1999 نسخه 1.3 نیز به بازار عرضه گردید. اما اگر بخواهیم به نسخه های مهم روبی با ویژگی هایشان اشاره کنیم، می بایست به موارد زیر رجوع کنیم:

نسخه 1.9.1

این نسخه که بعد از نسخه 1.8.6 می باشد، ویژگی های جدیدی را به خود اضافه نمود مانند:

  • اضافه کردن متغیر های محلی به بلوکه های روبی
  • امکان تنظیم کد گذاری رشته ها به صورت مستقل

نسخه 2.1

این نسخه که در کریسمس 2013 به بازار عرضه شد، ویژگی های زیر را به خود اضافه نمود:

  • افزایش سرعت
  • به روز رسانی کتابخانه
  • تعمیر باگ های روبی

نسخه 2.4

این نسخه که در کریسمس 2016 به بازار عرضه گردید، دارای به روز رسانی های جدیدی اعم از موارد زیر بود:

  • اتصال irb#
  • یکی کردن Bignum و Fixnum در کلاس اعداد صحیح
  • پشتیبانی رشته ها از نقشه یونیکد
  • یک روش و شیوه جدید Regexp#

این نسخه ها از مهمترین برنامه نویسی روبی بودند ولی تعداد نسخه های اصلی این برنامه نویسی همین تعداد نبود. تعداد کل نسخه های اصلی برنامه نویسی روبی به شکل زیر می باشد:

  • 1.8
  • 1.9
  • 2.0
  • 2.1
  • 2.2
  • 2.3
  • 2.4
  • 2.5
  • 2.6
  • 3.0

از بین این نسخه ها، نسخه 1.8 تا 2.2 از نسخه های قدیمی بوده و دیگر توسط روبی پشتیبانی نمی شود ولی نسخه های 2.3 و 2.4 با وجود قدیمی بودن، هنوز توسط روبی پشتیبانی می شود. در حال حاضر نسخه 2.5 نگارش جاری و مورد استفاده عموم می باشد و در آینده قرار است نسخه های 2.6 و 3.0 نیز به بازار عرضه گردد، ولی هنوز تاریخ دقیقی برای رونمایی آنها مشخص نشده است.

سینتکس برنامه نویسی روبی

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

و در آخر باید گفت که زبان برنامه نویسی روبی در سیستم عامل های مختلف مانند ویندوز، یونیکس، لینوکس، داس (DOS) و مکینتاش OSX قابل اجرا و عملیاتی می باشد.

کاربرد

world-of-ruby

زبان روبی بخاطر ویژگی چند منظوره بودن، قادر است تا در پروژه ها و موارد مختلف زیادی استفاده شود. اگر بخواهیم به طور کلی نام ببریم، می توانیم به مواردی مانند برنامه های وب، وب سرور ها، خدمات سیستم، عملیات های مرتبط با پایگاه داده و پشتیبانی گیری (Back Up) اشاره کنیم. اما پروژه های عظیم و مهمی که توسط روبی طراحی گردیده شامل موارد زیر می شود:

  • Metasploit Framework

یکی از قوی ترین فریم-ورک هایی که تا به حال طراحی گردیده است.

  • SASS

یکی از قوی ترین و حرفه ای ترین extention های CSS.

  • Rails

برنامه نویسی روبی در بخش وب، فریم-ورک خود را داراست که Rails نام دارد.

  • Sinatra

Sintra در اصل یک DSL برای تولید سریع برنامه های وب می باشد.

  • Chef

ابزار مدیریت تنظیمات که توسط روبی نوشته شده است.

اما مهمترین نرم افزاری که توسط روبی طراحی شده، همان Rails می باشد که توسط آن، بسیاری از وب سایت های معروف راه اندازی شده اند، سایت هایی مانند Fiverr، Hulu، 500px، Clarity و Myfitnesspal.

درآمد

برنامه نویسی روبی یکی از زبان هایی است که توانسته هر ساله به محبوبیت خود بیافزاید و این موضوع باعث شده که شرکت های استارت آپ رو به برنامه نویسی روبی بیاورند. به همین دلیل، درآمد برنامه نویسی روبی به طور میانگین 96 هزار دلار می باشد و بازه درآمد از 40 هزار کمترین و 119 هزار تا بیشترین مقدار میانگین ثبت شده در ایالات متحده می باشد. برنامه نویسان روبی یکی از پردرآمد ترین افراد در سراسر دنیا می باشند و این موضوع باعث شده که روبی رتبه 4 را در لیست درخواست ها برای خود اخذ کند.

اما فقط خود برنامه نویسی روبی نیست که محبوبیت کسب کرده، بلکه Rails که فریم-ورک مهم و کاربردی روبی است نیز کاربرد های فراوانی دارد که این موضوع باعث شده بسیاری از شرکت ها از Rails برای نوآوری های خود استفاده کنند. در سال 2015، طبق آمار های رسمی، علاقه به یادگیری زبان برنامه نویسی روبی 2.2% افزایش یافت و هر ساله این روند تکرار می شود.

مقایسه

ruby-vs-the-world

همانطور که گفته شد، Rails از قوی ترین پلتفورم های وب برای روبی می باشد و شاید برایتان سوال شود که فرق این با سایر برنامه نویسی های وب مانند PHP، Perl یا Java چیست؟. برای مقایسه می توان به موارد زیر اشاره نمود:

PHP و Ruby

  • به طور کلی سرعت PHP در بارگذاری بسیار سریع تر از Ruby on Rails می باشد ولی در عوض تعداد کد یا خط های کمتری در Ruby on Rails استفاده می گردد.
  • Ruby on Rails نیازمند سرور یونیکسی می باشد ولی PHP می تواند بر روی تمامی سرور ها اجرا شود.
  • تست کردن کد ها در Ruby بسیار آسان تر از PHP می باشد.
  • PHP فضای کمتری را نسبت به Ruby اشغال می کند و به همین دلیل سریع تر بارگذاری می شود.

Perl و Ruby

  • Ruby on Rails به طور کلی شی گرا تر از پرل می باشد.
  • پرل خصلت های یونکدی بیشتری را پشتیبانی می کند ولی Ruby on Rails نسبت به پرل، خصلت های کمتری را پشتیبانی می کند.
  • روبی دارای کتابخانه های بیشتری نسبت به پرل می باشد.
  • پرل متغیر های متنوعی را پشتیبانی می کند ولی Ruby on Rails فقط یک نوع متغیر نسبت به شی ها را پشتیبانی می کند.

Java و Ruby

  • هر دوی این زبان ها از یک اصل و اصول پیروی می کنند.
  • بخاطر نوشتن خط و کد های کمتر، Ruby on Rails قادر به پردازش سریع تر و بیشتری نسبت به جاوا را داراست.
  • کد های روبی نیازمند کامپایل شدن نیستند و به صورت مستقیم اجرا می شوند، ولی جاوا نیازمند کامپایل شدن می باشد.
  • Ruby on Rails دارای انعطاف و خوانایی بالایی است و جاوا دارای عملکرد برنامه ای بهتری است.
  • Ruby on Rails متغیرهای مشخصی ندارد و برنامه نویس می بایست برای هر کد خود یک شاخصه یا نشانه ای تعریف کند تا در زمان خواندن کد دچار سردرگمی نشود، ولی در جاوا به این شکل نیست و تقریبا هر متغیر متعلق به یک کلاس می باشد.

برنامه نویسی روبی می تواند یکی از جذاب ترین و آسان ترین کار در حوزه برنامه نویسی باشد، ولی بهتر است برای شروع کار در این زمینه می بایست ابتدا شرایط این زبان و زبان های دیگر را لحاظ کرد تا بتوان بهترین خروجی را به ارمغان آورد.

احسان نعنایی

احسان، مؤسس هلدینگ EMNCO و جوان‌ترین کارآفرین سال 98 و 99، از سن کم در حوزه شبکه مشغول به فعالیته و تونسته به موفقیت‌های بزرگی دست پیدا کنه. احسان نعنایی بنیان‌گذار نت‌رانه و اولین عضو، از این خانواده بزرگه...
خبرنامه
Notify of
guest
0 نظرات
Inline Feedbacks
View all comments
همچنین ببینید
بستن
دکمه بازگشت به بالا