در صورتی که به تازگی آموزش زبان ruby را شروع کرده اید میتوانید با مراجعه به لینک زیر فیلم آموزش مقدماتی برنامه نویسی روبی Ruby فرادرس را دریافت و اقدام به یادگیری این زبان برنامه نویسی پرکاربرد کنید.
معرفی زبان ruby
زبان ruby یکی از زبانهای برنامه نویسی است که انعطاف پذیر بوده و فعالیت آن بر پایه شی گرایی است. ruby یکی از دوازده زبان برنامه نویسی است که بسیار کاربردی میباشد. روبی زبان برنامه نویسی open source و شی گرا است که به صورت پویا می توان با آن برنامه نویسی کرد. برنامه نویس ها از زبان برنامه نویسی Ruby بیشتر برای توسعه برنامه نویسی سمت سرور استفاده میکنند. روبی نسبت به سایر زبان های برنامه نویسی در زمینه کسب و کار مزایای زیادی دارد.
این زبان شبیه به زبان های برنامه نویسی Perl ، Python و Smalltalk است. استفاده از دستورات نحوی ruby راحت تر از استفاده از دستورات Smalltalk است. برای نوشتن برنامه Ruby فقط نیاز به یک ویرایشگر ساده دارید برای این کار می توانید از ویرایشگرهای ساده مانند Notepad یا Edit plus استفاده کنید. همچنین از ruby win یا Ruby Development Environment که محیط توسعه یکپارچه برای ویندوز به شمار میآید استفاده کنید.
دنیای برنامه نویسی همیشه در حال تغییر است. در آینده، زبانهای برنامه نویسی جدید و بهتری طراحی و معرفی خواهند شد که میتوانند در کسب و کار به مردم کمک کنند. در سال ۲۰۲۱، IEEE International Conference برترین زبان های برنامه نویسی را مشخص کردند که در تصویر زیر جایگاه زبان روبی نیز مشخص است.
ویژگی های موجود در زبان ruby
روبی نیز مانند زبانهای برنامه نویسی دیگر مزایا و ویژگی های خاص خود را دارد که به توضیح چند مورد از آنها میپردازیم.
- متن باز یا همان open source: متن باز بودن یکی از مهمترین ویژگی های یک زبان برنامه نویسی است که در زبان روبی نیز وجود دارد. شاید از خود بپرسید متن باز بودن زبان چه مزیتی دارد؟ اوپن سورس بودن زبان به برنامه نویس امکانی میدهد تا دستورات زبان را ایجاد و آن را ویرایش کند. با این مزیت می توان بدون صرف هزینه اضافی از زبان برنامه نویسی روبی استفاده کرد.
- شی گرایی یا Object Oriented: زبان روبی کاملاً شی گرا است. هر شی دارای کلاس است و قابلیت استفاده از کلاس ها در زبان روبی خیلی ساده و آسان است.
- انعطاف پذیری: انعطاف پذیری از جذابیت های زبان روبی به شمار میرود که پیچیدگی موجود در یادگیری را از بین میبرد. روبی به زبان گفتار انسان نزدیک است و به حفظ کدهای سخت نیازی ندارد. از علل محبوبیت زبان ruby نیز همین انعطلف پذیر بودن آن است.
- کلمه کلیدی یا keywords: تقریباً ۴۲ کلمه کلیدی در زبان روبی وجود دارد که در اصطلاح به کلمات رزرو شده معروف است. کلمات کلیدی یا کلمات رزرو شده کلماتی در زبان ruby هستند که اقدامات از پیش تعریف شده را نشان می دهد. بنابراین این کلمات مجاز به استفاده در نام یا اشیاء متغیر یا به عنوان ثابت نیستند. انجام این کار باعث خطای زمان کامپایل میشود.
- تایپ پویا و تایپ اردکی: روبی زبان برنامه نویسی پویا است. کلاسها، تعریف های متد، زمان اجرا توسط کد ساخته میشود. روبی از نوع شیء صرف نظر می کند و فقط به نام شیء توجه میکند یعنی وقتی از تایپ اردکی استفاده می شود وجود یک ویژگی مشخص در شیء را بررسی میکند، به این عملکرد در اصطلاح تایپ اردکی یا Duck Typing گفته میشود.
معایب زبان ruby
همانطوری که زبانهای برنامه نویسی مزایایی دارند، معایبی نیز دارند. در آموزش زبان ruby ویژگی های این زبان را بیان کردیم و الان نوبت به معایب آن میرسد. اشکال زدایی در کدهای روبی کمی دشوار است و در بعضی مواقع در هنگام اجرای برنامه خطا ایجاد میکند. پردازش کندی دارد و نسبت به سایر برنامه ها اطلاعات کمتری دارد.
در مقایسه با سایر زبان های کامپیوتری، ruby نسبتاً جدید است و زبان برنامه نویسی منحصر به فرد خود را دارد. برخی از برنامه نویسان این موضوع را یک نقطه ضعف می دانند زیرا باید زمان قابل توجهی را صرف یادگیری زبان قبل از استفاده از آن کنند. از آنجایی که یادگیری روبی درست مانند یادگیری یک زبان دیگر است، بسیاری از برنامه نویسان ترجیح می دهند به آنچه قبلاً می دانند و می توانند توسعه دهند، پایبند باشند.
زبان هایی مانند پی اچ پی و سی شارپ، دو تا از محبوب ترین زبان های برنامه نویسی، دارای انجمن های پشتیبانی آنلاین گسترده و کتاب های منتشر شده هستند. جامعه پشتیبانی روبی به اندازه انجمن های پشتیبانی PHP نیست و کتاب های مربوط به برنامه نویسی روبی نیز به وسعت سی شارپ نیستند.
فریم ورک های ruby
در ادامه آموزش زبان ruby به معرفی فریم ورکهای روبی می پردازیم. بگذارید قبل از معرفی فریمورکها، تعریفی از آن ارائه دهیم تا کسانی که مفهوم فریم ورک را نمی دانند با آن آشنا شوند. فریم ورک در اصطلاح چارچوب نرم افزاری است که به برنامه نویس کمک میکند کدهای کمتری بنویسد و در زمان کوتاهی بهترین نتیجه را بگیرید.
به عنوان مثال در فریمورک دات نت، ماشین مجازی جاوا، این امکان را دارد که برنامه نوشته شده، بتواند روی سیستم عامل های گوناگون به صورت مساوی و یکسان عمل کند.
- فریم ورک Ruby on Rails: روبی ان ریلز از محبوب ترین فریم ورکهای روبی به شمار میرود که در بین برنامه نویسان ruby و ruby on rails به یک معنی به حساب میآیند.
- فریم ورک Sinatra: از دیگر فریم ورک های روبی سیناترا میباشد که به نسبت فریمورک قبلی سبک تر است و بر اساس معماری MVC نوشته و تولید میشود.
- فریم ورک Paderino: فریم ورک پادرینو در مقایس با فریم ورک های روبی آن ریلز و سیناترا پیشرفت کمتری داشته است. این فریم ورک نیز در جایگاه خود دارای ویژگی های زیادی است.
انوع مختلفی از پروژههای ساخته شده با استفاده از زبان برنامه نویسی روبی وجود دارد که در ادامه به توضیح مختصری از آن ها نیز می پردازیم:
- Metasploit Framework از قدرتمندترین فریم ورک های طراحی شده با استفاده از زبان روبی است.
- SASS از حرفهای ترین و مهمترین توسعه های CSS میباشد.
- Rails از فریمورک های روبی در حوزه وب است.
- Sinatra یک خط اشتراک دیجیتال برای تولید برنامه های وب است.
- Chef ابزاری برای مدیریت تنظیمات است که با زبان روبی نوشته شده است.
کاربردهای زبان ruby
زبان برنامه نویسی روبی از زمانی که طراحی و معرفی شد، در توسعه نرم افزار برای کاربران و شرکتها در زمینه های مختلفی مانند علم و تجارت، علم و فناوری استفاده شده است. پشتیبانی از iterators و closures و پشتیبانی محلی از regular expressions از دیگر کاربردهای زبان روبی است.
Ruby دارای کتابخانه استاندارد بزرگ و دارای جمع آوری زباله خودکار می باشد. زبان روبی دارای بسته مدیریت متمرکز از طریق RubyGems و نحو کوتاه و انعطاف پذیر است. کد نویسی سریع با استفاده از ROR و برخورداری از فریم ورک محبوب Ruby on Rails از کاربردهای دیگر زبان برنامه روبی به حساب میآید.
ایجاد برنامه Hello Ruby
در آموزش زبان ruby میخواهیم یک برنامه ساده را نشان دهیم. روبی در سیستم عاملهای مختلف به طور متفات نصب میشود مثلاً در سیستم عامل Unix از سیستم Package Manager استفاده میکنند. در ویندوز از RubyInstaller استفاده میشود و سیستم Osx از ابزار Rvm استفاده میکنند. همه فایل ها در ruby پسوند rb خواهند داشت. بنابراین کد منبع زیر را در یک فایل test.rb قرار دهید.
#!/usr/bin/ruby -w puts "Hello, Ruby!";
در این مثال، فرض کردیم که مفسر Ruby در پوشه /usr/bin موجود است. الان این برنامه را به صورت زیر اجرا می کنیم:
$ ruby test.rb
خروجی زیر را مشاهده خواهید کرد:
Hello, Ruby!
در زبان روبی تعدادی کلمات رزرو شده وجود دارد که از این کلمات نمیتوان به عنوان نام ثابت (constant) یا متغیر (variable) استفاده کرد. اما می توان از کلمات رزرو شده به عنوان نام متد استفاده کرد.
در مثال پایین Document به ساخت رشتهها از چندین خط اشاره دارد. با دنبال کردن یک << می توان یک رشته یا یک شناسه برای پایان دادن به رشته را تعیین کرد. توجه داشته باشید که نباید بین << و پایان دهنده فاصله وجود داشته باشد. به مثال زیر توجه کنید تا بیشتر متوجه شوید:
#!/usr/bin/ruby -w print <<EOF This is the first way of creating here document ie. multiple line string. EOF print <<"EOF"; # same as above This is the second way of creating here document ie. multiple line string. EOF print <<`EOC` # execute commands echo hi there echo lo there EOC print <<"foo", <<"bar" # you can stack them I said foo. foo I said bar. bar
خروجی به شکل زیر خواهد بود:
This is the first way of creating her document ie. multiple line string. This is the second way of creating her document ie. multiple line string. hi there lo there I said foo. I said bar.
مقایسه ruby با python
تفاوت ها و شباهت های زیادی بین زبانهای برنامه نویسی پایتون و روبی وجود دارد. از Ruby ویژگی های زیادی مثل متن باز بودن، پویا و داینامیک بودن و شی گرایی را ذکر کردیم. زبان برنامه نویسی ruby مشابه زبان های برنامه نویسی Perl و Smalltalk در نظر گرفته میشود. این برنامه بر روی انواع سیستم عامل ها مانند ویندوز، سیستم عامل مک و همه نسخه های یونیکس اجرا می شود. پایتون یک زبان برنامه نویسی ساده، آسان برای یادگیری، قدرتمند، سطح بالا و شی گرا است. همچنین یک زبان اسکریپت نویسی تفسیر شده می باشد.
شباهت های روبی و پایتون
- هر دو یک زبان برنامه نویسی سمت سرور هستند.
- هر دو برای برنامه های کاربردی وب استفاده میشوند.
- هر دو روی چندین پلتفرم کار میکنند.
- هر دو دارای نحو ساده هستند و به راحتی قابل خواندن هستند.
- هر دو از یک اعلان تعاملی به نام IRB استفاده میکنند.
- اشیاء به صورت داینامیک و پویا تایپ میشوند.
- هر دو از ابزارهای doc تعبیه شده استفاده میکنند.
- هر دو زبان توسط حالت های Emacs پشتیبانی می شوند.
تفاوت های روبی و پایتون
python زبانی سطح بالا و ruby زبان برنامه نویسی عمومی است. روبی کاملاً شی گرا است اما پایتون کاملاً شی گرا نیست. زبان برنامه نویسی پایتون توسط چندین IDE پشتیبانی میشود اما روبی توسط IDE Eclipse پشتیبانی میشود. از فریم ورک های پایتون و روبی به میتوان به ترتیب به Django و Ruby on Rails اشاره کرد.
کتابخانههای زبان پایتون بزرگتر و وسیعتر از زبان روبی میباشد. از زبان python در Google, Dropbox, Instagram, Mozilla, Yahoo, Venom, You Tubes استفاده شده است و از زبان ruby در Apple, GitHub, Twitter, Hulu, ZenDesk, Urban Dictionary استفاده میشود.
یادگیری جنگو و پایتون شاید در ابتدا سخت و پیچیده به نظر برسد، اما اگر هدف شما آماده سازی برنامه وب است، Rails یکی از بهترین فریم ورک هاست و جامعه پشتیبانی برای کمک به حل مشکلات مختلف ارائه را داراست. اما اگر ruby و rails را یادگرفتید بد نیست وارد پایتون شوید چون پایتون برای محاسبات علمی و علم داده مناسب است و به همین دلیل طرفداران بیشتری دارد.
علاوه بر این، استفاده مجدد از کد پایتون در بین برنامه ها آسان است. هر دو زبان منحصر به فرد هستند و ویژگی های خود را دارند و بهتر است برنامه نویسها چندین زبان مختلف را یاد بگیرند تا رزومه بهتر و قوی تری داشته باشند. اگر بخواهید ruby را با زبان های دیگری مثل php، perl، java مقایسه کنید به چند مورد اشاره می کنیم:
پی اچ پی سرعت بارگذاری بالاتری نسبت به روبی دارد، در عوض روبی تعداد کد کمتری در مقایسه با پی اچ پی دارد. ruby نیاز به فضای بیشتری دارد اما php فضای کمتری را اشغال میکند. زبان perl شی گراتر است و تعداد کتابخانه بیشتری نسبت به ruby دارد. زبان روبی مانند جاوا نیازمند کامپایل شدن نیست و هر متغیر در جاوا متعلق به یک کلاس است. جاوا عملکرد برنامه ای بهتری دارد.
سخن آخر در مورد آموزش ruby
به جمع بندی مطالب آموزش زبان ruby رسیدیم. از زبان روبی برای برنامه نویسی سمت سرور و ساخت بازی و محاسبات پزشکی استفاده میشود. در این آموزش، زبان برنامه نویسی روبی را به طور کامل توضیح دادیم و کد یک برنامه ساده در ruby را نشان دادیم. ویژگی ها و کاربردهای Ruby را به طور مفصل شرح دادیم و با زبان پایتون و پرل و جاوا مقایسه کردیم. برای آشنایی بیشتر با زبان های برنامه نویسی می توانید با آموزش های برنامه نویسی فرادرس برنامه نویسی را برای همیشه یاد بگیرید.
یک پاسخ
توضیحات داده شده کامل بود ممنون