رشد تصاعدی جامعه ی متن باز R: تهدیدی برای سایر زبان های برنامه نویسی

سیده آمین ارمان

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/05/10
ارسالی ها
1,730
امتیاز واکنش
20,744
امتیاز
795
محل سکونت
البرز
با وجود بیش از ۲ میلیون کاربر و توسعه دهنده، به نظر می رسد که شرکت های ارائه دهنده ی زبان های برنامه نویسی غیر رایگان، هیچ شانسی در برابر جامعه اپن سورس زبان برنامه نویسی و محیط نرم افزاری R ندارند. این مسئله حقیقت دارد و متخصصین داده پژوهی گفته اند که تعداد کل پکیج منجر زبان برنامه نویسی آر یا به اصطلاح CRAN، تقریبا به صورت تصاعدی در حال افزایش است. جهت آشنایی بیشتر با این موضوع، با سکان آکادمی همراه باشید.

اگر می خواهید عملکرد تک تک بازیکن های ورزش کریکت یا هر ورزش دیگر را بر حسب آمار و اطلاعات دقیق تحلیل کنید، می توانید از بسته CRAN که برای آن موجود است استفاده کنید. یا اگر می خواهید از فانکشن های از پیش نوشته شده (Convenient function) برای دسته بندی پیش بینی های آب و هوا استفاده کنید، باید بدانید که باز هم یک بسته CRAN برای آن وجود دارد. در واقع اکنون در حدود ۸۲۰۰ پکیج نوشته شده برای زبان برنامه نویسی R در دسترس است و این در حالی است که در سال ۲۰۰۶ شمار پکیجها فقط به چند صد عدد می رسید. رشد R آن چنان در حال قدرت گرفتن است که رقابت با آن برای سایر زبان های برنامه نویسی بسیار دشوار به نظر می رسد.

شتاب جامعه متن باز زبان برنامه نویسی آر
در واقع تصور این که کسی بتواند با R رقابت کند دشوار نیست، بلکه غیر ممکن است! همان طور که Bob Muenchen در می ۲۰۱۵ گفت: "تنها در سال ۲۰۱۴، تعداد فانکشن هایی که R اضافه کرد بیشتر از تمام چیزی است که شرکت SAS تاکنون نوشته." SAS قطعا به عنوان یک زبان برنامه نویسی اپن سورس و محیط توسعه ی نرم افزار (مالکیتی یا غیر رایگان) برای محاسبه های آماری، قدرتمند ترین و مهم ترین جایگزین برای زبان R است.

SAS در سال ۲۰۱۵ سودی معادل ۳ میلیارد دلار به دست آورد. این در حالی است که رشد اصلی R بر مبنای کسب سود حاصل نشده است. هر چند که برخی از شرکت ها توانسته اند به طریقی به کمک R سود ببرند. در حقیقت R ریشه در جامعه ی توسعه دهندگان آر دارد، جامعه ای که خلاقیت و نوآوری را در آر به چنان شتابی رسانده که این زبان برنامه نویسی اکنون ۱۵۰ برابر، فرمان های بیشتری نسبت به SAS دارد.

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

یکی از راه های نمایش این رشد خارق العاده، بررسی سرعت اضافه شدن فانکشن های مختلف به R از طریق بسته های CRAN است. جالب آن است که با توجه به حجم زیاد بسته های در دسترس برای زبان برنامه نویسی آر، یکی از سخت ترین وظایف توسعه دهنده هنگام استفاده از زبان برنامه نویسی R، پیدا کردن بهترین بسته برای یک وظیفه خاص است!

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

محبوبیت با توده داده ها
مت هریسون، یکی از توسعه دهندگان پایتون می گوید: "امروزه R در میان زبان های برنامه نویسی که برای تحلیل داده ها استفاده می شوند، به پایتون وابسته است و این در حالی است که پایتون هم اکنون حدود ۸۰ هزار پکیج در اختیار دارد. جامعه های متن باز باحالی همچون جامعه ی توسعه دهندگان پایتون، سایر زبان های برنامه نویسی نوپا مثل آر را به فرزند خواندگی قبول می کنند!" انتظار می رود که این روند ادامه پیدا کند. سال پیش ائتلاف زبان آر (یا R Consortium) شکل گرفت تا فرای اقداماتی غیر تجاری مرتبط با R که تا آن زمان انجام شده بود، راهی برای همکاری شرکت های مختلف حول R ایجاد کند

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

یک جامعه تکنیکی با قابلیت ساخت پکیج هایی برای زبان آر و گرایش طبیعی برای به اشتراک گذاشتن کارها
 
بالا