«پولساز ترین زبان برنامه نویسی» - گنجی که هیچ کس پیدا نکرده

شاید تا به حال شما هم نظاره‌گر دعوای متعصبانه تازه وارد ها سر "بهترین زبان برنامه نویسی" بوده اید. البته این موضوع چیز جدیدی نیست و از این نوع دعوا ها تو هر گروه پرسش و پاسخ کامپیوتر دیده میشه. هروقت یکی میاد می پرسه «بهترین/پولساز ترین/خفن ترین زبان برنامه نویسی چیه؟» یکی سریع reply میزنه که «قطعا سی شارپ» بعد اونی که تازه از دانشگاه C++ یاد گرفته میاد میگه «نه C++ مادر همه تکنولوژی هاییه که داریم» و ... کلا هرکی یه چیز میگه اون بنده خدایی هم که سوالو پرسیده جواب منطقی نمی گیره و فقط بیشتر گیج میشه.اما اصلا چیزی به عنوان «بهترین/پولساز ترین/خفن ترین زبان برنامه نویسی» وجود داره؟ این همون موضوعی هست که قراره راجع بهش حرف بزنیم.هرچیزی که تو این دنیا به دست انسان ساخته بشه، درکنار فوایدش ضرر هایی هم داره. با وجود خوبی هاش، همیشه نقص هایی هم داره. همین ماشینی که سوارش میشیم و باهاش طی چند ساعت از این شهر به شهری دیگه میریم و از این لحاظ خیلی به حمل و نقل مون کمک کرده، الان دود اگزوزش تو تهران (و بقیه شهر هایی که آلودگی هوا دارن) داره نفس مردم رو بند میاره. میبینید؟ انسان هیچ وقت نمی تونه یه چیز کامل و بی نقص بسازه. انسان هیچ وقت نمی تونه همه پارامتر ها رو بسنجه. کی در گذشته می دونست دود ناچیز اگزوز ماشین می تونه سبب این حجم از آلودگی هوا بشه؟ تو تابستون میره هوا و دهن لایه اوزن رو سرویس میکنه. تو زمستون هم پایین میاد دهن ما رو سرویس می کنه.بگذریم، اینا رو گفتم که الان ربطش بدم به زبان های برنامه نویسی و بگم هیچ زبان برنامه نویسی کامل نیست. معمولا افرادی که خیلی سریع می خوان از طریق برنامه نویسی به درآمد برسن، دنبال «بهترین/پولساز ترین/خفن ترین زبان برنامه نویسی» میگردن اما نمی دونن چنین چیزی وجود نداره.هر کدوم از زبان های برنامه نویسی برای یه کاری ساخته شده اند و توی یه کاری خوب هستند. اگر نبودند تا الان مثل هزاران زبان برنامه نویسی دیگه دور انداخته شده بودن. مثلا پایتون برای پروژه های هوش مصنوعی و توسعه اپلیکیشن های سمت سرور گزینه خوبیه، یا مثلا کاتلین/فلاتر/ری اکت نیتیو (بسته به شرایط) برای توسعه اپلیکیشن اندروید می تونن گزینه های مناسبی باشن.در حالت عادی شما نمی تونید همینطوری با مقایسه ویژگی هاشون این موارد رو با هم مقایسه کنید و تصمیم بگیرید که کدومش برتری بیشتری نسبت به دیگری داره. چون ویژگی هایی که هرکدوم داره معیار مناسبی برای سنجش توانایی شون نیست. چیزی که تعیین می کنه کدوم برای شما مناسبه، کاریه که می خواهید انجام بدید.خیلی مهمه که بدونید چه کاری می خواهید انجام بدید. چون برای موفق شدن شما به «بهترین/پولساز ترین/خفن ترین زبان برنامه نویسی» نیاز ندارید. در واقع شما به «بهترین/پولساز ترین/خفن ترین ایده» نیاز دارید. اون ایده است که بهترین زبان برنامه نویسی رو تعیین می کنهاون ایده حتی تعیین کننده میزان درآمد شماست.خیلی از برنامه نویس ها رو دیده ام (من جمله خودم*) که با وجود مهارت های فنی که دارن، اگه ازشون بپرسید می فهمید که هیچ ایده منحصر به فرد و نوآورانه ای ندارن (من جمله خودم*)بزارید یه مثال بزنم. من یکی از دوستام تازه داشت پایتون یاد میگرفت و تقریبا مقدمات کار با پایتون رو بلد بود ولی چیزی نمی تونست بسازه، چرا؟ توانایی فنی نداشت؟ اتفاقا داشت. چیزی که نداشت ایده بود، چون مهارت فنی رو هنگام پیاده سازی ایده میشه کم کم از طریق منابع مختلف (علی الخصوص stack overflow ?) کسب کرددر بازار کار (نه تنها برنامه نویسی بلکه همه فیلد ها) چیزی که مهمه طرح و ایده است. چیزی که براتون درآمد زایی داره طرح و ایده است. شما برای درآمدزایی یا باید ایده خودتون رو ارائه بدید، یا ایده دیگران رو پیاده سازی کنید. بالاخره یه طوری باید پای یک ایده در میان باشه.وقتی که ایده پیدا شد، باید پیاده سازی بشه. حالا وقتشه که ابزار مناسب رو انتخاب کنید. زبان های برنامه نویسی همه شون ابزاری هستند برای پیاده سازی ایده شما. حالا که می دونید ایده چیه و قراره چه کاری انجام بدید سنجه مناسبی برای ارزیابی زبان های برنامه نویسی دارید. هرکدومشون که توانایی بیشتری برای رفع نیاز هاتون داشته باشه، زبان برنامه نویسی مناسب تریه.تا اینجا روی صحبتم با کسانی بود که می خوان کسب و کار خودشون رو داشته باشن و می خوان ایده خودشون رو توسعه بدن. حالا کسانی که دنبال کار در شرکت ها هستند چطور باید زبان برنامه نویسی مناسب شون رو انتخاب کنند؟ جواب راحته، باید ببیند که «چه کاری می خوان انجام بدن» و وقتی که فهمیدن به چه چیزی علاقه دارند می تونن خیلی آسون و بدون خونریزی زبان برنامه نویسی متناسب با حوزه مورد علاقه شون رو با کمی تحقیق انتخاب کنند. به حرف کسایی هم که می گن این زبان درآمد بیشتری داره و ... هم گوش نکنید.البته ممکنه مثلا یه برنامه نویس پایتون از یک برنامه نویس php درآمد بیشتری داشته باشه اما دلیل این درآمد بیشتر، پایتون نیست، بلکه کاریه که طرف با پایتون انجام میده. ممکنه طرف کارش ساختن شبکه های عصبی هوش مصنوعی با پایتون باشه و به همین خاطر درآمد بیشتری داره. حالا شما بیا با همون پایتون یه وبلاگ معمولی بزن، مثل همون کاری که یک برنامه نویس تازه وارد php با وردپرس انجام میده. اون وقت درآمد هر دو شما یکی میشه. چون هرچند هرکدومتون با زبان های برنامه نویسی متفاوت و تکنیک های مختلف کار رو انجام می دید اما در نهایت چون نتیجه کار هر دو شما یکیه پس درآمد هاتون هم یکیهخوب به انتهای پست رسیدیم. خوشحال میشم اگر نظراتتون رو راجع به حرفام در قسمت کامنت ها بگید. تا پست بعدی در پناه حق