آموزش کامپیوتر ویژه دانش آموزان رشته کاردانش و فنی حرفه ای
روبي1 يک زبان ديناميک، همهمنظوره، سطح بالا و شييگرا2 است که دستورالعملهاي آن از پرل3 و ديگر ويژگيهاي آن از اسمالتاک1 الهام گرفته شده است. روبي همچنين از ساختارگرايي و انعکاس پشتيباني ميکند. علاوه بر استفاده از سيستم ديناميک، مديريت حافظه در روبي کاملا خودکار است. بنابراين روبي از بسياري از جهات شبيه پيتون، پرل و ليسپ است. پيدايش روبي در اواسط دهه 1990 در ژاپن و توسط يوکي هيرو ماتسوموتو که به متز5 نيز معروف است پا به عرصه وجود گذاشت. ماتسوموتو در مورد نامگذاري روبي ميگويد: «روبي که در لغت بهمعناي ياقوت است سنگ ماه تولد يکي از همکاران من است.» روبي سنگ متولدين ماه جولاي است. امکانات روبي داراي کتابخانههاي گستردهاي است که به همه نيازهاي برنامهنويسان بهخوبي پاسخ ميدهد. روبي همچنين کلاسهاي FTP، پشتيباني از CGI، پارسرهاي XML، کتابخانههاي پايگاههاي داده، GTK و Qt و حتي يک کتابخانه BTree برخوردار است. کتابخانههاي روبي قابل اتصال به کتابخانههاي پايتون هستند و اين مساله پايه قويتري را براي برنامهنويسي روبي فراهم ميکند. روبي توسط اکثر سيستم عاملها از جمله لينوکس، Mac OS X، مايکروسافت ويندوز، ويندوز CE، و يونيکس پشتيباني ميشود. اجراي روبي روي يونيکس بهترين کارايي را دارد. اصول بنيادي روبي از يک اصل ساده که اصل بهحداقل رسانيدن غافلگيري (POLS) ناميده ميشود، پيروي ميکند: زبان برنامهنويسي بايد بهنحوي رفتار کند که سردرگمي و غافلگيري برنامهنويس را به حداقل برساند. ماتسوموتو ميگويد: «روبي بهمنظور افزايش سرعت برنامهنويسان در توليد کد و تبديل برنامهنويسي به کاري جذاب و سرگرمکننده نوشته شده است. طراحي واسط کاربر روبي نيز از همين اصل پيروي ميکند.» او همچنين تاکيد ميکند که روبي نيازهاي انسان را بر نيازهاي رايانه مقدم ميشمارد. سرعت توسعه کد سرعت کدنويسي برنامهنويسان در طي سالهاي گذشته رشد چشمگيري داشته است. هرچند آمارهاي رسمي در اين زمينه موجود نيست، اما بهطور متوسط هر پنج سال يکبار سرعت آمادهسازي نرمافزارها دو برابر ميشود. ويژگيهاي انحصاري برخي از ويژگيهاي روبي، در زبانهاي ديگر وجود ندارند. روبي از ساختار closure پشتيباني ميکند. در اين ساختار مسووليت هر بخش از کد بر عهده شيي مناسب قرار ميگيرد و کد حاصل کد خواناتري خواهد بود. نوشتن حلقههاي for و while در روبي نادر است. همچنين پيادهسازي ساختارهايي نظير "each" که احتمال رخداد خطا در آن کمتر است، بهسادگي امکانپذير است. در پروژههاي پيچيده مساله قابليت نگهداري کد، به يکي از مسايل مورد بحث تبديل ميشود. طراحي شييگراي مناسب به برنامه ساختار مناسب داده و کد برنامه را منطقي و واضح ميکند. آنچه که مسلم است، اين است که همه زبانهاي شييگرا تا حدي از شييگرايي پشتيباني ميکنند. بهعنوان مثال زبان C++ بيشترين پشتيباني را از شييگرايي بهعمل ميآورد در حاليکه جاوا در اين زمينه اندکي ضعيفتر عمل ميکند. اما روبي از نظر سادگي در نحوه استفاده و قابل پيشبيني بودن از همه زبانهاي ديگر پيشي گرفته است. محدوديتها مانند همه زبانهاي ديگر، به روبي نيز انتقاداتي وارد است. سرعت اجراي کد روبي در مقايسه با بسياري از زبانهايي که کد را کامپايل ميکنند، پايين است. سرعت روبي با سرعت زبانهايي که از مفسر استفاده ميکنند و ديگر زبانهاي اسکريپتنويسي مانند پرل و پايتون قابل مقايسه است. تعريف متغيرها در روبي بسيار ساده است و تنها با تخصيص يک مقدار به متغير ميتوان يک متغير جديد تعريف کرد. اشتباههاي تايپي ميتوانند سبب معرفي متغيرهاي تازه شده و منجر به بروز رفتارهاي غيرمنتظره شوند. بهدليل ديناميک بودن انواع داده در روبي، اگر به متغيري مقداري از نوع دادهاي ناهماهنگ نسبت داده شود، خطاهاي زمان اجرا رخ خواهند داد. قالب کاري قالب کاري روبي، روبيرويريل10 يا به اختصار ROR ناميده ميشود. ROR يک قالب کد باز تحت وب است که در ميان توسعهدهندگان کدهاي تحت وب طرفداران زيادي دارد. ROR براي توسعه پروژههاي کوچک و مبتني بر سيستم کلاينت-سرور مناسب است. با استفاده از ROR برنامهنويس تنها بايد براي موارد خاصي که در قالب پيشبيني نشده است کد بنويسد. بهعنوان مثال اگر در برنامه کلاسي بهنام "فروش" وجود داشته باشد، در پايگاه دادهها جدولي به همين نام ايجاد ميشود. برنامهنويس تنها زماني نياز به کدنويسي مجدد دارد که نام جدول به "کالاهاي فروخته شده" تغيير کند. به اين ترتيب استفاده از ROR حجم کدنويسي را کاهش ميدهد. از ديگر مزاياي ROR ميتوان بهوجود کتابخانههاي گسترده جاوا اسکريپت و خروجي به فرم HTML و XML اشاره کرد. ROR در سال 2007 در در سازمان ثبت اختراعات آمريکا موسوم به USPTO به ثبت رسيده است. منبع : جام جم - کلیک |