اگر بخواهیم آماری نسبی و حداقلی ارائه دهیم باید بگوییم که بیشتر از ۱۰۰ زبان برنامه نویسی در دنیا وجود دارد که البته بیشترشان مورد توجه و استفاده قرار نمیگیرند. ممکن است از این موارد ما تنها به ۱۰ مورد از آنها توجه داشته باشیم و یا بیشتر از همیشه از آنها استفاده کنیم. اما همین ۱۰ زبان برنامه نویسی نیز چرا به وجود آمدهاند؟ آیا نمیشد همه ما با استفاده از یک زبان برنامه نویسی اپلیکیشنهای خود را ایجاد کنیم و از آن برای تمام کارها استفاده کنیم؟
اگر بخواهیم به صورت کوتاه به این پرسش پاسخ دهیم باید بگوییم که خیر! زبانهای برنامه نویسی براساس دلایل و قواعد مشخصی ایجاد شدهاند که هر کدام قرار است یک مشکل یا مسئله خاص را حل کنند. بنابراین ایجاد یک زبان برنامه نویسی که بتواند تمام مسائل دنیای کامپیوتر را حل کند نه تنها ناممکن است بلکه هیچوقت چنین تلاشهایی نتیجه خوبی نخواهند داشت. البته در ادامه این مقاله ما بیشتر به این موضوع خواهیم پرداخت.
اگر به تاریخ و زبانهای برنامه نویسی نگاه کنید که قول این را دادهاند که در بیشتر حوزهها میتوان از آنها استفاده کرد میتوانید متوجه شوید که همواره در بیشتر حوزههایی که ادعا میکند، تکنولوژیها و زبانهای برنامه نویسی بهتری نیز وجود دارد که اختصاصا برای آن حوزه ایجاد شده است.
پیشرفت تکنولوژی و پیشرفت زبانهای برنامهنویسی
اولین دلیل و شاید بزرگترین دلیلی که باعث بوجود آمدن زبانهای برنامهنویسی بسیار زیادی شده است پیشرفت سریع و غیر قابل بازگشت تکنولوژی است. همانگونه که تکنولوژی در حال پیشرفت است ما به ابزارهای بیشتر و جدیدتری برای برنامهنویسی کردن این تکنولوژیها نیازمندیم.
برای توجیه بهتر این قضیه باید بگویم که در برخی مراحل زبانهای برنامهنویسی که در حال حاضر از آنها استفاده میکنیم ممکن است براساس مشخصات و قابلیتهایی که دارا هستند نتوانند با مسائل و مشکلات خاص دنیای مدرن و آینده کنار آمده و توانایی حل آنها را نداشته باشند. به همین دلیل افراد و شرکتهای بزرگ تصمیم خواهند گرفت که یک زبان برنامهنویسی جدید را طراحی کنند.
فرایند شکل گیری زبانها درست به این شکل است. گاهی اوقات شرکتی که یک زبان را طراحی میکند آن را تنها منحصر به خود نگه داشته و به شکل عمومی آن را عرضه نمیکند اما گاهی اوقات نیز این اتفاق به صورت عکس افتاده و حتی زبان را به صورت متن باز در اختیار جهانیان قرار میدهند.
همانگونه که اشاره شد، زبانهای برنامهنویسی برای نیازهای خاص طراحی و ساخته شدهاند. برای درک بهتر این قضیه به مثالهای زیر دقت کنید:
۱. زبان برنامهنویسی C: دنیس ریچی و آزمایشگاه بل زبان سی را در سال ۱۹۷۲ طراحی کردند تا مشکلات زبانهای برنامهنویسی پیش از خود را حل نمایند. اولین بار از زبان سی برای بازنویسی یونیکس استفاده کردند و سی تا جایی پیش رفت که امروز ما میتوانیم استفاده از آن را در بیشتر نرمافزارها مشاهده کنیم.
۲. زبان برنامهنویسی C++: بییارنه استراستروپ زبان سیپلاسپلاس را در ۱۹۸۵ به دو دلیل اصلی ایجاد کرد. اولین دلیل برای بروزرسانی و ارتقا دادن ویژگیهای موجود در زبان C بود و دومین دلیل بالا بردن دسترسیپذیری سیپلاسپلاس بود تا همگان بتوانند در جنبههای مختلف یک نرمافزار از آن استفاده کنند.
۳. زبان برنامهنویسی PHP: پیاچپی در سال ۱۹۹۴ توسط راسموس لردورف توسعه یافت و اولین استفاده از آن یک استفاده شخصی بود. بعد از آن بود که راسموس تغییرات کوچکی در آن اعمال کرد و سپس بصورت عمومی آن را انتشار داد. پیاچپی زبانی بود که برای توسعه وب ساخته شد. اکنون ما در ۲۰۲۱ نیز هنوز از PHP به وفور استفاده میکنیم.
۴. زبان برنامهنویسی GO: گو تلاش گوگل برای ایجاد یک زبان سریع و در عین حال ساده بود تا بتواند جنبههای مختلف توسعه نرمافزار را پیش ببرد. یکی از مسائل مهم در تیم توسعه گوگل بحث پردازش موازی و کوروتین بوده که زبانهایی مانند پایتون و سیپلاسپلاس در مدیریت کردن آن ضعف دارند. به همین دلیل GO به عنوان یکی از ویژگیهای اصلی خود این قابلیت را برای توسعهدهندگان فراهم میکند.
۵. زبان برنامهنویسی Javascript: زبان برنامهنویسی جاوااسکریپت اولین بار در ۱۹۹۵ برای ایجاد قابلیتهای تعاملی در وبسایتها ساخته شد. ابتدای امر این زبان تنها برای توسعهدهندگان رابط کاربری و طراحان سایت مورد استفاده قرار میگرفت. اما با گذشت زمان و از سال ۲۰۰۹ با پیشرفت تکنولوژی نودجیاس، جاوااسکریپت مسیرش را به سوی توسعه Back-End نیز پیدا کرد.
نیازمندی تعیین کننده زبان برنامهنویسی
یکی دیگر از دلایلی که ما زبانهای برنامهنویسی بسیار زیادی داریم وجود نیازمندیهای متفاوت است. برای درک بهتر این قضیه به یک دکتر فکر کنید که بیماران متفاوتی با مشکلات متفاوتی دارد. یک دکتر حرفهای باید تا حد ممکن بتواند آسیبهای مختلف بیمارش را در حد ممکن حل کند.
دنیای برنامهنویسی نیز شبیه به همین وضعیت است. ما یکسری کاربرد و مسئله اصلی داریم که برای هر کدام آنها راهحل مرتبطی نیز داریم. برای مثال به موارد زیر دقت کنید:
- توسعهدهندگان بازی برای حل مسائل مربوط توسعه Video Games از زبانهای سیپلاسپلاس و یا سیشارپ بهره میگیرند.
- توسعهدهندگان برای توسعه رابط کاربری خود از زبان برنامهنویسی جاوااسکریپت و برای توسعه لایه بک-اند از زبان PHP و Python و... استفاده میکنند.
- توسعهدهندگان برای توسعه اپلیکیشنهای مبتنی بر موبایل نیاز دارند که از زبانهای برنامهنویسی مشابه با جاوا و سوئیفت و... استفاده میکنند.
- دانشمندان داده برای تجزیه و تحلیل دادهها نیاز دارند که از زبان برنامهنویسی Python، R و... استفاده کنند.
این موارد تنها نمونههایی از دنیای اپلیکیشنهای متفاوت است. موارد بسیار زیاد دیگری نیز وجود دارند که در نهایت منجر به تولید و طراحی زبانهای برنامهنویسی بیشتری خواهد شد.
چگونه یک زبان برنامهنویسی را انتخاب کنیم؟
برنامهنویسان اهداف و نیازهای متفاوتی دارند. به همین دلیل بسیار ضروریست که بعنوان یک برنامهنویس مبتدی پیش از انتخاب یک زبان برنامهنویسی هدف خودتان از آن را درک کنید. برای مثال آیا قصد دارید برنامهنویس سیستمی شوید یا برنامهنویس موبایل؟ برنامهنویس وب شوید یا برنامهنویس داده؟ و دهها حالت دیگر.
زمانی که شما توانستید یک مورد از این موارد را انتخاب کنید همه چیز برایتان حل خواهد شد.
برای مطالعه بیشتر در این زمینه پیشنهاد میکنم مقاله «نحوه انتخاب یک زبان برنامه نویسی و از بین بردن عادتهای بد» را مطالعه کنید.
جمعبندی
وجود زبانهای برنامهنویسی متعدد یک مشکل نبوده و نیست بلکه ضرورتیست که منجر میشود تا برنامهنویسان و تیمهای توسعه بتوانند با استفاده از ابزارهای زیادی که در اختیار دارند با خیال راحتتر ابزار مورد نیازشان را انتخاب و اپلیکیشنشان را طراحی کنند.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید