شروع برنامه نویسی; انتخاب بهترین زبان مناسب برای من


شروع برنامه نویسی; انتخاب بهترین زبان مناسب برای من

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


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

در هنگام شروع یادگیری برنامه‌نویسی همیشه سوالات متفاوتی مطرح است که برخی از آنها در زیر آورده شده:

بهترین و قویترین زبان برنامه‌نویسی چیست؟

بازارکار کدام زبان بهتر است؟

چقدر زمان میبره تا یک زبان را یاد بگیرم؟

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

و...

در ابتدا لازم است متوجه باشیم که اساساٌ زبان برنامه‌نویسی بهتر یا بدترِ مطلق نداریم، اما میتوان زبانِ مناسب برای یادگیری انتخاب کرد که قطعاً باید با ملاک‌های شخصی شما مغایرت نداشته باشد. 

توضیحاتی در مورد زبان‌های برنامه‌نویسی:

یک‌سری از زبان‌ها چندسکویی (CrossPlatform) هستند. به این معنی که می‌توان برای بسترهای متفاوتی برنامه‌‌نویسی کرد. مانند زبان برنامه‌نویسی جاوا (Java) که به کمک آن  می‌توان برای ویندوز، مک، لینوکس، اندروید و وب برنامه‌نویسی کرد. ولی برنامه‌نویسی برای سیستم‌های مختلف به این سادگی‌ها هم نیست و تقریباً برای هر بستر (Platform) نیاز به مهارت‌ِ خاصی است.

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

بعضی از زبان‌ها متخص وب هستند مانند زبان برنامه‌نویسی PHP و بعضی مختص سیستم عاملی خاص.

چارچوب‌های برنامه نویسی با زبان برنامه‌نویسی متفاوت هستند و به اشتباه بعضی از چارچوب‌ها، زبان برنامه‌نویسی خطاب میشوند مانند ASP.Net

بررسی ویژگی‌های زبان‌های مختلف:

جاوا | Java

یک زبان برنامه‌نویسی چند منظوره است که در سال 1995 عرضه شد. جاوا یک زبان برنامه‌نویسیِ شیءگرا است و در سال 2015 میلادی جاوا محبوب‌ترین زبان نزد برنامه‌نویسان جهان شناخته شد. این زبان شبیه به ++C است اما مدل شیءگرایی آسان‌تری دارد و از قابلیت‌های سطح پایین کمتری پشتیبانی می‌کند. یکی از قابلیت‌های بنیادین جاوا این است که مدیریت حافظه را بطور خودکار انجام می‌دهد. ضریب اطمینان عملکرد برنامه‌های نوشته‌شده به این زبان نسبت به زبانهای نسل اول C بالا است. برنامه‌های جاوا به صورت بایت کد (کامپایل) می‌شوند و توسط JVM (ماشین مجازی جاوا) به کدهای ماشین تبدیل و اجرا می‌شوند. در صورت وجود JVM مانند سایر زبانهای مبتنی بر آن که وابسته به سیستم‌عامل خاصی نیستند برنامه های نوشته شده به جاوا بر روی هر نوع سیستم عامل و هرگونه وسیله ی الکترونیکی قابل اجرا می‌باشند.

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

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

جاوا اسکریپت | Java Script

ابتدا به این نکته توجه داشته باشید که جاوا اسکریپت و جاوا هیچ ارتباطی باهم ندارند و جاوا اسکریپت در واقع یک زبان اسکرپیت‌نویسی است که همه‌ی مرورگرها از آن پشتیبانی می‌کنند. 

JavaScript یک زبان اسکریپت‌نوسیِ شی گرا و سطح بالا است. فریم ورک‌های بسیاری برای این زبان طراحی شده است مانند جی کوئری (JQuery) و آنگولار جی اس (AngularJS). کاربرد جاوااسکریپت در سایت‌ها و صفحات اینترنتی است، بنابراین یادگیری جاوا اسکریپت مستلزمِ یادگیریِ یکسری استاندارد‌ها و ویژگی‌های وب است و شما نیاز به یادگیری سطحی HTML و CSS خواهید داشت.  

سی پلاس پلاس | ++C

سی پلاس پلاس جانشینی برای زبان برنامه‌نوسیِ سی به شمار می‌رود که اساسا برای تعیین عملیات و انجام وظایف توسط کامپیوتر ساخته شده است. زبان برنامه‌نویسیِ سی پلاس پلاس شیءگرا، سطح بالا و چندرگه است.
در حال حاضر از سی پلاس پلاس (++C) در برنامه‌نوسی سمت سرور، بازی‌های ویدیویی، برنامه‌نویسی سیستمی و درایورها استفاده می‌شود.
C++ اهداف بیشتری را نسبت به C پوشش می‌دهد. بطوریکه باید به عنوان یک زبان مجزا آموزش داده شود. برای یادگیریِ این زبان نیازی به یادگیری زبان C بعنوان پیش نیاز نمی‌باشد. 

پی اچ پی | PHP

زبان مورد علاقه‌ی بسیاری از توسعه‌دهندگان وب است. این زبان مختص وب است و فقط می‌تواند توسط توسعه دهندگان وب مورد استفاده قرار می‌گیرد. کدهای پی اچ پی توسط یک وب سرور که نرم‌افزار پی اچ پی روی آن نصب شده است، تفسیر می‌شود.
PHP نسبت به روزهای اولیه خود، تغییرات اساسی داشته است و برنامه زمانی دقیقی برای آن طراحی شده است؛ به این صورت که هر نسخه از این زبان تا سه سال پشتیبانی می‌شود، تا دو سال تمامی به‌روزرسانی را دریافت می‌کند و در سال سوم فقط به‌روزرسانی‌های امنیتی برای هر نسخه از آن ارائه می‌شود.
این زبان در حال حاضر یکی از رایج ترین زبان‌های توسعه وب به شمار می‌رود و رقابتی بین این زبان و ASP.Net مایکروسافت برقرار است.

اِی اِس پی دات‌نِت | APS.Net

APS.Net یک چارچوب کاربردی برای وب است که توسط شرکت مایکروسافت عرضه شده تا برنامه نویسان بتوانند برای ساخت وب سایت‌ها، برنامه‌ها تحت وب پویا، سرویس‌های وب و سرویس‌های XML از آن استفاده کنند. ASP.Net یک چارچوب است و نمی‌توان گفت یک زبان برنامه‌نویسی مجزا می‌باشد. هسته سیستم‌هایی که با ASP.Net تولید می‌شوند میتواند با زبانهای مختلف مانند VB و #C نوشته شده باشد بنابر این یادگیری یکی از این زبان‌ها و فراگیریِ ASP.Net میتواند شما را به یک توسعه دهنده وب تبدیل کند.

سی شارپ | #C

سی شارپ یک زبان یک زبان‌ همه فن حریف است که برپایه مدرن بودن، سادگی، شیءگرایی و همه منظوره بودن ساخته شده است، و برای ساخت طیف گسترده‌ای از برنامه‌ها مورد استفاده قرار می‌گیرد.
سی شارپ (#C) توسط شرکت مایکروسافت طراحی شده است و بسیاری از محصولات حرفه‌ای سیستم‌عامل ویندوز که کاربران همه روزه از آنها استفاده می‌کنند، با این زبان پیاده سازی شده است.
شما با یادگیریِ سی شارپ نه تنها برای ویندوز بلکه برای مک و چندین توزیع محبوب لینوکس (به واسطه‌ی Net Core.) برنامه نویسی کنید. با پشتیبانیِ فوق‌العاده‌ی مایکروسافت از سی‌شارپ و ابزارات مختلف این شرکت شما می‌توانید با استفاده از این زبان برای سیستم عامل‌های اندروید (Android)، ویندوز موبایل (Windows Phone) و آی‌ اُ اِس (IOS) برنامه‌نویسی کنید. زبان #C، زبان اصلیِ هسته اکثر وبسایت‌های مطرح دنیا است که یکی از آنها که هر روزه توسط برنامه‌نویسان استفاده می‌شود StackOverFlow است. بنابر این دنیای گسترده‌ی وب نیز در تسلط این زبان گنجانده می‌شود.

پایتون | Python

پایتون یک زبان همه منظوره و سطح بالا است. این زبان در اواخر دهه 80 (میلادی) طراحی شده است. پایتون از جمله زبان‌های برنامه‌نویسی قدرت‌مندی است که توانایی ورود به حوزه‌های مختلفی هم‌چون محاسبات علمی را دارد. 
لازم به ذکر است که در ساخت سیستم‌های بزرگی مانند دراپ‌باکس و یوتیوب از زبان برنامه‌نویسی Python استفاده شده است. پایتون همچنین استفاده وسیعی از صنعت ایمنی اطلاعات می‌کند. مثلاً در چندین ابزار پیشنهاد شده توسط تأمین امنیت و امنیت مرکزی و اسکنر امنیت کاربردی وب واپیتی. پایتون معمولاً در توسعه کاربرد مورد استفاده قرار می‌گیرد.

رابی | Ruby

رابی یک زبان برنامه‌نویسی انعطاف‌پذیر، پویا و شیءگرا است که در اواسط دهه 90 (میلادی) در ژاپن طراحی شد. این زبان فرصت‌های شغلی خوبی را برای برنامه‌نویسان به وجود آورده است. امروزه بسیاری از برنامه‌های کاربردی وب، سرویس‌های ذخیره‌ساز ابری، شبکه‌های اجتماعی و تجارت الکترونیک با استفاده از این زبان ساخته شده است.
سینتکس رابی بسیار شبیه سینتکس پایتون است. رابی دو پیاده‌سازی اصلی دارید: مفسر رسمی روبی که بیشتر مورد استفاده قرار می‌گیرد، و JRuby که یک پیاده‌سازی براساس جاوا است.

به نظر شما کدام زبان در حال حاضر محبوبیت بیشتری را در ایران دارد؟ آیا رقابتی که بین PHP و ASP.Net برقرار است با پیروزیِ مطلق یکی از این دو همراه بوده است؟

اگه این موضوع مسئله‌ی شما هم هست، پیشنهاد می‌کنیم مطلب زیر را مطالعه کنید:

PHP یا ASP آیا واقعا مسئله این است!؟


شروع برنامه نویسی; انتخاب بهترین زبان مناسب برای من
4.4/4
4.4
41
5
1

برای استفاده از تمامی امکانات وارد شوید

ارسال دیدگاه

دیدگاه ها

assemblyos

|

1396/7/16

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

پاسخ به این دیدگاه
انصراف

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

حسین تابان | 1396/7/16

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

مجید هوشیار | 1396/7/16

سلام دوست عزیزبنظرم زبان اسمبلی برای شروع یه فرد به دنیای برنامه نویسی اصلا مناسب نیستدرسته که با این زبان میتونیم بهتر اصول رو درک کنیم ولی برای فردی که شروع میکنه یک زبان سطح پایین بدترین چیز ممکن میتونه باشه !بعد چند مدت کار کردن هم ناامید میشه برای ادامه..

مهدی درویشی | 1396/11/29

assemblyos

|

1396/8/18

سلاماسمبلی یک زبان همه منظوره است . قدرتمندترین و منعطف ترین زبان برنامه نویسی جهان است . برنامه نویس زبان اسمبلی مطلقا به زبانهای سطح بالا هیچ نیازی ندارد . من هرگز به زبانهای سطح بالا سوئیچ نمیکنم . چون اسمبلی به من قدرت بی نهایت میده .

پاسخ به این دیدگاه
انصراف

به نظرم شما اول سطح علمی تون و ببرید بالاتر بعد نظرات زیبا بدهید. الان با این جمله "چون اسمبلی به من قدرت بی نهایت میده ." من حس میکنم شما بتمن هستید

علی متقیان | 1396/8/21

imgurl

|

1396/12/4

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

پاسخ به این دیدگاه
انصراف
amirozerobit

|

1396/12/6

سلام خدمت شما من میخوام تازه یاد بگیرم به برنامه نویسی حوزه فعالیتمم مشخص کردم وب و موبایل حالا اولین قدم از کجا شروع کنم و با چی شروع کنم ؟؟؟ ممنون میشم راهنمایی کنید با تشکر

پاسخ به این دیدگاه
انصراف

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

مجید هوشیار | 1396/12/7

بعد از اشنایی اولیه ابتدا html و css را آموزش ببینید سپس به سمت js بروید و شروع به فراگیری react کنید. دنیای بزرگی پیش روی شماس و باید آماده چالش های جذاب و پیچیده باشید. البته این یک نظر هست و هیچ باید و نباید وجود ندارد حتما تحقیق کنید و بعد شروع به یادگیری یک زبان نمائید.

مجید هوشیار | 1396/12/7

amir96

|

1399/9/5 -

سلام من امیرم تازه با دنیای برنامه نویسی اشنا شدم عاشقشم ولی نمیدونم از کجا شروع کنم کدوم زبانو امتحان کنم و چیکار کنم میشه راهنماییم کنید

پاسخ به این دیدگاه
انصراف