کدوم زبون برنامه‌نویسی رو یاد بگیریم ؟!

وقتی که اوایل مشغول برنامه‌نویسی بودم همیشه از خودم می‌پرسیدم کدوم زبون برنامه‌نویسی از همه بهتره؟ این سوالیه که به فکر خیلی‌ها می‌آد. خیلی‌ها از خودشون می‌پرسند که کدوم بهتره، ولی خب بزارید خیالتون رو راحت کنم، چنین سوالی خیلی درست نیست. نمی‌خوام بگم که چنین زبانی وجود نداره، چرا وجود داره اما سوال‌تون رو باید یه ذره دقیق‌تر بپرسید.من به شما می‌گم کدوم زبون دنیا از همه بهتره!؟ منظورم زبون برنامه‌نویسی نیست، زبونیه که باهاش حرف می‌زنیم. خب تا حدی پرسیدن چنین سوالی غیر منطقیه. چون باید یه سری فاکتور وجود داشته باشه، مثلا بگیم زبونی بهتره که نویسنده بیشتری داره! اینطوری میشه گفت که کدوم زبون بهتره. ولی خب همیشه بهترین زبون بدرد ما نمی‌خوره. چطور؟! تصور کنید من قراره مهاجرت کنم به روسیه، خب حالا تصور کنید که براساس فاکتور بیشترین نویسنده، انگلیسی از همه زبون‌ها بهتره، حالا من می‌رم روسیه، انگلیسی بلدم ولی روسی بلد نیست، چه اتفاقی می‌افته؟ نمی‌تونم خوب ارتباط برقرار کنم و کارام رو انجام بدم. پس بهترین زبون بستگی داره به یکسری از سوالات دیگه.مثلا من می‌آم می‌گم آقا کدوم زبون بهتره؟ شما می‌گید برای چه کشوری و یا برای چه کاری؟ مثلا من می‌گم برای تجارت توی دبی، خب برای چنین مسئله‌ای مطمئنا هم عربی خوبه و هم انگلیسی حالا برای اینکه متوجه بشیم بیشتر که بین عربی و انگلیسی کدوم خوبه، می‌پرسیم اون شرکتی که باهاش کار می‌کنی یه شرکت محلیه یا خارجی(غیر عرب) و شما می‌گید که مثلا شرکت محلیه، خب در اونصورت مسلما بهترین زبان عربیه!حالا برای برنامه‌نویسی هم دقیقا همین سناریو وجود داره. شما نمی تونید بگید جاوا از سی‌پلاس‌پلاس بهتره یا بلعکس چون هر کدومشون برای موقعیت‌های بعضا متفاوتی نوشته شدن. مثلا من می‌گم جاوا بهتره برای توسعه اپلیکیشن آندرویدی یا سی‌پلاس‌پلاس – خب با هر دو تاشون میشه اپلیکیشن نوشت ولی خب جاوا چون محلی‌تره، امکانات بیشتری در اختیارت قرار میده، حالا می‌پرسید کدوم زبون برای نوشتن اپلیکیشن‌های دسکتاپ مثلا ویندوز بهتره جاوا یا سی‌پلاس‌پلاس، مسلما سی‌پلاس‌پلاس. می‌بینید چنین سوالی وقتی طولانی‌تر بشه و جزئیات‌ش بیشتر بشه می‌شه بهش جواب درست رو داد.اگه رفتید پیش یکی و بهش گفتید مثلا جاوااسکریپت بهتره یا سی، و طرف بهتون گفت مسلما جاوااسکریپت بدونید که از روی تعصب یا بی‌سوادی و یا چیزهای دیگه‌ای می‌گه. شاید شما بخواید باهاش کرنل بنویسید یا برنامه‌نویسی سطح پایین‌تری بکنید خب در اون حالت جاوااسکریپت به چه دردی می‌خوره؟!پس برای انتخاب یک زبان برنامه‌نویسی بهترین مورد وجود نداره، موقعیت و شرایط شماست که تعیین میکنه کدوم برای شما بهترینه نه بهترین کلی!حالا یه موضوع دیگه پیش می‌آد.من نمی‌دونم که می‌خوام چیکار کنم با برنامه‌نویسی! حالا کدوم زبون رو یاد بگیرم؟خب بعضی وقتا چنین چیزی هم پیش میاد. مثلا من پارسال یه ذره زبون آلمانی رو می‌خوندم چرا؟ هیچ هدفی نداشتم همینطوری یه ذره زمان اضافی داشتم و می‌خواستم یه سری کار انجام بدم.در چنین حالتی هم باز میشه گفت یکسری فاکتور برای انتخاب وجود دارن. مثلا شما می‌گید من برم اسمبلی رو یاد بگیرم یا جاوا رو؟! خب هر کدوم اینا برای کارهای مختلفی استفاده میشن ولی خب کاربرد جاوا به صورت عمومی بیشتره، باهاش وب می‌نویسیم، اپلیکیشن دسکتاپ درست می‌کنیم، موبایل می‌نویسیم و چند تا چیز دیگه، اسمبلی هم برای نوشتن برنامه‌های سطح پایین و ماشین خیلی خوبه … خب حالا واقعا می‌خوای چیکار کنی؟! تو انتخاب‌ت رو انجام ندادی ولی وقتی انجام بدی احتما درصد اینکه جاوا بیشتر به دردت بخوره زیادتره!ببینید مثل یه قرعه‌کشی نگاش کنید. شما حق انتخاب دو تا توپ رو دارید یکی شون بزرگ‌تره و یکی شون کوچیک‌تر، خب وقتی یکی دست می‌کنه تو سبد امکان اینکه توپ بزرگ‌تر انتخاب بشه بیشتره اما فراموش نکنید که صد در صد نیست. درست مثل اینکه جاوا ممکنه صد در صد بدردتون نخوره.ولی پیشنهاد میکنم قبل از اینکه بخواید انتخابی بکنید و بخواید وارد پروسه یادگیری یک زبان برنامه‌نویسی بشید، با خودتون این تصمیم رو بگیرید که می‌خواید چیکار کنید؟! این خیلی مهمه.من پایتون و جاوااسکریپت رو انتخاب کردم. چون هم علاقه‌مند به دنیای وب هستم و هم دوست دارم که روی تحلیل داده کار بکنم. همچنین علاقه دارم که هوش مصنوعی رو یاد بگیرم البته در آينده. به همین خاطر این دو تا رو انتخاب کردم و هر روز دارم دانش‌م رو در رابطه با این موارد بیشتر می‌کنم.نویسنده: ارسطو عباسیCC BY-NC-SA 4.0