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

این نمودار نشان میدهد که برنامه نویسان «سوییفت» (Swift) بیشترین درآمد را در مقایسه با سایر برنامه نویسان دارند. همچنین برنامهنویسان C++/C ،Python ،Ruby و JAVA از لحاظ میزان درآمد در مقامهای بعدی قرار میگیرند. طبق این نمودار اگر میزان درآمد برای شما اهمیت بالایی دارد، احتمالا زبانهایی مثل #C، جاوا اسکریپت، PHP و SQL انتخاب خوبی برایتان نخواهند بود. البته همواره باید بازار کار کشوری که در آن مشغول بهکارید را در نظر بگیرید.
میانگین حقوق تحت تاثیر مواردی مانند میزان تقاضا (تعداد شغلهای مورد نیاز)، میزان عرضه (تعداد برنامهنویسانی که توانایی کدنویسی با آن زبان را دارند) و میزان تجربه (قاعدتا یک برنامهنویس تازهکار میزان درآمد کمتری در مقایسه با یک برنامهنویس حرفهای خواهد داشت) است. بنابراین این ایدهی خوبی است که قبل از تصمیمگیری عجولانه در انتخاب یک زبان برنامهنویسی، کمی عمیقتر به این مورد بپردازیم.
- میزان ترند بودن زبانهای برنامهنویسی
نمودار زیر میزان تقاضا برای مشاغل برنامهنویسی است. همانطور که میبینید زبانهای برنامهنویسی C ،SQL ،Java و جاوا اسکریپت معمولا در آگهیهای استخدام بیشترین میزان تقاضا را از جانب کارفرماها دارند.

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

همانطور که مشاهده میکنید جاوا اسکریپت در بین استارتاپها هم طرفداران زیادی دارد. اما در مورد سایر زبانها اوضاع کمی متفاوت است. برخلاف نمودار قبلی که از سایت indeed.com استخراج شده بود، در این نمودار زبانهای Python و Ruby از سایر زبانها میزان تقاضای بیشتری دارند.
محدودهی حقوق و دستمزد
هماکنون شما ایدهای در مورد میزان عرضه و تقاضا برای زبانهای برنامهنویسی دارید. اجازه دهید که میزان دریافتی برای هر کدام از زبانهای برنامهنویسی را بررسی کنیم. این اطلاعات از وبسایت Gooroo.io استخراج شدهاند.

به نظر میرسد که بیشترین میزان دستمزد، به برنامهنویسان جاوا اسکریپت اختصاص دارد. اما باید به این نکته اشاره کنیم که جاوا اسکریپت یک نمونهی خاص به شما میرود که در ادامه به آن خواهیم پرداخت. با کمی دقت در این نمودار به این نتیجه خواهید رسید که زبانهای C++ ،Python و Ruby در مقایسه با سایر زبانها حقوق بیشتری دارند. از طرفی هم زبانهای Python ،Ruby و Objective-C / Swift بیشترین پتانسیل برای دریافت دستمزد را دارا هستند.
اما ذکر یک نکته دربارهی جاوا اسکریپت بسیار با اهمیت است؛ جاوا اسکریپت، یک نمونهی خاص در تمامی مقایسهها به شمار میرود. مقایسهی جاوا اسکریپت با سایر زبانها دربارهی میزان درآمد نادرست است. جاوا اسکریپت یک دستهی بزرگ از تکنولوژیها را شامل میشود. تعداد زیادی از فریمورکها برای آسان کردن توسعهی رابط کاربری بهوسیلهی جاوا اسکریپت ارایه شدهاند. بنابراین اگر شما فقط جاوا اسکریپت و جیکوئری (jQuery) را بدانید احتمالا درآمد کمتری در مقایسه با توسعهدهندگانی که یک فریمورک جاوا اسکریپتی را میدانند، خواهید داشت.

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

از قبل میدانستیم که تقاضاها برای زبانهای جاوا و جاوا اسکریپت بیشتر از سایر زبانها است. بنابراین آمار ارایهشده از طرف StackOverflow که نشاندهندهی بالاترین میزان محبوبیت در این دو زبان است، باعث تعجب ما نخواهد شد. زبانهای SQL ،Ruby و Swift هم کمترین تعداد دنبالکنندگان تگ را در این سایت دارند.
میزان پاسخهای ارسالشده در StackOverflow: همانطور که در نمودار زیر دیدید، با وجود اینکه تعداد کمی از کاربران سایت StackOverflow زبانهای C ،SQL و ++C را دنبال میکنند، اما بیش از 60 درصد سوالهای پرسیدهشده در بخش مربوط به این زبانها پاسخ داده شدهاند.

البته باید به این نکته توجه شود که زبانهای C و ++C جزو زبانهای پیشرفته هستند و برنامهنویسان آنها افرادی هستند که تجربهی بالایی در برنامهنویسی دارند.
- گیت هاب
در معرفی مهمترین زبانهای برنامهنویسی به شما پیشنهاد کردیم که از وبسایت «گیت هاب» (GitHub) برای مشارکت در پروژههای دیگران استفاده کنید. در زیر اطلاعاتی از وبسایت گیت هاب استخراج شده است که نشاندهندهی میزان محبوبیت زبانهای برنامهنویسی با توجه به پروژههای ایجاد شده در این سایت است.

همانطور که از نمودار بالا برمیآید جاوا اسکریپت بیشترین میزان محبوبیت در لیست پروژههای بزرگ (بالای هزار ستاره در گیت هاب) را دارد. این چیز عجیبی نیست زیرا از جاوا اسکریپت در بسیاری از زبانهای دیگر مانند PHP، جاوا، پایتون، روبی و غیره استفاده میشود.
آیندهی هر زبان برنامهنویسی
آیندهی یک زبان برنامهنویسی به عواملی مانند تعداد افراد در جامعهی استفادهکننده از آن، میزان جذابیت آن برای تازهکارها و قدرت آن زبان برنامهنویسی در مقایسه با سایر زبانها بستگی دارد. نمودار زیر میزان جستوجوی کاربران طی سالهای 2014 و 2015 درباره هرکدام از زبانهای برنامهنویسی در موتور جستوجوی گوگل را نمایش میدهد.

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

بروز کنید اطلاعاتتون را، با تشکر.
زبان هایی از جمله C# و برخی دیگر تغییرات بسیاری داشته اند.
سلام
ممنون از مطالب مفیدتون
یک سوال اگر پایتون بلد باشیم چه طور می تونیم یک وب اپلیکیشن باهاش طراحی کنیم. به یادگیری چه چیزهای دیگری نیاز هست که در کوتاهترین زمان ممکن انجام بشه. نقشه راهمون چیه و از چه پلتفرمی میشه استفاده کرد؟ آیا با جنگو میشه هم سایتشو ساخت هم اپلیکیشن موبایلیشو؟ یا راه ساده تری هم هست؟
درود برشما
به نظر من که خیلی مفید بود مطالب و ممنون از شما
من یک سوالی داشتم اگر فردی هدفش این باشه که بخواد بره توی گوگل کار کنه بر فرض بر زبان c++ هم مسلط باشه باید حتما مدرک دانشگاهیش هم داشته باشه ؟ یا استخدام بر اساس توانایی و چیزی هستش که فرد می دونه؟
برای طراحی سایت علاوه بر این زبانها(HTML-CSS-JAVA SCRIPT) کدوم زبان برنامه نویسی روباید یادبگیریم.
سلام دوستان ،
تصمیم گرفتم هر جور شده پایتون رو یاد بگیرم .
ممنون میشم منبع بهم معرفی کنید که از پایه کامل توضیح بده برای منی که تا حالا تخصصی کار نکردم . (کتاب باشه چه بهتر تا خطخطیش کنم).
سپاس
سلام. پایتون خیلی خوبه برات آرزوی موفقیت میکنم. یه سر به سایت Wooebook بزن کلی کتاب رایگان زبات اصلی به صورت رایگان هست. برای شروع. اگه زبانت خوب نیست یکی از کتابای فارسی رو تهیه کن. برای شروع کدوم کتاب زیاد مهم نیست چون باید با ساختار کد آشنا شید. از دورههای لیندا هم استفاده کن در کنار کتاب.
با سلام. فکر میکنم اسم درست سایت:
wowebook.co باشه
سلام به همگی
من یک دانشو هستم که در حال حاضر روی یک اختراع کار میکنم … .
بخشی از این پروژه نیاز به برنامه نویسی دارد تا یا از دیتا سرور خود یا از نت برای انجام دستور ها استفاده کند… .
دستور ها بسیار ساده و کم (حداکثر ۳۰ نوع عملکرد ) و برای عملکرد قطعات مکانیکی و نمایشگر هستند که شامل :
تاچ اسکرین
روشن و خاموش
شروع و پایان
حرکت در صفحات فضایی (x , y , z )
بارگذاری و رجوع به حافظه و اجرای آن
و چند فرمان دیگر نظیر فرامین بالا می شود.
===> من ۲ سوال دارم
1- بهترین زبان برنامه نویسی با توجه به این که آپدیت های روش عملکرد و حافظه در الویت هستند چیست؟
2- بهترین IC ها یا CPU (پردازشگر مرکزی) احتمالی چیست؟
…با تشکر 🙂
جناب اسماعیلی بسیار مقاله های مفیدی در مورد برنامه نویسی می نویسید که هم برای افرادی که تازه می خوان شروع کنن مفیده هم برای کسایی که یکم بیشتر تجربه دارن. در رابطه با مقاله ای که نوشته بودید در مورد شروع برنامه نویسی و در انتهاش گفتید که بهتره از پروژه های داوطلبانه شروع کنیم. لطفا اگر امکانش هست پروژه ای به من معرفی کنید. C# کار کردم و در کنارش sql server و php و my sql هم بلدم و تعدادی پروژه c# و sql server و پروژه تحت وب با استفاده از php و my sql انجام دادم. لطفا با توجه به تجربه کم من یک پروژه معرفی کنید که بتونم انجامش بدم.
من ۱۴ سالمه و کمی پایتون بلدم.زبان خوبی هست پیشنهاد میکنم یاد بگیرید خیلی آسونه مثلا چهار کلمه در پایتون میتونه کاری کنه که تو c باید سه خط بنویسی که همان کار رو بکنه
مطلب بسیار مفیدی بود. به نظرم زبان جاوا اسکریپت الان متقاضی زیادی دارد
دوستان ممنون میشم اگه کسی کلاس یا معلمی یا کتابی برای آموزش کد نویسی داره با من هم در میون بذاره.
سلام دوست عزیز سایت درسمن دوره رایگان داره میتونید استفاده کنید.آموزش ها از صفر تا پیشرفته هست
یه سوال داشتم!
من میخام از زبان برنامه نویسی برای انجام محاسبات استفاده کنم. یعنی یه برنامه بنوسیم که یک سری محاسبات رو هزاران بار انجام بده (الگوریتم ژنتیک و …) قبلا این کار رو با دلفی و متلب در محیط ویندوز انجام دادم.
مسالهای که هست اینه که الان من با کامپیوتر مکینتاش(اپل) کار میکنم.
میخاستم ببینم کدوم زبانهای برنامه نویسی روی سیستم عامل مک نصب میشه تا بتونم برنامه نویسی کنم؟
با سپاس
سی و سی پلاس پلاس و جاوا و پایتون و PHP رایگان و اوپن سورس هستند و روی همه سیستم ها نصب می شوند
و پیشنهاد می کنم برای یاد گیری هرچه قوی تر تر تیب زیر رو رعایت کنید
۱. C چون پدر همه زبان های برنامه نویسی محصوب میشه و تمام زبان ها بر پایه اون نوشته شده اند و اگر شما این زبان رو به خوبی یاد بگیرید درک خوبی از الگوریتم برنامه ها خواهید داشت و یاد گیری یک زبان جدید برای شما اسان خواهد بود و اینم بگم که تقریبا تمام سیستم عامل ها با دو زبان C و C++ نوشته شده اند.
2. سی پلاس پلاس چون نسخه پیشرفته و شی گرای C هست و خیلی قدرتمند هستو با یادگیری این زبان مفهوم شی گرایی رو عمیقا درک خواهید کرد.
3. این مرحله با فرض اینکه شما پیش زمینه قوی و دید بازی نسبت به برنامه نویسی دارید بستگی به شما دارد که براساس علاقه و نیاز و شغل شما متفاوت خواهد بود ولی پیشنهاد من زبان برنامه نویسی قدرتمند و محبوب جاوا هستش شما با یادگیری جاوا کاری نیست که نتونید انجام بدید طراحی وب سایت و برنامه های سیستم ، برنامه های سازمانی برنامه نویسی برنامه های اندروید و…
بهترین مرجع شما هم اینترنت خواهد بود ولی کتاب های برادران دایتل هم خوبه
فک کنم matlab بهتر باشه واسه شما
سلام. به شما پیشنهاد میکنم که مقاله “۹ زبان برنامهنویسی محبوب که ارزش یادگرفتن دارند” را مطالعه کنید.
احتمالا باید بگردی و کامپایلر متناسب با زبونی رو که میخوای باهاش کار کنی رو برای مک پیدا کنی که فکر نکنم کار سختی باشه. اول تحقیق کن ببین کدوم زبون بدردت میخوره چون پیدا کردن کامپایلر کار زیاد سختی نیست! زبان هایی مثل c , c++ و java تقریبا میشه گفت توی همه ی سیستم عامل ها پشتیبانی میشن.
باید دنبال محیط توسعه (IDE ) ایی باشی که روی مک نصب بشه ، و اینکه این محیط توسعه از چه زبان هایی پشتیبانی میکنه
مثل : Atom ، UltraEdit ، NetBeans که روی ویندوز و مک قابل استفاده اند
به نظر من پایتون هم خیلی سبک هم خیلی راحت و بدون دردسره برای کار شما
مطلب بسیار مفیدی بود ولی بیشتر بدرد کاربران خارج از ایران میخوره
انتخاب زبان برنامه نویسی برای کسانی که تازه میخواهند در این راه قدم بگذارند یک سوال بی پاسخ شده
امیدوارم در نظرات کاربران اشاره و توضیحاتی به انتخاب زبان برنامه نویسی در داخل ایران بشه تا از تجربیات انها نیز بهره مند شویم .
هر زبان برنامه نویسی رو کامل یاد بگیرید براتون کار هست
مطمئن باشید
از این شاخه به اون شاخه نپرید
یک زبان رو کامل یاد بگیرید
در دانشگاهای ایران و رشته مهندسی نرم افزار چه زبان های برنامه نویسی آموزش داده می شود؟
تا اونجایی که من میدونم توی مدارس ویژوال بیسیک البته تا چند سال پیش الان رو نمی دونم
ولی توی دانشگاه سی پلاس پلاس ، C# و وب هم HTML , CSS و ASP
البته بسته به رشته شما متفاوت خواهد بود اینایی که گفتم مخصوص بچه های کامپیوتر هست
بچه های برق AVR که همون C هستش رو می خونن
البته شنیدم توی دانشگاه های تاپ ایران بیشتر رویC و سی پلاس پلاس و جاوا تمرکز میکنند
متاسفانه توی مدارس هنوزم ویژوال بیسیک ۶ آموزش داده میشه، از اون بدتر اینه که توی خیلی از دانشگاه ها هم ویژوال بیسیک ۶ شنیدم آموزش میدن!
وضعیت آموزش برنامه نویسی و مهندسی نرم افزار در دانشگاه های ایران به شکلیه که میشه گفت هیچ چیز آموزش نمیدن و وقت دانشجوها رو تلف می کنند، همه ی دانشگاه ها مثل هم نیستند اما هیچوقت کسی با آموزش های دانشگاهی ایران برنامه نویس نشده، نه به این دلیل که برنامه نویسی نیاز به ابتکار و کسب تجربه داره( البته که نیاز به تجربه داره) ، اما به این دلیل که نباید مهارت برنامه نویسی برای عموم فراهم باشه! مثل رشته های علوم انسانی: جامعه شناسی، فلسفه … ! مشکلات سیستم آموزشی و بینش درست و برنامه ریزی رو به این اضافه کنیم ، چیزی که حاصل میشه افتضاحه .
با این حال مسئاله مهم تری هم ست که نباید از دانشگاه انتظار داشت که آموزش های برنامه نویسی به دانشجوها توانایی نوشتن برنامه هایی مثل اپ اندروید یا آی او اس رو بده! خیلی ها چنین تصوری دارن که اشتباه! دانشگاه باید “مهندسی نرم افزار” رو یاد بده ، همونطور که اسم این رشته همینه ، از نظر دانشگاهی نرم افزار با برنامه و اپلیکیشن متفاوته
در دانشگاه معمولن برنامه نویسی رو با یه زبان سطح بالا شروع می کنند که نوشتن برنامه ( نحو و دستورات زبان برنامه نویسی به محاوره نزدیک تر باشه) و پیاده سازی الگوریتم ها راحتر باشه مثل پاسکال، در ترم های بعد زبان های پایه c آموزش میدن.
اما دانشگاه ها باید بطور جنبی یا فوق برنامه آموزش همه ی زبان های رایج رو در نظر بگیرن و این امکان وجود داشته باشه هر دانشجو هر زبانی که مایله رو یاد بگیره تا اون مهندسی نرم افزاری که داره بهش آموزش داده میشه رو روی زبانی که خودش انتخاب کرده پیاده سازی کنه .
در زبان های سطح بالا خانواده c و در زبان های سطح پایین هم اسمبلی تدریس میشه.
مطلب بسیار مفیدی بود، ممنون.
کاش آماری هم تعداد برنامه نویسانی که از هر زبان استفاده میکنند ارائه می شد، و هم چنین پروژه ها و مشتری های هر زبان، که درک بهتری از بازار اون ایجاد بشه . طبیعیه وقتی زبانی، برنامه نویس کمتری داشته باشه دستمزد بیشتری برای برنامه نویسانش در نظر گرفته بشه . یا وقتی ناسا از پیتون استفاده میکنه ، برنامه نویس های ناسا دستمزدی متناسب با اهمیت کار در ناسا دریافت کنن.
محیط توسعه و پشتیبانی که برای هر زبان وجود داره هم نقش مهمی داره ، بعضی وقت ها آموزش هایی که در قسمت help برنامه و انجمن های تخصصی که برای یک IDE خاص وجود داره، برنامه نویس رو از جست و جو در اینترنت بی نیاز میکنه مثل microsoft msdn
مطلب جالبی بود.
ولی واسه ایران این آمار فایده ای نداره
توی ایران کسی متخصص در یک زمینه نمیخواد.وقتی میرید واسه مصاحبه انتظار دارن ۴-۵ تا زبون بلد باشی.
به قول یکی از دوستام علم ایرانی ها مثل یه دریای کم عمقه.علم خارجی ها مثل یه چاه عمیق.از همه چی میدونیم و هیچی نمیدونیم! ولی بقیه جاهای دنیا یه زبون و یاد میگیرن تا تهش میرن جلو.
در کل تا وقتی حق کپی رایت وارد این مملکت نشه برنامه نویسی جایگاهی نداره.
چند وقت پیش دیدم یه سایتی آگهی استخدام زده بود که به برنامه نویسی احتیاج داره که تسلط در این موارد داشته باشه(لیستو کپی کردم همین الان)
Object Oriented، JAVA، SDK و Data Structure ,C# ،WPF
Framework Scrum، Eclipse، Android Studio، XCode، Design Patterns، Microsoft SQL Server و T-SQL,LINQ،ASP.Net MVC، HTML5، CSS3، JavaScript، JQuery
قضاوت با خودتون.
تا وقتی برنامه نویسی توی ایران به این مفهوم هست که یه نفر کل پروژه رو انجام بده هیچی نمیشیم.
درود و سپاس . مطلب بسیار مفید و آموزنده ایی بود .