بهزاد مرادی

پول‌سازترین زبان‌‌های برنامه‌نویسی کدامند؟

بهزاد مرادی مدرس، کپی‌رایتر و دولوپر

این محتوا بدون نظارت تیم سکان آکادمی تولید شده و صرفاً نظرات شخصی بهزاد مرادی می‌باشد.

پیش از این در مقاله‌ای با عنوان آیا دوست داریم در زمان مرگ پول‌دار از این دنیا برویم یا خوشحال؟ نکاتی در مورد ثروت گفتم و امروز خبرنامه‌ای دریافت کردم با عنوان «پردرآمدترین زبان‌های برنامه‌نویسی» که سوژه‌ای شد برای نوشتن این پُست. علی‌الظاهر تبلیغات پوپولیستی که پیش از این حوزه‌هایی همچون موارد زیر را هدف قرار داده بود، امروزه پای‌شان به حوزهٔ توسعهٔ نرم‌افزار هم باز شده است؛ مثلاً داریم:

- کسب درآمد میلیونی با کاشت قارچ
- کسب درآمد زیاد از خانه از طریق اینترنت
- کسب درآمد از یوتیوب
- کسب درآمد بدون سرمایه
- و ...

حال پرسش اینجاست که «مگر در صنعت نرم‌افزار چیزی مطلق هم هست؟» به عبارت دیگر، مگر می‌شود برچسب «پول‌ساز» روی یک زبان زد و بی‌توجه به سایر متریک‌ها رفت دنبالش و پول‌دار شد. در این ارتباط لازم است تا چند نکته را به خوبی بشکافیم تا با دید به نسبت روشن‌تری بتوانیم پا به این حوزه بگذاریم.

وقتی کسی می‌خواهد یک زبان برنامه‌نویسی را پیش از ورود به حوزهٔ کسب‌وکار انتخاب کند، اِلِمان‌های مختلفی هستند که باید به هر یک از آن‌ها وزنی داده و در نهایت محاسبه کند که چه زبانی را و به چه دلیلی انتخاب کند. به طور مثال، اگر کسی از ۱۸ سالگی برای خود هدف قرار داده که در نهایت روزی وارد گوگل شود، مسلماً انتخاب‌های وی مابین سی‌پلاس‌پلاس،‌ جاوااسکریپت،‌ پایتون و یا جاوا خواهد بود (البته الزماً محدود به این‌ها نیست و درج این زبان‌ها وابسته به گپ‌هایی است که در رادیو فول‌استک با دولوپرهای فعال در کمپانی گوگل زده‌ام.) به عنوان مثالی‌ دیگر، اگر کسی بخواهد وارد حوزهٔ گیم شود،‌ یکی از انتخاب‌های اصلی وی سی‌پلاس‌پلاس خواهد بود و یا اگر کسی بخواهد وارد حوزه‌های بیگ‌ دیتا، ماشین لرنینگ و ... شود هم پایتون کاندیدای خوبی است.

حال پرسش اینجاست که «اگر کسی بخواهد کسب‌وکار نوپای خودش را راه بیندازد چه‌طور؟» که در پاسخ به این سؤال باید گفت که شرایط انتخاب زبان یا به طور کلی اِستک نرم‌افزاری به مراتب پیچیده‌تر از قبل خواهد شد که در این خصوص در مقالهٔ اشتباهات فاحش مهندسی که آیندهٔ استارتاپ‌های فناورانه را به مخاطره می‌اندازند نکاتی را برشمردم.

آیا اساساً چون یک زبان در بنچمارک‌های استک‌اورفلو و یا دیگر سایت‌های کاریابی به عنوان زبانی پردرآمد انتخاب شده می‌توان کورکورانه دست به انتخابش زد یا اینکه متر و معیارهای دیگری نیز وجود دارند که موفقیت یا عدم موفقیت یک کسب‌وکار نوپا (استارتاپ) را مشخص می‌سازند! به طور مثال،‌ اهمیت منابع انسانی،‌ تجربهٔ‌ کاربری، ایدهٔ محصول و یا مارکتینگ در موفقیت یک استارتاپ بیشتر است یا انتخاب زبانی که به عنوان پول‌سازترین زبان در فلان سال انتخاب شده است!

از منظری دیگر هم می‌توان این مسئله را نقد کرد که به منظور درک بهتر، یک مثال از دنیای واقعی می‌زنم. فرض کنید من صاحب یک لامبورگینی شوم. حال پرسش اینجاست که آیا منِ نوعی با مثلاً یک قهرمان فرمول یک که در جاده‌های اروپا رانندگی می‌کند شرایط یکسانی داریم؟ پاسخ مسلماً خیر است. در انتخاب زبان برنامه‌نویسی هم شرایط تا حدودی به همین منوال است؛‌ به عبارتی،‌ فرض کنیم که زبان سی یکی از پول‌سازترین زبان‌های دنیا است. حال پرسش کلیدی آن است که آیا با فرض اینکه بخواهیم داخل ایران و در یک شرکت ایرانی کار کنیم، بر اساس همین یک دانه متریک می‌توان پیش از ورود به حوزهٔ نرم‌افزار زبان سی را به عنوان زبان اصلی خود انتخاب کرد؟ خب نیاز به توضیح نیست که این زبانِ مادر در توسعهٔ اکثر سیستم‌عامل‌ها، نرم‌افزارهای کلیدی سنگین، سیستم‌های اِمبدِد و حتی توسعهٔ سایر زبان‌های برنامه‌نویسی کاربرد دارد. اکنون مجدد سؤال مرتبط دیگری می‌پرسم و آن هم اینکه «آیا چنین بازار کاری در ایران برای دولوپرهای زبان سی وجود دارد؟» حداقل اطلاعات ناقص من می‌گوید که پاسخ خیر است (که ممکن هم هست کاملاً اشتباه کنم.)

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

ما آرزو به دل‌مان ماند که یک آخوند پیدا کنیم که به جای گیر دادن به «صِرَاطَ الَّذِينَ أَنْعَمْتَ عَلَيْهِمْ غَيْرِ الْمَغْضُوبِ عَلَيْهِمْ وَلَاالضَّالِّينَ»، بگوید که بابا تلفظ درست کلمات فقط یک جنبهٔ قضیه است و شما برای اینکه دعاتون بالا بره چندین و چند معیار دیگر رو هم باید مد نظر قرار دهید که برخی از آن‌ها عبارتند از:

- آیا تی‌شرتی که به تن کرده‌ای و داری باهاش نماز می‌خونی از پول حلال به دست آمده؟
- آیا امروز صبح که از خانه بیرون رفتی، دل کسی رو شکستی؟
- آیا در حین خواندن نماز به فکر بیزینس‌ات هم هستی یا تمام تمرکز روی نمازت هست؟
- و ده‌ها سؤال کلیدی دیگر ...

این قضیه در مورد انتخاب اِستک نرم‌افزاری هم صادق است. مثل همون آخوندی که گیر به «وَلَاالضَّالِّينَ» می‌دهد، برخی منتورها هم هستند که فقط به شاخص سایت TIOBE گیر می‌دهند غافل از اینکه چیزهای دیگر همچون کشوری که قصد داریم داخلش دست به کد شویم،‌ اینکه در یک استارتاپ مشغول به کار شویم یا شرکت درست و درمان، نوع ایدهٔ نرم‌افزاری، کامیونیتی آن زبان (مثلاً پرسش و پاسخ‌های استک‌اورفلو)، منابع انسانی مسلط به آن زبان در کشور و ... را نیز باید مبنا قرار دهیم.

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

ایدهٔ خود را در سکان‌پلاس بنویسید!

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
حسین قربانی
حسین قربانی
۱۳۹۸/۰۱/۲۴
آقای مرادی عزیز
سلام
1- مطلب خوبی که از خواندن آن لذت بردم و بخشی از چاله‌های ذهنی‌ام را پر کردم. دم شما گرم.
2- مگر در صنعت نرم‌افزار چیزی مطلق هم هست؟ راستش را بخواهید بنده تصور می‌کنم که در هیچ موضوعی (صنعتی) چیزی مطلق نیست. یکی از علوم پایه ما فیزیک هست. در علمی که به آن عنوان پایه را اطلاق می‌کنیم. قانونی داریم به عنوان عدم قطعیت. چندین تغییر بزرگ علمی داریم و هیچ وقت هم به قطعیت در مورد موضوعات صحبت نمی‌کنیم. در مورد موارد مربوط به علوم انسانی و مواردی که در نتیجه فاکتورهای فراوان دخیل هستند، عمراً بشود با قطعیت نظر داد و مطمئن بود که به نتیجه خواهیم رسید.
3- کتابی می‌خوانم با موضوعی بی‌ربط به فضای یادداشت حضرتعالی، در این کتاب تکنیکی عرضه کرده که به فهم علوم سیاسی مربوط است. اما از این تکنیک می‌شود در موارد و علوم دیگر بهره بُرد. تکنیک این است که هدف غائی چیست؟ هر کاری که قصد انجام داریم، از خودمان بپرسیم که بعدش چی؟ به چی قرار هست که برسیم. برای کسی که قبل از شروع برنامه‌نویسی سؤالش این است که چقدر درآمد داره؟ خلق کردن مسئله‌ش نیست. پول هدف نهایی است. یکی بگوید با فلان کار به بیشتر از برنامه‌نویسی درآمد داری، به راحتی این کار را به نفع آن دیگری رها می‌کند. به همین راحتی. این نگاه به هدف نهایی اول از همه برای خود ماست. برای شناختن خودمونه. بدترین حالت هم اینه که ما در این مورد خودمون رو گول بزنیم. یعنی به خاطر حرف مردم، رفیق و پول و غیره وارد یک کاری بشیم و به خودمون بگیم که اون کار خاص رو دوست داریم.
4- فکر می‌کنم قبلاً به مقاله صدرا علی آبادی که در سایتش منتشر شده اشاره کرده باشم، اما بد نیست باز هم اینجا به آن مقاله ارجاع بدم.
https://sadraa.me/%d8%a8%da%af%d8%b0%d8%a7%d8%b1-%d9%be%d9%88%d9%84%d8%8c-%d8%b3%d8%a7%db%8c%d8%af-%d8%a7%d9%81%da%a9%d8%aa-%da%a9%d8%a7%d8%b1-%d8%aa%d9%88-%d8%a8%d8%a7%d8%b4%d8%af/
5- خوبی این مقاله برای من این بود که دارم دوباره به موضوع انتخابهام فکر می‌کنم. دوباره دارم به دنبال چراهای زندگی‌م می‌گردم و از این بابت از بهزاد مرادی عزیز ممنونم. این بازبینی‌های مجدد هم همیشه با ما خواهد بود.
موفق باشید
سید سجاد حسینی
سید سجاد حسینیبرنامه نویس اندروید
۱۳۹۸/۰۱/۲۴
با تشکر از مقاله‌ای که وقت گذاشتید و نوشتید.
همین که کسی واقعا به چیزی که میخاد تلاش کنه میرسه لازم هم نیست که سراغ کسایی بره که همش بپرسه که چه‌طور باید این مسیر رو برم، چون مسیر هر کسی متفاوته.
و اگر هم کسی میخاد پول در بیاره به قول خودتون زبان برنامه‌نویسی مهم نیست مهم تویی که چقد روی خودت کار کردی! طوریکه وارن بافت میگه "هر قدر که مهارتتون رو بالا ببرید، در آمدتون هم بالا میره".
با تشکر.
کاربر میهمان
فرامرزمن یک کاربر مهمان هستم
۱۳۹۸/۰۱/۲۳
با تشک از شما،چند وقته وئدئوهای جاوا واندروئید رو براشروع برنامه‌نویسی میبینم،بیشتر هم از سایت شما استفاده میکنم ،سؤالم این هست زبان انگلیسی بر آموزش و تمرین من تقدم داره یا خبر؟مرسی از پاسخی که میدین