زبان برنامه نویسی روبی چیست و چه کاربردی دارد؟ – از صفر تا صد
زبان برنامه نویسی روبی در میان زبانهای برنامهنویسی متنوع و زیادی که وجود دارند به صورتی خاص جلب توجه میکند. روبی در میان توسعهدهندگان نرمافزار به عنوان یکی از زبانهای محبوب شناخته میشود. زیرا این زبان به آنها کمک میکند که با وجود کدهای منظم و تمیز، به سرعت بیشتری به تولید برنامهها بپردازند. بیشتر برنامهنویسان فکر میکنند که روبی زبانی بسیار هنرمندانه و زیباست. اما با این وجود هم بسیار کاربردی است و کاربری سادهای دارد. برای اینکه بدانیم زبان برنامه نویسی روبی چیست از تعریف این زبان شروع کرده و تا مقایسه آن با زبان برنامه نویسی پایتون به پیش رفتهایم.
در این مطلب از مجله فرادرس، به بحث درباره این میپردازیم که زبان برنامه نویسی روبی چیست و چرا بیشتر برنامه نویسان نرمافزارهای فضای ابری ترجیح میدهند که از آن استفاده کنند. همچنین به بررسی علتهای اصلی شهرت و محبوبیت زیاد روبی در بین برنامهنویسان پرداختهایم. سپس در ادامه مطالب متوجه میشویم که کاربردهای مختلف زبان برنامه نویسی روبی چیست و مرور کلی بر تفاوتهای روبی، روبی آن ریلز و پایتون انداختهایم.
زبان برنامه نویسی روبی چیست؟
روبی زبان برنامه نویسی است که با دیدگاه طراحی همه منظوره برنامههای نرمافزاری طراحی شده. این زبان برنامه نویسی کاربرد بسیار زیادی دارد و در بازار کار، فرصتهای شغلی بسیاری هم برای آن ایجاد شده است. این مسئله بخاطر آن است که تعداد زیادی از برنامههای ریلز با زبان روبی نوشته میشوند. در نتیجه روبی به زبانی بسیار مشهور و پرطرفدار تبدیل شده است. خواندن و درک کدهای این زبان ساده است. چنین مزیتی باعث شده که تولید نرمافزار با کمک روبی با سرعت زیادتری انجام شود، بدون اینکه کیفیت و کارآیی برنامههای تولید شده افت کنند. روبی زیربنای شرکتهای فنآوری بزرگی مانند X «همان توییتر سابق»، SoundCloud و Goodreads و Kickstarter و غیره است. این شرکتها در تولید محصولات خود بر استفاده از زبان روبی متکی هستند.
روبی زبان برنامهنویسی است که با هدف ساخت اپلیکیشنهایی با کاربردهای عمومی تولید و منتشر میشود. همچنین، این زبان برنامه نویسی شیء گرا، به صورت پویا و به شدت ژرفاندیشانه طراحی شده است. روبی توسط آقای Yukihiro Matsumoto ساخته شده و خالصترین شکل زبانهای شیءگرایانه را دارد. در این زبان، همه چیزها به غیر از بلوکهای Ruby از شیء ساخته شدهاند. اگرچه در زمانهای نیاز به استفاده از بلوک میتوان موارد جایگزینی مانند «فرایند» روبی و «لامبدا» را به جای آن به کار برد. اولین هدف ماتسوموتو در طراحی روبی این بود، زبانی تولید کند که به عنوان پلی شهودی بین برنامهنویسان انسانی و سطوح پایین سختافزار کامپیوتر عمل کند. در این صورت برنامهنویسی بسیار طبیعیتر و کارآمدتر میشود.
زبان برنامهنویسی روبی نسبت به سایر زبانهایی مانند C و جاوا فرایند آموزش و استفاده سادهتری دارد. این مسئله بخاطر آن است که سینتکس روبی به زبان انگلیسی شبیهتر است. البته از زبانهای برنامه نویسی C و جاوا هم میتوان برای طراحی نرمافزار استفاده کرد اما فرایند یادگیری نسبتا مشکلتری دارند. سینتکس زبان روبی به حدی ساده است که هر شخص آشنا با زبان انگلیسی میتواند آن را درک کند، حتی بدون اینکه یک خط کد در زندگیاش نوشته باشد. در نتیجه اگر کسی تمایل به یادگیری برنامهنویسی دارد، زبان روبی یکی از بهترین گزینهها برای شروع به آموزش است.
آموزش زبان های برنامه نویسی از مقدماتی تا پیشرفته
بدون شک، برنامه نویسی یکی از مهمترین مهارتهایی است که نه تنها برای همه شاغلان و دانشجویان رشته کامپیوتر، بلکه برای سایر تخصصها نیز به شکل ضروری، مورد نیاز است. این نیاز با گذشت زمان بیشتر هم میشود. در سالیان اخیر، هر ساله، بر تعداد موقعیتهای شغلی مرتبط با برنامهنویسی افزوده شده است. از طرفی، کار با کامپیوتر بخشی جدا نشدنی از فرایند تحقیق و پژوهش در اکثر رشتههای دانشگاهی امروزی است. در حال حاضر یکی از مفیدترین ضروریترین مهارتها برای دانشجویان همه رشتهها، توانایی پیادهسازی ایدهها و الگوریتمها در قالب برنامههای کامپیوتری است.
فرادرس یکی از بزرگترین مراجع تولید و انتشار فیلمهای آموزشی، بخصوص در حوزه برنامهنویسی است. افراد زیادی که به زبان فارسی آشنایی دارند، از داخل یا خارج از کشور به فرادرس مراجعه کرده و از مطالب و فیلمهای آموزشی به منظور کسب مهارت استفاده میکند. فیلمهای آموزشی فرادرس هم برای دانشجویان مفید است و هم برای افرادی که به دنبال کسب توانایی برای ورود به بازار کار هستند. با آموزشهای برنامه نویسی فرادرس، برنامهنویسی را یک بار و برای همیشه یاد بگیرید. همان طور که تا کنون هزاران نفر از مخاطبین فرادرس توانستهاند این کار را انجام دهند.
- فیلم آموزش مقدماتی برنامه نویسی روبی با فرادرس
- فیلم آموزش برنامه نویسی پایتون دوره مقدماتی با فرادرس
- فیلم آموزش مبانی برنامه نویسی درباره الگوریتم و فلوچارت با رویکرد حل مساله در فرادرس
- فیلم آموزش رایگان اصول و مبانی برنامه نویسی با فرادرس
روش نصب زبان برنامه نویسی روبی چیست؟
برای کار کردن با زبان برنامهنویسی روبی و روبی آن ریلز میتوان از پرتالهای آنلاین استفاده کرد. در این صورت هیچ نیازی به نصب و راهاندازی این زبان بر روی کامپیوتر شخصی خود نداریم. اما اینکار فقط در شرایطی خوب است که بخواهیم وظایف کوچک و سریعی را انجام دهیم یا فقط با نوشتن چند کد ساده با زبان، سینتکس و ویژگیهای Ruby آشنا شویم. در واقع برای کار با هر زبانی بهترین روش این است که محیط توسعه آن زبان را بر روی کامپیوتر شخصی خود نصب و راهاندازی کنیم. در این بخش از مطلب یاد میگیریم که روش نصب زبان برنامه نویسی روبی چیست.
اگر بخواهیم که با زبان روبی در «محیط توسعه یکپارچه»ای (Integrated Development Environment | IDE) کار کنیم، به عنوان چند گزینه خوب برای کاربران ویندوز میتوان از RubyWin و «محیط توسعه روبی» (Ruby Development Environment) یا RDE نام ببریم.
توجه کنید: هیچ مشکلی برای نوشتن کد در ویرایشگرهای متن وجود ندارد. Notepad به خوبی کار میکند البته استفاده از ++Notepad بهتر هم هست. اما نکته اینجاست که بعد از نوشتن کدها و بدون نصب محیط محلی روبی، قادر به اجرای آنها نخواهید بود.
معمولا همراه با نصب روبی، شل IRb یا Interactive Ruby نیز نصب میشود. این شل برای تجربه کدنویسی روبی و اجرای کدها به صورت بیدرنگ بهکار برده میشود. بعد از نصب روبی، «خط فرمان» (Command Prompt) را باز کنید. با تایپ دستور «irb» و فشردن دکمه Enter میتوانید شل روبی را اجرا کرده و به کدنویسی بپردازید.
نصب روبی در ویندوز
در این قسمت با روش نصب روبی در ویندوز آشنا میشویم. کاربران ویندوز باید از نرمافزار «RubyInstaller» استفاده کنند. این نرمافزار را میتوان از سایت (+) دانلود کرد. با دانلود و نصب این برنامه بر روی کامپیوتر خود، به صورت بسیار سادهای روبی آماده کدنویسی میشود.
نصب روبی در OS X
خوشبختانه روبی بر روی نسخههای Yosemite و Mavericks از سیستم عامل OS X از پیش نصب شده است. اما در صورتی که سیستم عامل Mac مورد استفاده شما این زبان برنامهنویسی را همراه خود نداشت، به سادگی و با استفاده از HomeBrew - از اینجا دانلود کنید (+) - میتوانید آن را به سیستم خود اضافه کنید.
$ brew install ruby
استفاده از شل روبی
بعد از اینکه روبی را با موفقیت بر روی سیستم خود نصب کردیم نوبت این است که ببینیم روش استفاده از شل در زبان برنامه نویسی روبی چیست. زیرا شل اولین محیط کدنویسی روبی است که در دسترس هرکسی قرار میگیرد. در فهرست زیر، روش اجرای شل روبی را در سیستم عاملهای مختلف بیان کردهایم.
- سیستم عامل Mac OS X: در این سیستم عامل روش کار بسیار ساده است. ترمینال را باز کرده، عبارت «irb» را تایپ کنید و در نهایت دکمه Enter را فشار دهید.
- سیستم عامل لینوکس: در این سیستم عامل هم فقط کافیست که ترمینال را باز کرده، عبارت «irb» را تایپ کنید و در نهایت دکمه Enter را فشار دهید.
- سیستم عامل ویندوز: در ویندوز میتوانیم از منوی Start به بخش Ruby رفته و برنامه Interactive Ruby را باز کنیم. روش دیگر باز کردن خط فرمان و تایپ عبارت «irb» و در نهایت فشردن دکمه Enter است.
نوشتن برنامه ساده Hello World
یکی از اولین مسائلی که در آموزش هر زبان برنامهنویسی، دانشجویان انجام داده و به عنوان مسئله تمرینی حل میکنند، گرفتن خروجی متن «Hello World» است. در این بخش از مطلب به حل این مسئله میپردازیم. قرار است کاری کنیم که عبارت «Hello World» در خروجی برنامه چاپ شود. توجه کنید که این کار با کمک زبان روبی، چقدر ساده انجام میشود. برای کسب اطلاعات به صورت فیلم درباره زبان روبی میتوانید فیلم آموزش رایگان آشنایی با زبان برنامه نویسی روبی را از فرادس مشاهده کنید. به منظور کمک به مخاطبان لینک این فیلم را در پایین نیز قرار دادهایم.
بعد از اینکه شل روبی را باز کردیم، فقط کافیست که کد زیر را به عنوان دستور بنویسیم.
1puts "Hello World"
بعد از فشار دادن دکمه Enter، خروجی زیر در ترمینال دیده میشود.
Hello World => nil
بخش Hello World دقیقا همان متنی است که به شل روبی دستور دادیم، در خروجی چاپ کند. عبارت nil نتیجه اجرای دستور نوشته شده را نشان میدهد. با این کلمه، شل به برنامهنویس میگوید که مقدار نهایی به طور قطع هیچ است. nil یک نوع داده مخصوص در روبی است و به معنای «هیچ» محسوب میشود. nil در روبی معادل null یا None در سایر زبانهای برنامه نویسی است.
از شل روبی به عنوان ماشین حساب ساده نیز میتوان استفاده کرد. کافیست هر معادله سادهای را که در نظر دارید، نوشته و دکمه Enter را فشار دهید. برای مثال به کدهای پیادهسازی شده در کادر زیر توجه کنید.
1irb(main):003:0> 7+2
2=> 9
تاریخچه زبان روبی
در میانههای دهه ۹۰ میلادی، زبان روبی توسط برنامهنویس ژاپنی به نام «یوکیرو ماتز ماتسوموتو» (Yukihiro “Matz” Matsumoto) ساخته شد. در آن زمان آقای ماتسوموتو در کار با بسیاری از زبانهای برنامهنویسی مانند Perl و Eiffel و Smalltalk و Lisp و Ada خبره بود. به همین دلیل تلاش کرد که بهترین قسمت همه این زبانهای برنامهنویسی را انتخاب کرده و در زبان جدیدی به نام «روبی» (Ruby) جمع کند.
اولین بار روبی در سال ۱۹۹۵ میلادی در اختیار عموم قرار گرفت. اما تا سال ۲۰۰۶ طول کشید که مشهور شده و توسط برنامهنویسان جهان شناخته شود. از آن زمان به بعد روبی به تعداد زیادی کاربر فعال در سراسر جهان دستپیدا کرده است. برنامهنویسهای مختلفی با گرایشها و تخصصهای متفاوت از روبی برای تولید بهترین برنامههای جهان استفاده میکنند. همچنین گروههای بزرگی از کاربران و طرفداران روبی به صورت منظم در شهرهای بزرگ جهان و در کنفرانسهایی که بر روی کار با روبی متمرکز شده به دور هم گرد میآیند.
بهترین چیز درباره روبی این است که این زبان به طور کامل رایگان است. نه تنها استفاده از این زبان برنامهنویسی رایگان است، بلکه کدهای منبع آنهم به صورت اوپن سورس و رایگان در دسترس همه قرار دارند. یعنی اینکه این زبان برنامهنویسی را با هر دلیل به ظاهر منطقی میتوان تغییر داد، کدهای آن را کپی کرد و هر نوع دستکاری در آن انجام داد.
برای روبی، فریمورکی به نام «روبی آن ریلز» (Ruby on Rails) طراحی شده که توسعهدهندگان با کمک آن به طراحی وبسایتهای اینترنتی بپردازند. این فریمورک از سال ۲۰۰۵ میلادی به بعد در دسترس مردم قرار گرفت. از آن زمان به بعد فریمورک روبی آن ریلز به مشهورترین عامل شناخت روبی تبدیل شده است. این فریمورک امکان ساخت برنامههای آنلاین بسیار پیچیده و با کاربری ساده را فراهم کرده است. نکته اینجاست که توسعه چنین برنامههایی در زمان بسیار کوتاهتری نسبت به قبل ظهور روبی آن ریلز انجام میگیرد.در نتیجه فریمورک روبی آن ریلز به طور کامل صنعت توسعه اپلیکیشنهای اینترنتی را تغییر داد.
این فریمورک با سرعت زیادی دربین مالکان شرکتهای استارت آپی مشهور شد که برای تولید پروژههای خود در مضیقه زمانی قرار داشتند. همچنین به تیمهای کوچک کمک کرد تا پروژههای بزرگ را با سرعت زیادتری اجرا کنند. در حال حاضر روبی آن ریلز فریم ورک اپلیکیشنهای اینترنتی است که توسط سایتهای بزرگ و شناخته شدهای مانند Shopify و Square و Instacart و Twitch و SoundCloud و GitHub و Kickstarter و Ask.fm و حتی Hulu بهکار برده میشوند.
موارد کاربرد زبان برنامه نویسی روبی چیست؟
روبی زبان برنامهنویسی همه فن حریف، قدرتمند و انعطافپذیری است که میتواند انواع برنامههای مختلف را تولید کند. به عنوان مثال، با کمک روبی میتوان برنامههای دسکتاپ، «وبسایتهای ایستا» (Static Websites)، سامانههای پردازش داده و حتی سامانههای که به صورت مستقل قابلیت اجرا و عملیات دارند را طراحی کرد. همچنین از این زبان در سرورهای اینترنتی و DevOps هم استفاده میشود. علاوه بر اینها، با کمک روبی وظایفی مانند «وب اسکرپینگ» (Web Scraping) و طراحی «خزنده وب» (Web Crawler) نیز قابل اجرا هستند. وقتی که از ویژگیهای فریمورک روبی آن ریلز استفاده کنید، حتی میتوانید کارهای بسیار بیشتری نیز انجام دهید. به خصوص وقتی نوبت به طراحی اپلیکیشن اینترنتی میشود که بر اساس پایگاه داده کار میکند.
۱. توسعه نرم افزارهای اینترنتی
فریمورک Ruby on Rails انقلابی در شاخه از طراحی نرمافزارهای اینترنتی ایجاد کرده است. در نتیجه روبی بر اثر وجود این فریمورک در این زمینه هم به یکی از شناختهشدهترین زبانهای برنامهنویسی جهان تبدیل شده. قبل از منتشر شدن فریمورک Ruby on Rails در سال ۲۰۰۵ توسعهدندهگان مجبور بودند که زمان بسیار زیادی را صرف نوشتن کدهایی کنند که هم تکراری بود و هم استاندارد. این مشکل بعد از ظهور فریمورک Ruby on Rails حل شد. فریمورک روبی آن ریلز به توسعه دهندگان تمام چیزهایی را داد که برای ساخت برنامههای مقیاسپذیر نیاز داشتند. برای تولید «کدهای قالب» (Boilerplate Codes)، ساخت مدل پایگاه داده یا حتی ایجاد ساختار مناسبی برای ذخیره فایلها فقط کافی است که فرمان سادهای را اجرا کنیم. این خودکارسازی برنامهها به توسعه دهندگان کمک کرد که بیشتر بر روی منطق و ویژگیهای یکتای برنامه خود تمرکز کنند بهجای اینکه وقت خود را بر روی وظایفی با ارزش کمتر هدر بدهند.
۲. DevOps و پویایی
روبی نقش بسیار چشمگیری در طراحی برنامههای اینترنتی، پویا و DevOps بازی میکند. سکوهایی مانند Heroku را در نظر بگیرید که برای توسعه اپلیکیشنهای اینترنتی بهکار برده میشوند. این نوع از سکوها توسط تعداد زیادی از مردم استفاده میشوند. علت افزایش محبوبیت این سکوها این است که بیشتر مهندسین DevOps نیازی به آزمایش، دیپلوی یا بارگذاری اپلیکیشنهای تحت وب ندارند. به خصوص اینکه در ابتدا، Heroku فقط با برنامههایی کار میکرد که با زبان برنامهنویسی روبی نوشته شده بودند.
«دواپس» (DevOps) به مجموعهای از فرآیندهای توسعه نرمافزار گفته میشود که بر ارتباط، همکاری و یکپارچهسازی تیمهای توسعه و عملیات تمرکز دارد. فرصتهای شغلی بسیار زیادی برای مهندسین DevOps وجود دارد. برای آشنایی با نحوه فعالیت در این زمینه میتوانید مطلب چگونه مهندس دواپس شویم؟ راهنمای مسیر شغلی DevOps را از مجله فرادرس مطالعه کنید.
از روبی برای ساخت Vagrant هم استفاده شده است. این نرمافزار ابزار شناخته شدهای در مدیریت ماشینهای مجازی است. به لطف وجود Vagrant، توسعهدهندگان اکنون میتوانند نرمافزارهای ساخته شده برای سیستم عاملهای خاصی را بر روی سایر نوع سیستم عاملها اجرا کنند. برای مثال، توسعهدهندهها میتوانند سرویسی را که فقط برای کار بر روی لینوکس طراحی شده در هر سیستم عامل دیگری اجرا کرده و از آن استفاده کنند.
۳. «تولید سایت ایستا» (Static Site Generation)
وقتی که به صفحه معمولی سایتی مراجعه میکنیم، این سایت از کدهای سمت سرور برای ایجاد محتوای HTML استفاده میکند. سپس محتوای ایجاد شده را به مرورگر اینترنتی ما ارسال میکند. این کدها بر روی سرور وبسایت قرار داده شدهاند. به این معنا است که URL استفاده شده به هیج فایل HTML متصل نشده. بیشتر اوقات این رویکرد توسعه فایلهای HTML روش مناسبی برای ارائه خدمات و ارسال صفحات اینترنتی به کاربران نیست. بهترین روش این است که از «تولید کننده ایستای سایت» (Static Site Generator) مانند Jekyll استفاده کنیم. این نرمافزار که به عنوان یکی از خوشنامترین تولیدکنندههای ایستای سایت شناخته میشود نیز با کمک زبان برنامهنویسی روبی نوشته شده است.
تولید کننده سایت ایستا
تولید کننده سایت ایستا ابزاری است که از کدها برای ساخت همه صفحات اینترنتی سایتی به صورت یکباره استفاده میکند. بعد از آن صفحات اینترنتی ساخته شده بر روی سرور ذخیره شدند. هر وقت که به عنوان کاربر به وبسایت مورد نظر مراجعه کنیم، فایل ایستای HTML از پیش آماده شدهای را مشاهده خواهیم کرد. بر اثر اینکار، وبسایتها کاربردیتر و امنتر میشوند. به همین ترتیب راه اندازی بسیار سادهتری نیز خواهند داشت. تولید کننده سایت ایستا بهترین روش برای ساخت وبسایتهایی است که محتوای ثابتی دارند.
۴. سرورهای اینترنتی
Passenger و Puma دو مورد از مشهورترین سرورهای مخصوص اپلیکیشنهای تحت وب هستند. هر دوی این سرورها از زبان Ruby پشتیبانی میکنند. سرورهای اپلیکیشن اینترنتی مانند اینها، مسئول دریافت و پردازش درخواستهای HTTP و مدیریت فرایندها و منابع هستند. در نتیجه به مردم کمک میکنند که حواس خود را بر روی تمام اتفاقات جاری متمرکز کنند و اتفاقات غلط را شناسایی کنند.
۵. پردازش داده
Ruby یکی از بهترین زبانها برای پردازش دادهها است. این مسئله تاحدی بخاطر این است که سینتکس روبی خوانایی زیادی دارد. از طرفی روبی دارای توابع «درونی» (Built-In) مانند Map و Reduce و Select است که بسیار کاربردی و مفید هستند. با کمک این توابع، پردازش، پاکسازی و فیلتر کردن دادهها به شکل سادهای انجام میشود.
۶. Web Scraping
زبان برنامه نویسی روبی همراه با تعداد زیادی از بستههای نرمافزاری مانند Vessel عرضه میشود که از قبل بر روی آن نصب شدهاند. با کمک Vessel تجزیه و تحلیل دادههای دریافت شده از وبسایتها به شکل سادهتری ممکن میشود. با کمک Vessel، میتوان برنامههای روبی را به شکلی طراحی کرد که به سرعت و با سادگی در فضای اینترنت بخزند و صفحات اینترنتی مورد نیاز را دانلود کنند. سپس متن HTML بدست آمده را میتوان با کمک Nokogiri تجزیه کرد.
پکیج Nokogiri
پکیج Nokogiri یکی دیگر از ماژولهای محبوب روبی است. با کمک این کتابخانه، برنامهنویسان قادر به اجرای مسائل مربوط به «تحلیل دادهها» (Data Analysis) میشوند. یعنی اینکه با کمک دادههای دریافت شده از صفحات اینترنتی میتوانند به ساخت «مدل یادگیری ماشین» (Machine Learning Model) بپردازند. همچنین میتوانیم دادههای دریافت شده از سایتها را برای ساخت صفحات جدید HTML و اشیاء XML آماده کنیم.
مزایای استفاده از زبان برنامه نویسی روبی چیست؟
در زمان بررسی زبانهای برنامه نویسی کامپیوتر، پیدا کردن منابع مربوط به روبی آن ریلز و زبان روبی زمان زیادی نمیبرد. هر دوی این موارد جزو مطالب بسیار پرطرفدار در میان برنامهنویسها هستند. سایت رسمی پروژههای روبی میگوید که زبان برنامهنویسی روبی ترکیب دقیقی از «برنامهنویسی دستوری» (Imperative Programming) و «برنامهنویسی تابعی» (functional programming) است. این زبان برنامهنویسی طراحی شده تا روش استفاده سادهای داشته باشد و به همینترتیب به آسانی قابل آموزش باشد. اما نه به آن سادگی که قدرت و کارایی خود را از دست بدهد. زبان روبی مجموعه کاربران وفاداری را به دور خود جمع کرده است. این جامعه کاربری فعال اعتقاد دارند که زبان روبی زیبا و هنرمندانه طراحی شده است.
اگر بخواهیم نگاه دقیقتری داشته باشیم، روبی زبان اسکریپتی است که برای توسعه اپلیکیشنهای تحت وب به صورت فرانت اند و بک اند و سایر اپلیکیشنهای مشابه به کار برده میشود. روبی زبانی شیءگرایی است و بسیار انعطافپذیر. همچنین از قابلیت نوعدهی پویا نیز پشتیبانی میکند. روبی دستور زبان سطح بالایی دارد که باعث شده کدنویسی با آن مانند نوشتن متن به زبان انگلیسی طبیعی به نظر برسد. در واقعی بعضی از مردم فکر میکنند که حتی قبل از آموزش برنامهنویسی هم میتوانند کدهای نوشته شده با روبی را خوانده و درک کنند.
Ruby on Rails فریمورکی است که برای کار بر روی زبان روبی ساخته شده است. این فریمورک یکی از ابزارهای بسیار مشهور و خوشنام برای توسعه برنامههای تحت وب با هر زبانی است. به احتمال زیاد میتوان روبی را بیشتر از همه به عنوان زبانی شناخت که برای ساخت وبسایت مناسب است. اما این زبان برنامهنویسی انعطافپذیر را برای انجام پروژههای دیگری نیز میتوان بهکار برد. به عنوان چند مثال از حوزههای بسیار وسیع فعالیت روبی میتوان از پویاسازی سامانهها، ابزارهای خط فرمان، ایجاد سایتهای ایستا، DevOps و web scraping و پردازش داده نام برد.
روبی زبان برنامه نویسی است که به روشهای مختلفی میتوان آن را مورد استفاده قرار داد. این مسئله یکی از نقاط قوت مهم آن است. این زبان برنامهنویسی به خوبی بر روی سیستم عاملهای مختلفی مانند Windows و macOS و Linux, UNIX و DOS کار میکند. زبان برنامهنویسی روبی چنان انعطافپذیر است که تقریبا میتوان آن را برای حل و اجرای هر پروژه کامپیوتری موجودی مورد استفاده قرار داد.
آموزش پروژه محور برنامه نویسی با فرادرس
بهترین راه برای درک اینکه زبان برنامهنویسی روبی چیست، این است که به پروژههای انجام شده توسط این زبان نگاهی داشته باشیم. با این برنامهها کار کنیم و کدهای آنها را بررسی کنیم. مهمتر از همه اینکه برای تمرین باید پروژههایی را انتخاب کنیم که به دنیای واقعی نزدیک باشند. این پروژههای هدفمند کمک میکنند که آموختههای ما درون ذهنمان نهادینه شده و روش ارتباط تکنولوژیهای مختلف با یکدیگر را به خوبی بیاموزیم. در این بخش به معرفی چند مورد از پروژههایی پرداختهایم که با زبانهای برنامهنویسی گوناگون پیادهسازی و اجرا میشوند.
- فیلم آموزش رایگان زمان و تاریخ در زبان برنامه نویسی روبی با فرادرس
- فیلم آموزش پروژه محور برنامه نویسی دلفی با فرادرس
- فیلم آموزش پیش بینی با الگوریتم های یادگیری ماشین در پایتون درباره پیش بینی نارسایی قلبی با فرادرس
- فیلم آموزش پروژه محور C++، پیاده سازی بازی شطرنج با فرادرس
- فیلم آموزش ساخت ربات تلگرام با جاوا با فرادرس
در صورت تمایل بر روی تصویر زیر کلیک کرده و از فیلمهای آموزشی بیشتری دیدن کنید.
مقایسه زبان برنامه نویسی Ruby با بقیه زبان ها
درست است که روبی زبان برنامهنویسی قدرتمند و سطح بالایی است که به صورت مستقل از بقیه میتواند کار کند. اما غیر ممکن است که به روبی اشاره کنیم ولی درباره رقیب اصلی آن که دست برقضا فریمورک همین زبان هم است صحبت نکنیم. این بخش از مطلب را با توضیح کامل و مختصری درباره روبی آن ریلز شروع میکنیم.
زبان Ruby on Rails
در حال حاضر میتوانیم روبی آن ریلز را به عنوان یکی از رقبای زبان روبی در نظر بگیریم. روبی زبان برنامهنویسی سطح بالایی است که میتواند به صورت مستقل و با اتکا بر خودش کار کند. اما اگر بخواهیم که به روبی اشاره کنیم، باید به ریلز هم اشاره کنیم. روبی به تنهایی زبان شناخته شده و موفقی بود اما از وقتی که «روبی آن ریلز» (Ruby on Rails) معرفی شده خیلی بهتر هم شده است. فریمورک روبی آن ریلز طراحی شده است تا در نوشتن برنامههای تحت وب، به خصوص برنامههای مخصوص کار بر روی فضای ابری به توسعهدهندگان روبی کمک کند. در نتیجه باعث ارتقای چشمگیر کیفیت و روش کار روبی شده است.
مسئولین سایت رسمی فریم ورک روبی آن ریلز، فرایند توسعه این فریم ورک را تحت نظر دارند و روبی آن ریلز را چنین تعریف میکنند که این پکیج طراحی نرمافزارهای اینترنتی به صورت اوپن سورس و با هدف کمتر کردن زحمت برنامهنویسان و پایدارسازی بهرهوری آنها طراحی شده است.
فریمورک روبی آن ریلز با کمک خود زبان روبی کدنویسی شده است. این فریمورک برای مدیریت طیف وسیعی از وظایف رایج برنامههای تحت وب مانند ارتباطات، مدیریت فایلها، اتصال به پایگاه داده و غیره بهکار برده میشود. روبی آن ریلز مسئولیت توجه به وظایف کسل کننده را برعهده میگیرد. بنابراین برنامهنویس زمان بیشتری برای تمرکز بر روی کشف راه حلهای مسائل مهمتر در اختیار دارد. قاعده مشهور DRY یا «Don’t Repeat Yourself» به معنای خودت را تکرار نکن، یکی از مهمترین اصولی است که ریلز بر روی آن بنیانگذاری شده. رعایت این اصل برای هر فریمورکی که میخواهد به خوبی کار کرده و موفق شود بسیار مهم است.
سامانه مدیریت محتوای روبی آن ریلز بر روی بیش از یک میلیون وبسایت کار میکند. بعضی از این وبسایتها از مشهورترین سایتهای تجاری و سرگرمی هستند. چند مورد از مهمترین سایتهایی که از ریلز استفاده میکنند را در فهرست زیر نام بردهایم.
- GitHub
- Twitch
- Bloomberg
- SoundCloud
- Hulu
- Square
- Basecamp
- Airbnb
- Hulu
- The Weather Channel
- Instacart
- و غیره
مقایسه روبی با پایتون
به احتمال زیاد، پایتون زبان برنامهنویسی است که بیش از دیگران با روبی مقایسه میشود. زیرا این زبان برنامه نویسی هم مانند روبی، قابلیت استفاده در بسیار از وظایف مختلف را دارد. به دلیل شباهت بسیار زیاد این دو زبان به یکدیگر برای افرادی که به تازگی قصد آموزش برنامه نویسی را دارند، انتخاب از بین این دو سخت است. به عنوان مثال، چند مورد از مهمترین شباهتهای این زبانها را در فهرست زیر بیان کردهایم.
- هردوی این زبانها «سمت سرور» (Server-Side)، اسکریپتی و سطح بالا هستند.
- هر دوی اینها را میتوان برای ساخت برنامههای تحت وب بهکار برد.
- هردو بر روی انواع سیستم عاملهای شناخته شده و مهم کار میکنند.
- هردوی این زبانها با روش دیباگ کننده GNU یا GDB، حالتهای ویرایشگر کد Emacs و «ابزارهای مستندسازی نهفته» (Embedded Doc Tools) سازگار هستند. به این معنا که کدهای خود را میتوانیم با هردو زبان روبی یا پایتون در سامانه دیباگ کننده GNU بنویسیم.
- هردوی این زبانها دارای ویژگی به نام IRB هستند. از IRB به عنوان فضایی برای نوشتن و آزمایش کدها به صورت بیدرنگ استفاده میشود.
- علاوه بر موارد گفته شده، باید اشاره کنیم که اشیا نوشته شده در هردو زبان به شکل قدرتمند و پویا نوعدهی میشوند.
- آخرین و شاید مهمترین نکته هم این است که هردوی این زبانها سینتکسی دارند که هم بسیار منظم و مرتب است و هم خوانایی بالایی دارد.
- توجه: نوعدهی پویا به معنی تخصیص نوع داده به متغیرها در زمان اجرای کدها است. نوع هیچ متغیری از قبل و توسط کاربر مشخص نمیشود، بلکه در زمان اجرا، توسط مفسر و با توجه به داده درون متغیر، نوع داده خاصی به آن تخصیص داده میشود. این نوع داده در زمان اجرای برنامه قابل تغییر است.
با اینکه پایتون و روبی نکات اشتراکی زیادی دارند، اما تفاوتهای زیادی هم بین این دو زبان وجود دارد. برای مثال چند مورد از مهمترین تفاوتهای پایتون و روبی را در فهرست زیر به صورت خلاصه بیان کردهایم.
- پشتیبانی از IDE: روبی فقط با IDE به نام Eclipse کار میکند درحالی که پایتون با IDE-های متنوع و زیادی کار میکند.
- استفاده از Mixin-ها: در روبی میتوانیم از Mixin-ها استفاده کنیم. اما این امکان در پایتون وجود ندارد.
- کتابخانههای تخصصی: همچنین روبی از تعداد کتابخانههای خیلی کمتری نسبت به پایتون برخوردار است.
- گرایش جامعه کاربری: جامعه کاربری پایتون بیشتر علاقه به استفاده از لینوکس و اپلیکیشنهای آکادمیک دارند، درحالی که کاربران رابی، بیشتر علاقهمند به توسعه برنامههای تحت وب هستند.
موارد بالا مهمترین تفاوتها بین دو این زبان برنامهنویسیاند. اما با توجه به پروژه در دست اقدام، قبل از انتخاب زبان برای توسعه نرمافزار خود باید به گزینههای دیگری نیز توجه کنید.
جمعبندی
تا اینجای مطلب باید به شناخت خوبی درباره اینکه زبان برنامه نویسی روبی چیست رسیده باشیم. رایجترین کاربردهای آن چه هستند و برای شروع به کار با این زبان به چه اطلاعاتی احتیاج داریم. روبی زبان برنامهنویسی بسیار مفید و چندکارهای است که میتواند برای انجام انواع مسائل مربوط به دنیای کامپیوتر مورد استفاده قرار داد. همچنین اگر به خوبی بر روی کار با این زبان مسلط شویم، به احتمال زیاد امتیاز بزرگ و موقعیتهای بیشتری نسبت به بقیه برنامهنویسها در بازار کار پیدا میکنیم.
در این مطلب از مجله فرادرس به بررسی سوال زبان برنامه نویسی روبی چیست پرداختهایم. در ابتدا با این زبان آشنا شده و روش نصب آن را در سیستم عاملهای مختلف بیان کردیم. سپس بعد از نمایش برنامه بسیار سادهای که با روبی نوشته شده درباره تاریخچه و موارد کاربرد آن صحبت کردهایم. در نهایت هم مزایای استفاده از روبی را بیان کرده و آن را با زبان پایتون مقایسه کردیم.