تمام زبانهای برنامهنویسی که تا امروز به وجود آمدهاند، قرار نیست تا ابد ماندگار بمانند. در واقع، حتی زبانهای برنامهنویسیای که زمانی جزو محبوبترین زبانهای دنیا بودند، در یک مقطع زمانی محبوبیت خود را از دست میدهند یا برای همیشه از رده خارج میشوند و این یک اتفاق اجتناب ناپذیر است! نسلهای جدید برنامهنویسان و توسعهدهندگان، هر سال از زبانهای برنامهنویسی و فریمورکهای جدیدی استفاده میکنند که کار با آنها آسانتر از قبلیها است. به همین خاطر ما در این مقاله فهرستی از 10 زبان برنامهنویسی که تا سال 2021 رو به انقراض و فراموشی رفتهاند را برای شما جمعآوری کردهایم. اما بیایید با این سوال شروع کنیم که چه معیارهایی باعث شدند که این 10 زبان به عنوان بدترین یا رو به انقراضترین زبانهای برنامهنویسی انتخاب شوند؟
معیارهای انتخاب بدترین زبانهای برنامهنویسی
معیارهایی که برای فهرست این زبانهای برنامهنویسی مورد سنجش و بررسی قرار گرفتهاند شامل سه مورد زیر میشوند:
جایگاه زبان در انجمنهای برنامهنویسی
ما بررسی کردیم که چه زبانهایی بیشتر بین توسعهدهندگان فعال در انجمنهای مهمِ برنامهنویسی، مثل انجمنهای GitHub ،Twitter ،Stack Overflow ،Freenode و Reddit محبوب هستند. زبانهایی که تعداد fork ،repository و subscriber بیشتری در این انجمنها داشتند، محبوبیتشان بیشتر بود و امتیاز بالاتری داشتند.
میزان رشد زبان
به پلتفرمهایی مثل Google Trends و Stack Overflow Trends نگاه کردیم که ببینیم کدام زبانها بین سالهای 2013 تا 2019 مسیر رشد صعودی (یا نزولی) را تجربه کردهاند و از این راه ارزیابی کردیم که کدام زبانهای برنامهنویسی در سال 2021 رو به انقراض هستند یا حداقل ارزش یادگیری را ندارند.
بازار کار زبان
آگهیهای شغلی مربوط به برنامهنویسی را بررسی کردیم تا ببینیم استارتاپها و شرکتها، چه زبانهای برنامهنویسیای را برای سنجش صلاحیت کارجویان خود انتخاب کردهاند. به عبارت دیگر، میزان تقاضای زبانهای برنامهنویسی مختلف در بازار کار را بررسی کردیم.
10 تا از بدترین زبانهای برنامهنویسی تا سال 2021
حالا که از معیارهای درست کردن این فهرست آگاه شدید، بیایید نگاهی به خود این فهرست بیندازیم. زبانهای برنامهنویسیای که در سال 2021 ارزش یادگیری یا به کار گرفته شدن را ندارند به ترتیب -از بد به بدترین- عبارتاند از:
10. زبان برنامهنویسی Perl
Perl خانوادهای از دو زبان برنامهنویسی سطح بالا، همه منظوره، پویا و تفسیر شده (interpreted) است. با وجود این که این زبان ویژگیهایی دارد که کار برنامهنویس را آسان میکند، به CPU و حافظه بیشتری هم برای اجرا نیاز دارد. از طرفی، استقبال گستردهی توسعهدهندگان از دیگر زبانهای برنامهنویسی برای انجام کارهایی مثل ساختن وب سایت، به این معناست که زبان perl به سرعت در حال انقراض است. البته با این که محبوبیتِ زبان پرل رو به کاهش است، اما هنوز وبسایتهای قدیمیِ زیادی وجود دارند که از آن استفاده میکنند؛ بنابراین زمان زیادی طول خواهد کشید تا زبان برنامهنویسی پرل به طور کامل منقرض شود.
9. زبان برنامهنویسی Objective-C
زبان Objective-C ساختهی کمپانی اپل، 35 سال سن دارد و این شرکت به وضوح خواهان انقراض این زبان است! پنج سال پیش، مدیران اپل روی صحنه آمدند تا از زبان برنامهنویسی جدید و بهبود یافتهی سوئیفت (Swift) برای اکوسیستم نرمافزاری خود رونمایی کنند. آنها بیشک انتظار داشتند که توسعهدهندگان سراسر دنیا به سرعت بعد از استقبال از زبان سوئیفت، زبان Objective-C را به کل کنار بگذارند. البته این موضوع تا حدودی هم به وقوع پیوست و توسعهدهندگان استفادهی بیشتری از زبان Swift نسبت به Objective-C کردند، به خصوص که ویژگیها و امکانات آن هم غنیتر از قبل شده بود؛ اما با تمام این اوصاف، زبان Objective-C آنقدرها که بعضی از مردم انتظار داشتند، در رتبهبندی زبانهای پرطرفدار به پایین سقوط نکرد. دلیل این موضوع را میتوان قدمت 35 سالهی این زبان و ترجیح برنامهنویسان به کار کردن با کدهایی که همیشه استفاده میکردند، دانست.
به هرحال از یک مقطع زمانی به بعد، زبان Objective-C احتمالاً به طور کامل محو خواهد شد، چرا که اپل به شدت مشتاق نابودی نهایی این زبان است و زبان سوئیفت در حال تبدیل شدن به یک زبان فوقالعاده مؤثر برای ساخت اپلیکیشنهای iOS، macOS و cross-platform است.
8. زبان برنامهنویسی ColdFusion
طبق بعضی از گزارشهای معتبر، زبان ColdFusion (محصول کمپانی Adobe) به تدریج محبوبیت و استفاده خود را از دست میدهد. علیرغم اینکه کمپانی Adobe به طور منظم در حال بهروزرسانی زبان ColdFusion است، شتاب زیادی در بازار و انجمنهای برنامهنویسان به دست نیاورده است.
شرکت Adobe، زبان ColdFusion 11 را با چند ویژگی پیشرفته راهاندازی کرده است تا به برنامهنویسان کمک کند که اپلیکیشنهای موبایل و وب را به سرعت ساخته و اجرا کنند. زبان برنامهنویسی ColdFusion 11 در نسخههای مختلف enterprise ،developer ،standard یا express عرضه شده است و کاربران میتوانند یکی از این نسخهها را بر اساس نیاز و بودجه خود انتخاب کنند.
با تمام این اوصاف، بعضی از عوامل مثل کیفیت پایین debugging، کمبود package manager و کمبود در اجرای CFScript باعث میشوند که میزان محبوبیت و سهم این زبان برنامهنویسی در بازار تحت تاثیر قرار بگیرد.
7. زبان برنامهنویسی COBOL 60
زبان COBOL 60 مخفف عبارت Common Business-Oriented Language است و همانطور که از نام آن پیدا است، به طور عمده در سال 1960 برای استفاده تجاری طراحی شد. برنامهنویسان مشکلی با Static Typing جاوا یا Dynamic Typing پایتون ندارند، اما استفاده از COBOL سخت است، چرا که قوانین Typing آن قوی، و تجزیهی آن سختتر است. در نتیجه، شرکتهای بزرگ از زبان COBOL فاصله میگیرند. با این حال، هنوز نمیتوان در مورد رو به انقراض بودن زبان برنامهنویسی COBOL نظر قطعی داد، زیرا این زبان هنوز در بسیاری از سیستمهای قدیمیِ شرکتهایی که بهروزرسانی آنها پرهزینه است، مورد استفاده قرار میگیرد.
6. زبان برنامهنویسی Pascal
زبان Pascal برگرفته از زبان ALGOL 60 است که توسط Niklaus Wirth طراحی شده است. نام پاسکال هم برگرفته از ریاضیدان فرانسوی، بلز پاسکال است که اولین ماشین حساب مکانیکی را اختراع کرد. پاسکال یک زبان برنامهنویسی دستوری و رویهای (procedural) است که در ابتدا برای آموزش زبانهای برنامهنویسی طراحی شده بود. داستان این زبان بسیار ساده و غمانگیز است؛ به این خاطر که زبان پاسکال منجر به ایجاد زبان برنامهنویسی دلفی (Delphi) شد و دلفی به سرعت جای پاسکال را گرفت و آن را به فهرست زبانهای برنامهنویسی منقرض شده منتقل کرد.
5. زبان برنامهنویسی Erlang
Erlang یک زبان برنامهنویسی همهمنظوره، تابعگرا، و یک garbage-collected runtime system است. زبان Erlang دارای پشتیبانی داخلی برای مسئله همزمانی (concurrency)، distribution و fault tolerance است که آن را با چندین سیستم مخابراتی بزرگ مرتبط کرده است. در حالی که حضور ارلنگ ثابت باقی مانده بود، اما نمایش آن در کانالهای ارتباطیِ دیگر، برای محبوبیت آن کافی نبود. به همین خاطر سال گذشته زبان ارلنگ از نظر داشتن بدترین بازار کار در رتبه پنجم قرار گرفت.
باید توجه کنید که موضوعِ کاملاً تابعگرا (functional) بودن زبان ارلنگ، تنها عامل انقراض آن نیست. عامل دیگر انقراض ارلنگ این است که تعداد برنامهنویسان مسلط به این زبان، کمتر از تعداد موقعیتهای شغلی متقاضی آن است. همچنین به طور کلی در مقایسه با سایر زبانهای برنامهنویسی، تقاضا برای زبان Erlang بسیار کمتر است.
4. زبان برنامهنویسی Haskell
این زبان به عنوان یک زیر مجموعهی مشترک برای تحقیقهای non-strict semantics در نظر گرفته میشد. بنابراین Haskell در واقع یگانهسازیای از زبانهای Miranda ،Clean و دهها زبان obscure ترمحسوب میشد. هدف آن، استفاده از syntaxای کم و بیش یکسان در مقالههای تحقیقاتی بود.
Haskell با گذشت زمان، به زبانِ مختص به تحقیقات غیردقیق تبدیل شد و کامپایلر هسکل (GHC) به یک پیادهسازی برای آن. تمام پیادهسازیهای دیگر هسکل مدتها پیش به طور کامل از بین رفتهاند.
آخرین نسخه رسمی این زبان در تاریخ جولای 2010 منتشر شد و انتشار نسخه رسمی بعدی آن برای سال 2020 برنامهریزی شده بود. اما در نهایت در تاریخ 29 اکتبر 2021، هسکل GHC2021 در GHC نسخه 9.2.1 منتشر شد. تعدادی از شرکتها و پروژههای برجسته (مثل Facebook، GitHub و...) همگی برای اجرای برنامههای حیاتی خود در یک زمان خاص از زبان Haskell استفاده کردهاند. با این حال، Haskell همچنان در فهرست بدترین زبانهای برنامهنویسی قرار میگیرد و نشان میدهد که عملاً صدای هیچ توسعهدهندهای در اطراف آن وجود ندارد. بنابراین میتوان گفت که این زبان رو به انقراض است یا کاملاً منقرض شده.
3. زبان برنامهنویسی CoffeeScript
CoffeeScript زبانی است که به زبان جاوا اسکریپت کامپایل میشود و نحو آن به طوری از زبانهای برنامهنویسی روبی، پایتون و هسکل الهام گرفته است تا اختصار و خوانایی جاوا اسکریپت را افزایش دهد. اما با وجود ظاهر زیباتر و destructuring کارآمد (روشی ساده و سریع برای ایجاد متغیر در JS) این زبان، سطحی از ابهام را هم به کد خود اضافه میکند. جدای از آن، نداشتن scoping صریح و توابع نامگذاری شده واقعی هم باعث میشوند که زبان CoffeeScript محبوبیت و ارزش چندانی در انجمنهای برنامهنویسی پیدا نکند.
در حالی که رشد زبان CoffeeScript از سال 2013 تا 2018 تا حد زیادی کاهش یافته بود، از سال 2018 تا 2019 حتی بیشتر از قبل رو به انقراض رفت. در فهرست بدترین زبانهای برنامهنویسی تا سال 2020، زبان CoffeeScript کمترین تقاضا را در Google Trends و دومین رتبه از کمترین تقاضاترین زبانها را در Stack Overflow Trends دارد که آن را از نظر رشد و ترند بودن در سال 2019 در رتبه آخر قرار میدهد.
2. زبان برنامهنویسی Elm
زبان Elm زبانی کاملاً تابعگرا و مختص دامنه (زبان DSL یا domain-specific language) است که برای ایجاد UI های گرافیکی مبتنی بر مرورگر وب و با تأکید بر کاربرد پذیری (usability) آن ایجاد شده است. در حالی که رشد زبان Elm از سال 2013 تا 2018 رو به افزایش بود، از سال 2018 تا 2019 به شدت کاهش یافت.
مشکل زبان Elm این است که از آخرین بهروزرسانی آن حدود دو سال میگذرد و این باعث میشود که Elm برای تازه واردهای دنیای برنامهنویسی، زبانی غمگین و مرده به نظر برسد. البته این بدان معنا نیست که Elm برای برنامهنویسی، به اندازه کافی بالغ یا قابل استفاده نیست، اما در مقایسه با سایر زبانهای برنامهنویسی، زبانی کهنه به نظر میرسد. بنابراین، این زبان نمیتواند زیاد در معرض طیفی گستردهتر و جدید از کاربران قرار بگیرد. همچنین از آن جا که هیچ نسخهی معمولیای برای زبان Elm منتشر نشده است، تا حد زیادی کاربران خود را از دست میدهد. این موضوع در واقع، پذیرش Elm و شتاب آن را از بین میبرد و خطر آکادمیک شدن محض آن را به همراه میآورد.
1.زبان برنامهنویسی VB .Net
زمانی که کمپانی مایکروسافت، زبان #C را برای هدف قرار دادن CLR خود (مخفف عبارت Common Language Runtime که یک زبان میانی مشترک بین سیستم عامل و زبانهای برنامهنویسی .Net است) ایجاد کرد، یک نسخه از زبان BASIC محبوب بیل گیتس را هم در کنار آن طراحی کرد؛ این زبان را Visual Basic.NET نامیدند. ساختار syntaxزبان VB .Net به صورت BASIC بود، اما رویکرد کدنویسی آن شبیه به #C. بنا بر این نمیتوان با روی آوردن به زبان VB .Net، زبان #C را به کل کنار گذاشت؛ به همین خاطر بیشتر برنامه نویسان زبان دات نت، برنامه نویس زبان سی شارپ هم هستند و تعداد آنها در حال افزایش است.
با تمام این اوصاف، زبان Visual Basic.NET بهعنوان برادر ناتنی زبان سی شارپ در نظر گرفته میشود. این بدان معناست که اگر زبان #C در آینده وجود نداشته باشد، زبان VB .Net هم فرصتی برای رشد نخواهد داشت. از این رو، در صدر فهرست بدترین زبانهای برنامهنویسی تا سال 2020 قرار میگیرد.
همان طور که توسعهدهندگان بیشتر به سراغ زبانهای برنامهنویسی دیگر میروند، شرکتها هم بیشتر مجبور میشوند که اپلیکیشنهای قدیمی خود را کنار بگذارند. این موضوع باعث کاهش بیشتر تقاضا برای توسعهدهندگان میشود و توسعهدهندگان هم مجبور به یادگیری زبانهای برنامهنویسی دیگر میشوند. اپلیکیشنهایی که به زبان VB نوشته شدهاند را میتوان به هر زبانی از دات نت گسترش داد، از این رو، مشاغلی که تقاضای زبان VB را دارند، کم و رو به اتمام هستند.