مقایسه‌ای مابین زبان‌های برنامه‌نویسی اپن‌سورس Go و R با زبان‌هایی همچون Matlab و SAS

مقایسه‌ای مابین زبان‌های برنامه‌نویسی اپن‌سورس Go و R با زبان‌هایی همچون Matlab و SAS

همان‌طور که آمار و ارقام نشان می‌دهند، هم‌زمان با رونق یافتن زبان‌هایی مانند Go و R، زبان‌های دیگری مانند Matlab و SAS در حال افول هستند؛ اما سؤال اینجا است که چرا؟ نیاز به توضیح نیست که امروزه جامعهٔ اپن‌سورس، زیرساخت کلان داده (Big Data Infrastructure) را در اختیار گرفته است؛ از Kubernetes گرفته تا Hadoop و MongoDB، همگی نمونه‌هایی از پروژه‌های اپن‌سورس هستند. در واقع، می‌توان گفت که در ۱۰ سال اخیر، هیچ زیرساخت نرم‌افزاری کلوز سورس انحصاری در قالب یک پلتفرم ایجاد نشده است! 

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

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

در سال‌های اخیر، تغییرات رنکینگ زبان‌های برنامه‌نویسی بسیار چشمگیر بوده است. با مقایسهٔ رنکینگ IEEE در سال ۲۰۱۸ نسبت به سال‌های گذشته به نتایج جالبی می‌توان رسید (لازم به ذکر است که این داده‌ها از منابعی مانند GitHub ،Stack Overflow و ... به دست آمده‌اند). مقایسهٔ رنکینگ‌ها نشان می‌دهد که زبان‌های Go و R به میزان قابل‌توجهی جایگاهی بهتر پیدا کرده‌اند و در مقابل، زبانی همچون Matlab در حال سقوط بوده است.

در تأیید این ادعا، بایستی گفت که سؤالات پرسیده شده در مورد زبان برنامه‌نویسی آر بیش از 40٪ در استک‌اورفلو افزایش داشته است که نشان می‌دهد توسعه‌دهندگان زیادی به دنبال درک بهتر طریقهٔ کدنویسی با آن بوده‌اند. همچنین در تحقیقات علمی بسیاری از زبان R استفاده شده است (IEEE استفاده از یک زبان برنامه‌نویسی در مقالات چاپ شده را یک شاخص مهم در تعیین رنکینگ در نظر می‌گیرد).

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

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

البته باید دقت داشته باشید که رنکینگ‌های زبان‌های برنامه‌نویسی همه چیز را مشخص نمی‌کنند. به طور مثال، بیشتر رشد زبان برنامه‌نویسی R مربوط به افزایش محبوبیت آن در میان کسانی است که تحصیلات آکادمیک را می‌گذرانند نه آنهایی که در شرکت‌های نرم‌افزاری مشغول به کار هستند (البته به طور کلی محبوبیت این زبان برنامه‌نویسی در هر دو گروه افزایش داشته است).

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

حال نوبت به نظرات شما می‌رسد؟ آیا شما از طرفداران زبان‌های اپن‌سورس هستید یا کلوز سورس؟ به نظر شما چه آینده‌ای در انتظار هر کدام از این دو طیف است؟ نظرات، دیدگاه‌ها و تجربیات خود را با ما و سایر کاربران سکان آکادمی به اشتراک بگذارید.