آیا مرگ زبان برنامه‌نویسی Ruby در راه است؟ زبان‌های جایگزین کدامند؟

آیا مرگ زبان برنامه‌نویسی Ruby در راه است؟ زبان‌های جایگزین کدامند؟

محبوبیت زبان برنامه‌نویسی Ruby در موقعیت‌های شغلی و همچنین در بوت‌کمپ‌های کدنویسی کاهش یافته است و پیشگامان این صنعت به‌دنبال راه‌کاری برای تشخیص میزان پایداری زبان‌های برنامه‌نویسی اپن‌سورس دیگر هستند. روبی که زمانی گل سرسبد کامیونیتی‌های مختلف بود، طی چند سال اخیر با کاهش محبوبیت شدیدی مواجه شده است به‌طوری‌که برخی از رهبران تکنولوژی را به فکر واداشته که نکند این زبان کاملاً از میدان خارج شود!

سند این قضیه را باید در شغل‌هایی که در سال گذشته در زمینهٔ کدنویسی آگهی شده‌اند جستجو کرد؛ پس از جاوا، جاوااسکریپت، دات‌نت، اچ‌تی‌ام‌ال، پایتون و …، روبی به رتبهٔ نهم بسنده کرده است. در رتبه‌بندی IEEE Spectrum نیز Ruby به رتبه‌ای بهتر از 12 دست نیافت که نسبت به رتبهٔ 8 در سال 2014، پسرفت قابل‌توجهی محسوب می‌شود (برای آگاهی از نتایج کامل این رتبه‌بندی، به مقالهٔ زبان‌های برنامه‌نویسی برتر سال 2017 براساس گزارش IEEE Spectrum مراجعه نمایید).

نبود موقعیت شغلی مناسب باعث شد بوت‌کمپ کدنویسی Coding Dojo از پایان سال گذشته تدریس روبی را از هر 6 کمپ خود در سراسر ایالات متحده حذف کند و به‌جای آن، اقدام به اضافه کردن کلاس فول‌استک زبان Java نماید (جهت یادگیری زبان Java،‌ می‌توانید به دورهٔ آموزش آنلاین و رایگان جاوا در سکان آکادمی مراجعه نمایید). به گفتهٔ Speros Misirlakis رئیس بخش برنامهٔ آموزشی Coding Dojo:

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

به گفتهٔ Misirlakis، فریمورک Ruby on Rails در اوایل قرن 21 با افزایش محبوبیت مواجه شد چراکه برای دولوپرها امکان ساخت و اجرای سریع اپلیکیشن‌های مختلف را فراهم می‌کرد؛ سینتکس زبان روبی نیز اشتراکات بسیاری با زبان انگلیسی دارا است که همین مسئله روبی را برای یادگیری به گزینهٔ آسان‌تری نسبت به رقبا تبدیل شده است (البته برای کسانی که با زبان انگلیسی هم آشنایی داشته باشند). اما به‌هر‌حال این زبان با مشکلاتی در زمینهٔ توسعه و مقیاس‌پذیری دست‌وپنجه نرم می‌کند و اپلیکیشن‌هایی که با این زبان پیاده‌سازی شده‌اند، سرعت اجرای کمتری دارند.

همچنین روبی، بینش دانشمندان کامپیوتری را به حدی که زبان‌های دیگر به چالش می‌کشند، تحت‌تأثیر قرار نمی‌دهد؛ به گفتهٔ Karen Panetta یکی از کارکنان IEEE و یکی از رؤسای دانشگاه Tufts:

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

به گفتهٔ Misirlakis، بسیاری از شرکت‌ها مانند توییتر، روبی را به مقصد زبان‌هایی که توسعه آسان‌تری دارند و هزینهٔ پشتیبانی بلندمدت در آن‌ها کمتر است ترک کرده‌اند که از آن جمله می‌توان مواردی مانند MEAN Stack (فریمورک جاوااسکریپتی که مخفف عبارات MongoDB، Express ،AngularJS ،NodeJS است) و زبان‌هایی که همیشگی و پایدار هستند مانند پایتون و جاوا را مثال زد.

طبق اعلام David Robinson، یکی از دانشمندان علم داده در Stack Overflow، در این سایت نیز Ruby on Rails با کاهش میزان مشارکت هم در زمینهٔ سؤال‌های جدید و هم در ترافیک موجود در پاسخ‌های فعلی مواجه شده است. این فریمورک از 2 درصد مشاهدهٔ پاسخ‌ها در سال 2012 به کمتر از 1 درصد در سال 2017 رسیده است. به عقیدهٔ رابینسون، هم زبان روبی و هم فریمورک روبی‌آن‌ریلز به‌طور پیوسته، در ۵ سال گذشته با کاهش مخاطبین روبرو شده‌اند. به گفتهٔ وی:

این قضیه در چرخهٔ زندگی خیلی از تکنولوژی‌ها اتفاق می‌افته؛ میزان زیادی از انرژی و هیجانی که زمانی حول بعضی از سیستم‌ها رخ داده، کم‌کم برای محصولات دیگه شکل می‌گیره.

درحال حاضر، JavaScript و Python دو مورد از زبان‌های قابل‌اتکا هستند که در زمینهٔ موقعیت‌های شغلی نیز همواره عملکرد مناسبی دارند. درواقع، زبان برنامه‌نویسی پایتون سریع‌ترین رشد را بین زبان‌های برنامه‌نویسی برتر در طول 5 سال گذشته داشته است. پایتون کارش را به توسعهٔ وب، علم داده، برنامه‌نویسی در زمینه‌های علمی و تحقیقاتی و خیلی از شاخه‌های دیگه هم کشانده است. همچنین پایتون از چند منظر، شبیه به زبان روبی نیز هست، بنابراین تعجبی ندارد که بعضی از دولوپرها به این زبان کوچ کنند (جهت شروع یادگیری زبان پایتون، می‌توانید به دورهٔ آموزش آنلاین و رایگان پایتون در سکان آکادمی مراجعه نمایید).

طبق گزارشی در Stack Overflow، مشخص شد که جاوااسکریپت، پراستفاده‌ترین زبان برنامه‌نویسی دنیا است و Node.js دقیقاً در زمانی که روبی شروع به از دست دادن محبوبیت کرد، در این زمینه رشد نموده است.

طبق اعلام IEEE Spectrum، محبوب‌ترین زبان‌های برنامه‌نویسی در سال2017 عبارت‌اند از پایتون، سی، جاوا، سی‌پلاس‌پلاس و سی‌شارپ. البته طبق نظر Shu Wu، سرپرست شرکت Indeed Prime (شرکتی فعال در زمینهٔ کاریابی برای برنامه‌نویسان)، موقعیت‌های شغلی زبان‌های مختلف، بستگی به بزرگی شرکت‌ها و استراتژی‌شان نیز دارد. البته به‌نظر می‌رسد که ده‌ها سال زمان می‌برد تا استفاده از روبی به طور کامل متوقف شود. به گفتهٔ رابینسون:

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

به‌عنوان‌مثال، زبان Perl در سال 2008 در زمینهٔ درخواست موقعیت شغلی، نزول کرد ولی هنوز هم دولوپرهای وفاداری وجود دارند که به این زبان کد می‌زنند. درواقع، بعید به‌نظر می‌رسد هیچ‌وقت زبان روبی به‌طور کامل از بین رود؛ پیشرفت‌هایی در این تکنولوژی صورت گرفته که مختص فریمورک روبی‌آن‌ریلز هستند. شاید درخواست‌ها برای این زبان کم شوند، اما این مسأله بعد از چند سال ممکن است دستخوش تغییر شود.

زبان روبی در مقایسه با دیگر زبان‌ها همچون جاوا، پایتون، پی‌اچ‌پی، دات‌نت و غیره در ایران آن‌قدر که بایدوشاید طرفدار ندارد اما تیم سکان آکادمی توانسته با ۲ نفر از دولوپرهای باتجربه در کار با این زبان و فریمورک محبوبش روبی‌آن‌ریلز پادکست ارائه دهد؛ در همین راستا، می‌توانید به اپیزود سمیر رحمانی: برنامه‌نویس ارشد و فعال جامعهٔ اپن‌سورس و بهنام احمد خان‌بیگی: از علاقمندان به دنیای فناوری، اپن‌سورس و گنو/لینوکس در رادیو فول‌استک سکان آکادمی مراجعه نمایید.

منبع


مرتضی صمدی