در دنیای دولوپرها، معمولاً هرکسی زبان برنامهنویسی محبوب خود را دارد اما زبانهایی هم وجود دارند که اگر وجود نداشتند، بهتر بود! بعضی از آنها بسیار قدیمی هستند و زمان آن رسیده تا بازار را برای گزینههای بهروزتر خالی کنند (البته برخی هم تحتتأثیر زبانهای دیگری قرار گرفتهاند که یک کار واحد را به شکل بهتری پیادهسازی مینمایند). در این مقاله قصد داریم به بررسی 5 زبانی بپردازیم که اگر وجود نداشتند، احتمالاً آب از آب تکان نمیخورد چراکه هماکنون نیز جایگزینهای بهتری برایشان وجود دارد.
Ruby
پلتفرم آموزش برنامهنویسی -Coding Dojo- این روزها بر این باور است که زمان آموزش فریمورک روبیآنریلز به سر رسیده است و این درحالی است که Ruby on Rails زمانی یکی از محبوبترین فریمورکها بود. روبی در شاخص TIOBE در لبهٔ Top 10 قرار گرفته (رتبهٔ دهم) و در شاخص IEEE نیز وضع بهتری ندارد.
محبوبیت زبان برنامهنویسی روبی دقیقاً تحتتأثیر انتشار لایبرریهای جاوااسکریپت قرار گرفته و با گسترش محبوبیت جاوااسکریپت، روزبهروز افراد کمتری به سمت روبی قدم برمیدارند (در مقالهای تحتعنوان آیا مرگ زبان برنامهنویسی Ruby در راه است؟ زبانهای جایگزین کدامند؟ بهطور مفصلتر این موضوع مورد بررسی قرار گرفته است).
Objective-C
سوئیفت برای ماندن، به بازار آمده است؛ پس از معرفی این زبان اپنسورس شدهٔ اپل در 2014، انقلابی در جامعهٔ دولوپرهای iOS شکل گرفت. تنها چیزی که باعث میشود Objective-C با سرعت کمتری سقوط کند، عدم پایداری سوئیفت در ویژگیای به نام Application Binary Interface یا بهاختصار ABI میباشد که قرار است در نسخهٔ پنجم سوئیفت رفع گردد.
گرچه استفاده از Objective-C هنوز بهکلی از بین نرفته، اما در زمینهٔ محبوبیت جای خود را به Swift داده است و این درحالی است که با اضافه شدن پایداری ABI به سوئیفت، میتوان انتظار سقوط واقعی Objective-C را داشت (پایداری در ABI باعث میشود برنامهها و لایبرریهای نوشته شده در نسخههای مختلف سوئیفت، هماهنگی بیشتری در سطوح پایین نرمافزاری با یکدیگر داشته باشند که خود باعث نیاز کمتر به تغییرات در آینده است و زبانهای دارای این ویژگی، از پشتیبانی بهتری در کامپایلرها برخوردارند).
Visual Basic
این زبان یک مقدار فنیتر است و اگر بخواهیم دقیقتر بیان کنیم، بیشتر با یک تکنولوژی طرف هستیم تا یک زبان برنامهنویسی. درواقع، VB مدت زیادی است که در لیست زبانهای برنامهنویسی ناخواسته وجود دارد اما همچنان از جایگاه قابلقبولی در لیست TIOBE برخوردار است (این زبان با داشتن رتبهٔ سیزدهم، دلیل خوبی دارد برای اینکه هنوز هم بهطور گسترده مورد استفاده قرار میگیرد).
گزارش اخیر Stack Overflow نشان میدهد این زبان به سمت کاهش محبوبیت قدم برمیدارد؛ 79.5٪ از شرکتکنندگان در نظرسنجی استک اورفلو بیان کردند که از این زبان وحشت دارند و تجربهٔ خوبی در بهکارگیری آن ندارند.
Visual Basic بهعنوان جایگزینی برای BASIC ایجاد شد، که این مسأله نشان از قدمت زیاد این زبان دارد؛ به دلیل سرمایهگذاری مایکروسافت روی این زبان، کنار رفتن آن چیزی نیست که به این زودیها انتظار آنرا داشته باشیم. در رویداد Build 2017 کمپانی مایکروسافت، نشستهای زیادی در مورد ویژوال بیسیک تشکیل شد تا مرگ یا حیات این زبان بهطور دقیقتر مورد بررسی قرار گیرد.
SQL
البته که همهٔ ما میدانیم SQL تقریباً در همهجا حضور دارد و از بین رفتن آن انتظاری نیست که به همین راحتیها اتفاق بیافتد؛ این زبان که برای راهاندازی دیتابیسها مورد استفاده قرار میگیرد، درحالحاضر تقریباً به چارچوب استانداردی تبدیل شده است اما چندین زیرشاخه از آن وجود دارد که با اینکه کارها را به شکل بهتری انجام میدهند، ولی کار سختی برای رقابت با SQL در پیش دارند اما درعینحال این زیرشاخههای جدید از منظر کارایی، یک سر و گردن بالاتر از SQL قرار دارند.
بهعنوانمثال، سرویسهایی مانند Realm جایگزینهای مناسبی برای SQL ارائه میدهند؛ Realm بهسادگی میتواند ساختار خود را به کدهای یکی از زبانهای موجود تبدیل کند و ایجاد اپهای موبایلی با عملکرد آفلاین را بهسادگی در یک لحظه انجام میدهد. زبان SQL یکی از نامطلوبترین زبانها برای کار کردن است و با اضافه کردن آن به این لیست، احتمالاً همه خوشحال میشوند.
Assembly
اگر تابهحال به زبان اسمبلی کد نزدهاید، میتوانید حدس بزنید چرا نام آنرا در این لیست قرار دادهایم! البته این زبان هنوز هم جزو 20 زبان برتر شاخص TIOBE محسوب میشود (چهاردهم) ولی باید توجه کنید که Assembly زمانی جزو 10 زبان برتر بازار بود. اسمبلی در لیست استک اورفلو جایی ندارد و در مورد IEEE نیز، به جایگاهی مشابه با TIOBE (دوازدهم) بسنده کرده است.
درمقایسه با پیشرفتهای امروزی، اسمبلی همچنان کند و خستهکننده بهنظر میرسد؛ پیادهسازی تسکهای ساده در این زبان تقریباً به ۱۰ خط کدنویسی نیاز دارند درصورتیکه با همین تعداد خطوط در پایتون یا سیشارپ، از منظر نرمافزاری میتوانید کارهای بسیار پیچیدهتری را انجام دهید. این مسأله بیانگر این است که زبان اسمبلی بهخاطر سبک کدنویسی بسیار قدیمیاش، شایستگی حضور در این لیست را داراست.
وقت رفتنه!
بهنظر میرسد زمان کنار گذاشتن این زبانها (و در مورد ویژوال بیسیک، این تکنولوژی) فرا رسیده است؛ آنها به نقطهای در زندگی خود رسیدهاند که تا به امروز سابقه نداشته است. این ۵ مورد، جزو ابزارها و زبانهایی قدیمی محسوب میشوند که تابهحال نیز با خوششانسی دوام آوردهاند!
البته دلایل نسبتاً قابلقبولی نیز وجود دارند که چرا این زبانها ممکن است همچنان به کار خود ادامه دهند؛ کدهای قدیمی (Legacy) نوشته شده به این زبانها وجود دارند که باعث میشود هنوز هم به دولوپرهایی برای کار با آنها نیاز باشد، چراکه ریفکتور کردن و بازنویسی تمامی این کدها به زبانی جدیدتر، کار بهشدت طاقتفرسایی است و به زمان و هزینهٔ بسیار زیادی نیاز دارد.
البته در مورد SQL، جایگزین کردن آن با راهحلهای بهتر، قابلقبول است. بهطورکلی، برخی زبانها و ابزارها، تغییرات بهسمت بهتر شدن را سادهتر از بقیه پذیرا میشوند؛ اپها و سرویسهایی نظیر Lyft، بهسرعت با زبان برنامهنویسی Swift هماهنگ شدند و اپهایشان را بهکلی بازنویسی کردند؛ بنابراین میتوان نتیجه گرفت که این کار شدنی است.
البته برخی از این زبانها نیز ممکن است دوباره به رشد خود ادامه دهند؛ روبی خودش زبان بسیار خوبی است، اما بهنظر میرسد روبیآنریلز در راه رسیدن به موفقیت و محبوبیت، با شکست مواجه شده است. برخی از آنها نیز تمام تلاششان را میکنند تا لحظهٔ خداحافظی خود را به آینده موکول نمایند (مانند Visual Basic).
حال نوبت به نظرات شما میرسد؛ آیا با موارد طرح شده در این مقاله در مورد ۵ زبان فوقالذکر موافق هستید؟ و آیا اعتقاد دارید که به غیر از این موارد، زبانهای دیگری هم در بازار وجود دارند که میبایست نگران بقای خود در آینده باشند؟ نظرات، دیدگاهها و تجربیات خود را با ما و سایر کاربران سکان آکادمی به اشتراک بگذارید.