زبان برنامه نویسی روبی (Ruby) چیست؟
زمانی که وارد دنیای برنامه نویسی می شوید، آن زمان متوجه می شوید که چه دنیای بزرگ و پیچیده ای می باشد. این دنیای جذاب دارای تعداد زیادی حوزه و زبان های برنامه نویسی می باشد که هر کدام با اهداف مختلفی مورد استفاده قرار می گیرد. یکی از این زبان های معروف و پرکاربرد، زبان برنامه نویسی روبی (Ruby) می باشد که برای بیشتر برنامه نویسان آشنا است. با اینکه زبان برنامه نویسی روبی آشنا می باشد، اما بهتر است بیشتر آن را بشناسید تا متوجه نکات مربوط به این زبان برنامه نویسی شوید.
آنچه در این مقاله می آموزید:
Toggleزبان برنامه نویسی روبی چیست؟
زبان روبی یکی دیگر از زبان های برنامه نویسی می باشد که بسیار انعطاف پذیر است و بر پایه شی گرا فعالیت می کند. زبان برنامه نویسی روبی در سال ۲۴ فوریه ۱۹۹۳ (۵ اسفند ۱۳۷۱) به وسیله فردی به نام یوکیهیرو ماتسوموتو تولید و معرفی شد. زبان روبی دارای ویژگی های نگارشی همچون پرل و شی گرایی اسمال می باشد. زبان Ruby علاوه بر ویژگی های بیان شده، دارای پارادایم های گوناگون برنامه نویسی از جمله برنامه نویسی تابعی، شیء گرا و بازتابی می باشد. نسخه فعلی زبان Ruby، نسخه 1.9.1 می باشد که به زبان سی و به صورت زبانی با قابلیت مفسر تک گذاره صورت می گیرد.
جایگاه زبان برنامه نویسی روبی در رتبه بندی امسال IEEE
تعاریف موجود در زبان برنامه نویسی روبی
متن باز
یکی از موضوعات یا تعاریف موجود در زبان برنامه نویسی Ruby، مفهوم متن باز می باشد. متن باز بودن زبان برنامه نویسی این امکان را به برنامه نویس می دهد که دستورات را ایجاد، ویرایش نمایند. علاوه بر آن با این ویژگی می توانید به سادگی و بدون هزینه از زبان برنامه نویسی روبی استفاده نمایید.
انعطاف پذیر
انعطاف پذیری یکی از ویژگی های جذاب و کاربردی روبی به حساب می آید که باعث از بین بردن پیچیدگی در یادگیری و کد زنی زبان Ruby می شود. این زبان به به زبان گفتار انسان بیشتر نزدیک می باشد و نیازی به حفظ کد های سخت ندارد. می توانیم یکی از دلایل محبوبیت زبان روبی را انعطاف پذیری آن بیان کنیم.
شی گرا
شاید برایتان سوال باشد که منظور از شی گرا بودن چیست؟ ویژگی شی گرا بودن معمولا در بیشتر زبان های برنامه نویسی وجود دارد که زبان روبی نیز یکی از آن زبان ها به حساب می آید. می توانیم شی گرا بودن را به این صورت توضیح دهیم: شی گرا ساختار یا بلوک های اصلی می باشد که تمام آن ها شی ( برنامه به یک یا چندین شی تبدیل می شود) هستند.
پارادایم
پارادایم یکی از شیوه های برنامه نویسی می باشد که دارای شکل های مختلفی است. به طور کلی پارادایم نیز به عنوان تابع یا کد به حساب می آید که به وسیله آن برنامه نویس می تواند به وسیله آن برنامه نویسی کند.
نسخه های زبان Ruby
زبان روبی دارای نسخه های بسیاری می باشد که در ادامه به معرفی آن ها می پردازیم.
- نسخه 1.8
- نسخه 1.9
- نسخه 1.9.1
- نسخه 2.0
- نسخه 2.1
- نسخه 2.2
- نسخه 2.3
- نسخه 2.4
- نسخه 2.5
- نسخه 2.6
- نسخه 3.0
دستورات زبان برنامه نویسی روبی (Ruby)
ساختار کد نویسی در زبان برنامه نویسی روبی
مثال کلاسیک Hello world
“!puts “Hello World |
مقداری کد اساسی روبی
# 199 # 12 # 2 # ” ‘?DINaceinsty” |
# Everything, including a literal, is an object, so this works -199.abs “ruby is cool”.length “Rick”.index(“c”) “Nice Day Isn’t It?”.split(//).uniq.sort.join |
ایجاد و استفاده از یک آرایه
3.14 # # [[4, 5], 2, 1, 3.14, ‘hi’, 1] # [1, ‘hi’, 3.14, 2, 4, 5] |
[[a = [1, ‘hi’, 3.14, 1, 2, [4, 5 [a[2 a.reverse a.flatten.uniq |
ایجاد و استفاده از یک هش
# Prints: hot # Or: hash.each do |key, value|
|
hash = {:water => ‘wet’, :fire => ‘hot’} puts hash[:fire] hash.each_pair do |key, value| puts “#{key} is #{value}” end # Prints: water is wet # fire is hot hash.delete_if {|key, value| key == water} |
ساخت یک کلاس
class Numeric def plus(x) self.+(x) end end y = 5.plus 6 |
نمونه هایی از سینتکس روبی
# 3.14 # [[4, 5], 2, 1, 3.14, ‘hi’, 1] # [1, ‘hi’, 3.14, 2, 4, 5] |
a = [1, ‘hi’, 3.14, 1, 2, [4, 5]] a[2] a.reverse a.flatten.uniq |
پیاده سازی ruby
روبی پیاده سازی ها مختلفی دارد که در لیست زیر به آن ها اشاره می شود.
MRI (“Matz’s Ruby Interpreter”) CRuby (since it is written in C) JRuby (is Ruby atop the JVM (Java Virtual Machine)) MacRuby (is a Ruby that’s tightly integrated with Apple’s Cocoa libraries for Mac OS X) Rubinius (Built on top of LLVM) mruby (for embedded System) IronRuby (is an implementation “tightly integrated with the .NET Framework) MagLev is “a fast, stable, Ruby implementation with integrated object persistence and distributed shared cache”. Cardinal is a “Ruby compiler for Parrot Virtual Machine” (Perl 6). |
فریمورک های زبان برنامه نویسی روبی
زبان برنامه نویسی روبی (RUBY) دارای فریمورک های مختلفی می باشد که در ادامه به معرفی آن ها می پردازیم.
فریمورک روبی آن ریلز
تنها فریمورک محبوب زبان برنامه نویسی RUBY، فریم ورک روبی آن ریلز می باشد که در بین برنامه نویسان روبی و روبی آن ریلز دارای یک معنی به حساب می آیند.
فریمورک سیناترا
سیناترا یکی دیگر از فریمورک های روبی است که به نسبت روبی آن ریلز سبک تر می باشد و برای مدیریت مسیرها مورد استفاده قرار می گیرد. این فریمورک بر اساس معماری mvc نوشته و تولید شده است.
فریمورک پادرینو
فریمورک پادرینو یکی دیگر از فریمورک های ruby می باشد که به نسبت 2 فریمورک قبلی پیشرفته نمی باشد. اما این فریمورک با help های کاربردی کمک فراوانی به توسعه دهندگان روبی می کند.
پروژه های عظیم و مهم طراحی شده با ruby
پروژه های مختلفی توسط زبان برنامه نویسی روبی طراحی شده است که در این قسمت به معرفی آن ها پرداخته می شود.
Metasploit Framework
از قوی ترین فریمورک های طراحی شده می باشد.
SASS
sass یکی از قوی ترین و حرفه ای ترین extention های CSS است.
Rails
Rails فریمورک برنامه نویسی روبی در بخش وب می باشد.
Sinatra
Sintra در اصل یک DSL برای تولید سریع برنامه های وب می باشد.
Chef
ابزار مدیریت تنظیمات می باشد که به وسیله روبی نوشته شده است.
کاربرد ها و امکانات زبان برنامه نویسی روبی (Ruby)
برنامه نویسی Ruby دارای کاربرد ها و امکانات بسیاری می باشد که در ادامه به معرفی آن ها می پردازیم.
- توسعهٔ وب
- پشتیبانی از iterators و closures
- اتصال بومی API ها در C
- پشتیبانی محلی از regular expressions
- کاملاً شی گرا
- داینامیک
- انعطاف پذیر
- سربار گزاری عملگر ها
- قابلیت حمل بالا
- در تمام سیستم عامل های اصلی پیاده سازی می شود
- کتابخانه استاندارد بزرگ
ویژگی های زبان روبی
می توانیم ویژگی های زبان برنامه نویسی روبی (Ruby) را به صورت زیر بیان کنیم.
- داینامیک
- کاملاً شی گرا
- پشتیبانی از iterators و closures (بر اساس تبادل بلوک های کد)
- چهار سطح از حوزه دید متغیر شامل: global, class ,instance ,local
- مدیریت استثناء
- نحو کوتاه و انعطاف پذیر
- پشتیبانی محلی از regular expressions (شبیه پرل) در سطح زبان
- سربار گزاری عملگر ها
- جمع آوری زباله خودکار
- قابلیت حمل بالا
- در همه سیستم عامل اصلی پیاده سازی
- سربار اپراتور
- بسته مدیریت متمرکز از طریق RubyGems
- پشتیبانی کامل از یونیکد و رمزنگاری های شخصیت چند گانه (از نسخه ۱٫۹)
- کتابخانه های اشتراکی/DLL در اکثر پلتفرم ها
- introspection, reflection و meta-programming
- اتصال بومی API ها در C
- پشتیبانی شراکتی از multi-threading در تمام پلتفرم های با استفاده از green threads
- کتابخانه استاندارد بزرگ
- پشتیبانی از تزریق نیازمندی
- پوسته تعاملی (Ruby (REPL
- continuations و generators
مزایا برنامه نویسی Ruby
برنامه نویسی روبی دارای مزایا و معایبی می باشد که در زیر به معرفی آن ها می پردازیم.
- برخورداری از فریمورک محبوبی تحت عنوان Ruby on Rails
- کدنویسی سریع با استفاده از RoR
- کاملاً شیی گرا
جامعه آماری (Community) و بررسی وب سایت های معروف روبی
مقایسه زبان برنامه نویسی روبی با دیگر زبان های برنامه نویسی
PHP و Ruby
PHP | Ruby |
سرعت بار گذاری بالا | سرعت بار گذاری کندتر |
تعداد کد یا خط های زیاد | تعداد کد یا خط های کمتر |
اجرا بر روی تمام سرور ها | اجرا تنها بر روی سرور یونیکسی |
تست کردن کد ها سخت می باشد | تست کردن کد ها آسان تر |
اشغال فضای کمتری | نیاز به فضای بیشتر |
Perl و Ruby
Ruby | Perl |
شی گرا تر می باشد | پشتیبانی از خصلت های یونکدی بیشتر |
پشتیبانی از خصلت های یونکدی کمتر | داشتن و پشتیبانی از متغیر های متنوع |
دارای کتابخانه های بیشتر | |
داشتن و پشتیبانی از یک نوع متغیر |
Java و Ruby
Ruby | Java |
پیروی از یک اصل و اصول | پیروی از یک اصل و اصول |
نوشتن خط و کد های کمتر | نیازمند کامپایل شدن است |
قادر به پردازش سریع تر و بیشتر | عملکرد برنامه ای بهتر |
کد های روبی نیازمند کامپایل شدن نیستند | هر متغیر متعلق به یک کلاس می باشد |
اجرای دستورات به صورت مستقیم | |
دارای انعطاف و خوانایی بالاتر | |
نداشتن متغیرهای مشخص |
چرا از زبان برنامه نویسی روبی استفاده کنیم؟
آسان برای شروع
روبی یک زبان برنامه نویسی ساده می باشد که به صورت زبان انگلیسی خوانده و استفاده می شود. برنامه نویسان مبتدی به راحتی می توانند از این زبان استفاده کنند. برنامه نویسان مبتدی علاوه بر زبان Ruby می توانند به وسیله فریمورک Ruby on Rails یک نمونه های اولیه از زبان روبی بسارند و از آن استفاده کنند.
قابل انعطاف
یکی از ویژگی های روبی، قابل انعطاف بودن می باشد. دلیل داشتن این ویژگی پویا بودن و تایپ شدن است. زبان روبی در ایجاد ویژگی ها سخت نمی گیرد و به زبان گفتار بسیار نزدیک می باشد. شما با داشتن این ویژگی می توانید با روش های مختلف مشکلات خود را برطرف می کردید. علاوه بر آن می توانید پروژه خود را کامپایل نمایید و پس از آن خطاها را بررسی و رفع کنید.
جامعه
یک از مهم ترین ویژگی های زبان روبی، قابلیت جامعه می باشد که این ویژگی باعث می شود که زبان گسترده و فراگیر شود. هر چقدر زبان فراگیر باشد، پشتیبانی و کمک سایر برنامه نویسان راحت تر می باشد.
سخن پایانییکی از راه های شناخت خوب و کامل زبان برنامه نویسی Ruby، مقایسه زبان برنامه نویسی روبی با دیگر زبان های برنامه نویسی می باشد. علاوه بر آن زبان برنامه نویسی روبی دارای نکات و تعاریفی همچون رتبه Ruby، فریمورک های روبی، دستورات زبان Ruby، ویژگی های زبان روبی، پیاده سازی ruby، کاربرد ها و امکانات روبی، مزایا برنامه نویسی Ruby و … می باشد که برای شناخت بهتر زبان روبی به شما کمک بسیاری می کنند. برای دریافت پاسخ سوالات خود و بهره مند شدن از تجربه اساتید خبره و دیگر دوستانتان در کمپین آموزشی بی لرن می توانید سوالات خود را در کافه گپ و گفت مطرح نمایید و در سریعترین زمان، پاسخ سوال خود را دریافت نمایید. همچنین می توانید با عضویت در کمپین آموزشی بی لرن، از دوره های آموزشی رایگان و کاربردی در زمینه های مختلف به صورت تخصصی و حرفه ای بهره مند شوید. با توجه به مسیر یادگیری در زمینه های مختلف می توانید برای شروع طراحی سایت و برنامه نویسی از آموزش html و css بهره مند شوید. |
دیدگاهتان را بنویسید