امیرحسین شعبانی نژاد
امیرحسین شعبانی نژاد
خواندن ۵ دقیقه·۵ سال پیش

کدام زبان را برای شروع برنامه نویسی انتخاب کنیم؟


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

کدام راه؟

قبل از اینکه بتوانیم درباره خوب بودن یا نبودن یک زبان برنامه نویسی صحبت کنیم، ابتدا باید به این سوال پاسخ دهیم که کدام مسیر را در برنامه نویسی می خواهیم انتخاب کنیم؟ منظور از مسیر به زبان ساده، نوع برنامه نویسی است که می خواهیم انجام دهیم. (برای مثال برنامه نویسی وب یا اندروید و....)

علت اینکه اول باید مسیر را تعیین کنیم هم این است که هر زبانی ممکن است در یک زمینه خاص بسیار قوی عمل کند و در زمینه دیگری نتوانیم از آن استفاده کنیم. برای مثال زبان برنامه نویسی Swift زبان بسیار مناسبی برای سیستم عامل های اپل است اما اگر بخواهیم برای اندروید یا ویندوز برنامه نویسی کنیم، عملا Swift به کارمان نمی آید و باید زبان دیگری بیاموزیم.

خب، حالا شاید بپرسید که این مسیر را چگونه تعیین کنیم؟ کدام مسیر بهتر است؟ کدام درآمد بیشتری دارد یا کدام بازار کار بهتری دارد؟ و سوالاتی از این دست که می خواهم با توضیحاتی که در ادامه ارائه می کنم، پاسختان را بدهم.

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

حال شاید این سوال هم ذهن شما درگیر کند که اگر چند مسیر را دوست داشتیم چه؟ در اینجا باید بگویم که تمام مسیرها را می توانید طی کنید ولی ابتدا پتانسیل خود را بررسی کنید و ضرب المثل قدیمی دو هندوانه را با یک دست بر ندارید رو هم حتما در نظر داشته باشید و بر اساس آن مسیرها را اولویت بندی کنید. البته در برنامه نویسی مسیرهای همزمان مکمل زیاد داریم که شامل آن ضرب المثل نمی شود و عملا یک هندوانه به حساب می آیند.

کدام زبان؟


خب، حالا که مسیر خود را انتخاب کردید وقت آن رسیده که زبان مورد نیاز آن مسیر را نیز انتخاب کنید. قطعا برای 1 مسیر ممکن است چند زبان برنامه نویسی وجود داشته باشد. اما یادگیری کدام بهتر است و کدام زبان عملکرد و آینده بهتری دارد؟

در اینجا پیشنهاد میکنم باز هم از اساتید و کارشناسان این حوزه که تجربه بیشتری دارند و منابع مطرح در اینترنت استفاده کنید و راجع به زبان ها اطلاعات مختلفی کسب کنید.

برای مثال آمار ابتدا سایتهای مختلفی نظیر W3Techs و Stackoverflow و PYPL را بررسی کنید و اطلاعاتی راجع به وضعیت فعلی زبان برنامه نویسی مورد نظر از ابعاد مختلف کسب کنید. سپس به سراغ یک فرد خبره در این حوزه یا یک استاد برنامه نویسی رفته و درباره اینکه انتخابتان انتخاب درستی بوده یا نه و اگر درست است باید چه مسیری را برای یادگیری آن دنبال کنید، مشاوره بگیرید.

بعد از آن زبان مورد نظر را دنبال کنید و این نکته را هم در نظر داشته باشید که در ابتدا یک زبان را به صورت حرفه ای یاد بگیرید و بعد اگر خواستید به سراغ تکنولوژی های دیگر نیز بروید. اینکه شما بتوانید با یک زبان کارهای مختفی انجام دهید بسیار بهتر از این است که بتوانید با زبان های مختلف یک ماشین حساب ساده بنویسید!

سی شارپ

از اینجا به بعد این مطلب صرفا یک نظر شخصی است و تنها بیان تجربه مسیری است که من انتخاب کردم و می تواند برای شما هم مفید باشد.

من کار کردن با زبان های مختلفی مثل جاوا، php، پایتون و جاوا اسکریپت را تجربه کرده ام اما به هیچ کدام مثل سی شارپ علاقه مند نبودم. به نظر من سی شارپ زبانی است که برای ساخت آن بسیار حساب شده عمل کرده اند و پتانسیل بسیار خوبی دارد.

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

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

بنابراین هیچ زبانی برتر مطلق نیست و باید از زبان های مختلف اطلاعات داشته باشیم اما من سی شارپ را بهترین انتخاب در حال حاضر می دانم چرا که آینده خوبی پیش روی آن میبینم.

دلیل این انتخاب هم اتفاقاتی است که اخیرا در تکنولوژی های مایکروسافتی رخ داده و با ظهور NET Core. مایکروسافت انقلابی در دات نت به پا کرد و حتی این موضوع باعث شد تا NET Core. به دوست داشتنی ترین فریمورک 2019 از نگاه برنامه نویسان Stackoverflow بدل شود.

آمار منتشر شده در وب سایت Stackoverflow
آمار منتشر شده در وب سایت Stackoverflow


در حال حاضر ASP.NET Core یکی از پرقدرت ترین تکنولوژی های برنامه نویسی وب بر پایه NET Core. است که توانایی مدیریت 7 میلیون درخواست در ثانیه را داراست. این آمار پیش از این برای ASP.NET MVC که خود تکنولوژی قدرتمندی بود، حدود 60 هزار درخواست در ثانیه بود و برای زبان برنامه نویسی php نیز، این آمار بر اساس فریمورک انتخابی بین 19 تا 60 هزار درخواست در ثانیه تغییر می کند.

غیر از اینکه می توان با سی شارپ برای وب، اندروید، iOS، ویندوز و مک و گجت های اندروید و iOS برنامه نویسی کرد می توان از آن در حوزه هوش مصنوعی نیز استفاده کرد که در اینجا صحبت از ML.NET به میان می آید که شاید به اندازه پایتون با لایبرری های زیاد در هوش مصنوعی قدرتمند نباشد اما روند رو به پیشرفتی را تجربه می کند و گزینه مناسبی برای برنامه نویسان سی شارپ است.

دیگر دلیل برتری سی شارپ نسبت به سایر زبان ها از نظر من IDE (نرم افزارهای توسعه کد با امکانات بسیار زیادتر از ادیتورهای معمولی) بسیار قدرتمند ویژوال استودیو است. ویژوال استودیو بدون شک قدرتمندترین IDE ساخته شده تا به حال است و بسیار دوست داشتنی است.

کلام آخر

در انتها لازم میدانم بگویم در نهایت این به خود شما بستگی دارد که کدام مسیر و کدام زبان را انتخاب کنید. اما در نظر داشته باشید که مهم این است مسیرتان را دوست داشته باشید و عاشقانه تلاش کنید. اگر عاشقانه تلاش کنید، یک حرفه ای به تمام معنا در مسیرتان خواهید بود.

برنامه نویسیبرنامه نویسی سی شارپ
من تقریبا از سال 1390 وارد دنیای کامپیوتر و برنامه نویسی شدم و حدود 5 سال نویسنده در حوزه تکنولوژی بودم و تدریس رو به تازگی شروع کردم و در حال حاضر یکی از اعضای تیم فنی شرکت بین المللی ناپرولیتی هستم.
شاید از این پست‌ها خوشتان بیاید