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

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

 

Ruby چیست؟ | بی لرن

 

زبان روبی یکی دیگر از زبان های برنامه نویسی می باشد که بسیار انعطاف پذیر است و بر پایه شی گرا فعالیت می کند. زبان برنامه نویسی روبی در سال ۲۴ فوریه ۱۹۹۳ (۵ اسفند ۱۳۷۱) به وسیله فردی به نام یوکیهیرو ماتسوموتو تولید و معرفی شد. زبان روبی دارای ویژگی های نگارشی همچون پرل و شی ‌گرایی اسمال‌ می باشد. زبان Ruby علاوه بر ویژگی های بیان شده، دارای پارادایم‌ های گوناگون برنامه‌ نویسی از جمله برنامه‌ نویسی تابعی، شیء گرا و بازتابی می باشد. نسخه فعلی زبان Ruby، نسخه ۱.۹.۱ می باشد که به زبان سی و به صورت زبانی با قابلیت مفسر تک‌ گذاره صورت می گیرد. 

جایگاه زبان برنامه نویسی روبی در رتبه بندی امسال IEEE

 

جایگاه روبی در رتبه بندی امسال IEEE - زبان روبی | بی لرن

تعاریف موجود در زبان برنامه نویسی روبی

 

تعاریف موجود در زبان روبی | بی لرن

 

متن باز

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

انعطاف پذیر

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

شی گرا

شاید برایتان سوال باشد که منظور از شی گرا بودن چیست؟ ویژگی شی گرا بودن معمولا در بیشتر زبان های برنامه نویسی وجود دارد که زبان روبی نیز یکی از آن زبان ها به حساب می آید. می توانیم شی گرا بودن را به این صورت توضیح دهیم: شی گرا ساختار یا بلوک های اصلی می باشد که تمام آن ها شی ( برنامه به یک یا چندین شی تبدیل می شود) هستند.

پارادایم

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

 

بنر مقاله RUBY ON RAILS | بی لرن

 

نسخه های زبان Ruby

زبان روبی دارای نسخه های بسیاری می باشد که در ادامه به معرفی آن ها می پردازیم.

  • نسخه ۱.۸
  • نسخه ۱.۹
  • نسخه ۱.۹.۱
  • نسخه ۲.۰
  • نسخه ۲.۱
  • نسخه ۲.۲
  • نسخه ۲.۳
  • نسخه ۲.۴
  • نسخه ۲.۵
  • نسخه ۲.۶
  • نسخه ۳.۰

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

 

دستورات زبان Ruby | بی لرن

 

ساختار کد نویسی در زبان برنامه نویسی روبی

مثال کلاسیک Hello world

“!puts “Hello World

 

مقداری کد اساسی روبی

 

# ۱۹۹

# ۱۲

# ۲

# ” ‘?DINaceinsty”

# Everything, including a literal, is an object, so this works

-۱۹۹.abs

“ruby is cool”.length

“Rick”.index(“c”)

“Nice Day Isn’t It?”.split(//).uniq.sort.join

 

ایجاد و استفاده از یک آرایه

 

 ۳.۱۴ # 

# [[۴, ۵], ۲, ۱, ۳.۱۴, ‘hi’, 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

 

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

 

# ۳.۱۴

# [[۴, ۵], ۲, ۱, ۳.۱۴, ‘hi’, 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 می باشد که به نسبت ۲ فریمورک قبلی پیشرفته نمی باشد. اما این فریمورک با help های کاربردی کمک فراوانی به توسعه دهندگان روبی می کند. 

 

پروژه های عظیم و مهم طراحی شده با ruby

 

پروژه های عظیم و مهم طراحی شده با ruby | بی لرن

 

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

Metasploit Framework

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

SASS

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

Rails

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

Sinatra

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

Chef

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

 

کاربرد ها و امکانات زبان برنامه نویسی روبی (Ruby)

 

کاربرد ها و امکانات زبان برنامه نویسی 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) و بررسی وب سایت های معروف روبی

 

جامعه آماری (Community) در روبی | بی لرن

 

مقایسه زبان برنامه نویسی روبی با دیگر زبان های برنامه نویسی 

 

مقایسه زبان Ruby با دیگر زبان های برنامه نویسی | بی لرن

 

PHP و Ruby

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

 

Perl و Ruby

Ruby Perl
شی گرا تر می باشد پشتیبانی از خصلت های یونکدی بیشتر
 پشتیبانی از خصلت های یونکدی کمتر داشتن و پشتیبانی از متغیر های متنوع 
دارای کتابخانه های بیشتر  
 داشتن و پشتیبانی از یک نوع متغیر   

 

Java و Ruby

Ruby Java
پیروی از یک اصل و اصول پیروی از یک اصل و اصول
نوشتن خط و کد های کمتر  نیازمند کامپایل شدن است
قادر به پردازش سریع تر و بیشتر عملکرد برنامه ای بهتر
کد های روبی نیازمند کامپایل شدن نیستند هر متغیر متعلق به یک کلاس می باشد
اجرای دستورات به صورت مستقیم  
دارای انعطاف و خوانایی بالاتر  
نداشتن متغیرهای مشخص  

 

چرا از زبان برنامه نویسی روبی استفاده کنیم؟

آسان برای شروع

روبی یک زبان برنامه نویسی ساده می باشد که به صورت زبان انگلیسی خوانده و استفاده می شود. برنامه نویسان مبتدی به راحتی می توانند از این زبان استفاده کنند. برنامه نویسان مبتدی علاوه بر زبان Ruby می توانند به وسیله فریمورک Ruby on Rails یک نمونه های اولیه از زبان روبی بسارند و از آن استفاده کنند.

قابل انعطاف

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

جامعه

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

 

سخن پایانی

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

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