تقریبا هر روز اینطور سوالاتی از من پرسیده میشه:
- برای شروع برنامه نویسی کدام زبان بهتره؟
- بهترین زبان کدنویسی کدومه؟
- میخوام برنامه نویس بشم؛ چه زبانی یاد بگیرم؟
و پرسش هایی از این دست. احتمالا شما هم که الان این مقاله را می خوانید دنبال پاسخ این سوال، وارد این صفحه شده اید. امیدوارم بتونم در چند دقیقه آینده، برای روشن شدن موضوع کمک تان کنم.
مساله از جایی شروع میشود که بیشتر افراد تصور میکنند باید این سوال یک پاسخ واضح و مشخص داشته باشد! اما بیشتر اوقات جواب دادن به این سوال به این سادگی ها هم نیست. باید حوصله کنیم.
معمولا این سوال از طرف دو دسته از دوستانم مطرح میشه. اول، دوستانی که اصلا آشنایی با برنامه نویسی ندارند و تازه می خواهند شروع کنند. دوم، دوستانی که کمی با دنیای کدنویسی آشنا هستند اما مطمئن نیستند چکار میکنند.
1. من هیچ تجربه ای ندارم:
بهترین زبان برنامه نویسی برای تازه کارها کدام است؟
با کمال احترام باید بگویم هیچ زبانی! اگر شما قبلا حتی یک خط کدنویسی نکرده اید و در این موضوع مطالعهای نداشتهاید، سوال اشتباهی در زمان اشتباهی، میپرسید.
اولویت مهمتر برای یک تازه وارد، قبل از انتخاب زبان برنامه نویسی، این است که روی "مبانی برنامه نویسی" مطالعه کند. و البته هر آنچه که برای درک "مبانی" می تواند لازم باشد؛ مثلا کمی ریاضی (در حد دبیرستان).
شما قبل از درک مفاهیمی مثل متغیر، ثابت، آرایه، تابع، کلاس و... چندان آماده ورود به دنیای برنامه نویسی نیستید. البته میتوانید پابرهنه وارد شوید، اما تا مدتها اذیت خواهید شد (البته اگر فراری نشوید) 🤪
پس بهتر است نردبان را پله پله بالا بیایید تا مجبور نباشید چند مرتبه همان نردبان را بالا بیایید!
پس از مطالعه و درک مفاهیم اولیه و مبانی برنامه نویسی، شما آماده پرسیدن "این سوال" هستید.
2. من کمی مطالعه داشته ام؛ من دانشجوی کامپیوتر ام؛ من رشته IT خوانده ام؛ چند واحد درس برنامهنویسی پاس کردهام؛ مدتی آموزش دیده ام؛ کمی از یوتوب ویدیوی کدنویسی دیدم:
بهترین زبان برنامه نویسی برای شروع کدام است؟
مجبورم مجددا تاکید کنم😔 خودتان بهتر از هر کسی دیگر می دانید که چقدر بر مبانی و مفاهیم پایه ای مسلط هستید. نکته مهمی است که قبل از مطالعه مبانی و مفاهیم پایه، پیگیرِ ادامه کار نشوید.
هیچ نوزادی یکهو بلند نشده راه بره! اولش یه مدتی فقط "دَمَر" می افته و هِن هِن می کنه 😊
عجله نکنید، هیچکس یک شبه دولوپر نمیشه، و این خیلی خوبه!
مبانی برنامه نویسی را از کجا یاد بگیرم؟
اینترنت بزرگترین و به روزترین منبع و مرجع برای یادگیری برنامه نویسی می تواند باشد. از سایت هایی مثل "فرادرس" می توانید دوره هایی با عنوان "مبانی برنامه نویسی" را پیدا کنید.
کتابها و جزوه های "مبانی برنامه نویسی" هم با کمی جستجو پیدا میشه! من لینکی برای دانلود نخواهم داد تا تمرینِ سرچ هم بکنید. "جستجوی خوب" یکی از ارکان برنامه نویسِ خوب شدن است. از همینجا تمرین کنید 😎
پس حالا که همگی کمی مطالعه داشته ایم و "مبانی" را می دانیم، برویم سر اصل مطلب:
بالاخره کدام زبان؟
در نگاه اول، زبان های برنامه نویسی "سطح بالا" به دلیل سادگی ساختاری (سینتکس) و نزدیکی به زبان انسانی، گزینههای بهتری برای شروع یادگیری برنامه نویسی می توانند باشند. زبانهایی مثل جاوااسکریپت و پایتون.
و یا با نگاهِ درآمدی، می توان گفت در بازار کار ایران (استخدامی ها) فضا و شانس بیشتری برای دولوپرهای ASP.net و خصوصا سی شارپ وجود دارد.
در منابع زیادی ممکن است به "پایتون" به عنوان بهترین زبان برای شروع کدنویسی برخورد کنید. دلایل اصلی دوستداران این زبان، می تواند سادگیِ ساختاری (Syntax) و راهنمای جامع آن باشد.
در این صفحه میتوانید نتایج نظرسنجی 2019 استکاورفلو (که یکی از جامعترینهاست) را ببینید که بخشی از آن مربوط به تعداد طرفداران فناوریها و زبانهای برنامه نویسی است.
اما موضوع به همین سادگی ها نیست. زبان های برنامه نویسیِ مختلف، کاربردهای متعددی دارند.
هر زبانی شخصیت و دنیای خاصی دارد با مزایا و معایب خودش.
در ضمن، انسان ها هم شخصیت، روحیات و استعدادهای متفاوتی دارند. اگر شنیده اید زبانی خوب است، این نمیتواند لزوما برای "شما" هم خوب باشد.
اگر بخواهیم معیارهای اصلی برای انتخاب زبان برنامه نویسی را ارائه کنیم:
- 1. معمولا افراد اولویت را به بازارِ کار و درآمد میدهند
- 2. ببینید متخصصان، افق بلند مدت برای این زبان را چگونه ترسیم میکنند
- 3. یادگیری این زبان خاص، چقدر سخت یا آسان است
- 4. مهمتر از همه؛ با این زبان خاص، چه کار میکنید، چه برنامه ها و ابزارهایی می توانید بسازید (که علاقمندید بسازید، دنیا را زیبا و دیگران را خوشحال کنید، تا در این مسیر نه چندان آسان، انگیزه بگیرید)
میبینید؟ نمیتوان به پاسخی قطعی و همیشگی برای این سوال رسید.
از کجا می توانیم شروع کنیم؟
برنامه نویسی صرفا انتخابِ یک زبان خاص، و تلاش برای فهمیدن ساختار و یادگرفتن استانداردهایش نیست. اگر میخواهید دِوِلوپر (Developer) شوید و هنوز مطمئن نیستید از کجا شروع کنید، من به شما میگویم:
از آخرش شروع کنید! دقیقا آخرش کجاست؟
ببنید میخواهید چه بسازید یا داشته باشید.😊
لطفا قبل از اینکه بدانید چه انتظاری از خودتان و برنامه نویسی تان دارید، درگیر هیچ زبانی نشوید.
اینطوری معیار و هدف اصلی خودش را به شما نشان خواهد داد؛ مثلا:
- میخواهید "بازی موبایل" بسازید؟
پس شروع کنید به جستجو و آشنایی با برنامه نویسی برای موبایل؛ خیلی زود کشف میکنید بهترین زبان کدام است. - میخواهید "وبسایت" یا "وب اپ" بسازید؟
پس روی "برنامه نویسی و طراحی وب" متمرکز شوید. - می خواهید "حقوق" بگیرید و "شغل" داشته باشید؟
پس ببینید کدام زمینه ها بیشترین بازار کار را دارد که یادگیری اش هم آسان باشد! - شاید هم بخواهید "مهاجرت" کنید.
در این صورت به ترندهای جهانی توجه کنید و ضمنا بسته به نوع مهاجرت و تقاضای بازارِ مقصد میتوان به موضوع نگاه کرد. - شاید میخواهید صرفا "پول" بسازید؟!
شرمنده ام؛ مسیر را اشتباه آمده اید، در این مورد کمکی از من ساخته نیست!
بازیهای کامپیوتری، اپلیکیشنهای موبایلی، میکروکنترلرها، تحلیل داده، هوش مصنوعی، امنیت، بیگ دیتا، انیمیشن و... زمینه های دیگری هستند که ممکن است هدف شما باشند. برای هدف، به اندازه کافی بررسی و فکر کنید.
ممکن است به شما بگویند که مهم نیست در زمان یادگیری با چه زبانی کد میزنید؛ بله اگر عمر نوح دارید مشکلی نیست! در غیر اینصورت بهتر است کمی بیشتر دقت کنید تا انرژی و عمرتان را در راستای هدفی مشخص و مفید هزینه کنید.
تقریبا همه مان در دوران مدرسه و دانشگاه چند واحد درسی به زبان های "بیسیک" و یا "پاسکال" کدنویسی کرده ایم که هیچوقت به کارمان نیامد! 🙄
اگر بی هدف شروع کنید، مثل این است که یک زبان خارجی دارید یاد میگیرید که مطمئن نیستید مربوط به کدام کشور است؛ یا آیا اصلا کسی در دنیا به آن زبان صحبت میکند؟!
اگر بی هدف باشید، با انتخابهای رنگارنگِ فراوان، سردرگم میشوید.
موضوع مثل مسافرت است؛ با توجه به انتظارات، اهداف، امکانات و علایق شخصی مان اول مشخص می کنیم کجا می خواهیم برویم، بعد درباره مسیر، وسیله و جزئیاتش تصمیم میگیریم.
زبان های برنامه نویسی، هدف نیستند؛ ابزارهایی هستند که به ما اجازه می دهند چیزهایی که میخواهیم (یا دیگران از ما میخواهند) را بسازیم!
جمع بندی
انتخاب زبان برای شروع یادگیری برنامه نویسی، جواب مشخص و جهان شمول ندارد. لطفا قبل از طرحِ این سوال، کمی روی مبانی برنامه نویسی زمان بگذارید. بعد بسته به شرایط، معیارها، انتظارات و نیز شخصیت خودتان، انتخاب زبان خاصی می تواند برایتان بهتر از بقیه باشد. اگر اهداف و علاقمندی های خود را مشخص کنید، انتخاب زبان اصلا چالش سختی نخواهد بود.
در این مقاله سعی کردم مشکل اصلی را روشن کنم و مقایسه فنی زبانهای کدنویسی و انتخاب را به خودتان میسپارم؛ شما با کمی تلاش راهتان را پیدا خواهید کرد. اگر همچنان فکر می کنید ابهامی باقیست بپرسید. سعی میکنم در حد توان پاسخ بدهم.
توضیحات عالی بود، کمتر جایی به این خوبی گفته ان، به خصوص یه نکته که شما بهش تاکید کردید را من یه بار دیگه تایید و تاکیید می کنم و اون این که، حتما مبانی را ابتدا خوب یاد بگیرید سپس برید سراغ کدنویسی، من خودم استادم در دانشگاه از روز اول رفت سر کد نویسی بدون هیچ گونه اشاره به مبانی، همین باعث شد از اول نه چیزی دیگه درست یاد بگیرم و هم از برنامه نویسی زده بشم، در صورتی که دوستان دیگرم که با اساتید دیگه داشتن و روی مبانی خوب مسلط شده بودن،هم از نظر تحصیل و هم از نظر شغل خیلی موفق شدن، بازم ممنونم
درود بر شما / متشکرم مهندس
ممنون از راهنمایی خوبتون.
من سایت های زیادی رو بررسی کردم هیچ کدام به مختصری و مفیدی شما توضیح نداده بودن! پرچمتون بالاس
متشکرم؛ نظر لطف شماست
بسیار عالی...ممنون
واقعا توضیحات عالی بودن.
خیلی هم صبورانه راهنمایی میکنن متشکرم
🙏🌼 ممنونم
خیلی خوب و مختصر توضیح داده بودین و توضیحاتتون رو محدود نکرده بودید
موفق باشید
ممنونم، شما هم موفق باشین🌹
به نظر من بهترین زبان html ,css است...
البته موضوع این مقاله "زبان برنامه نویسی" بوده و همانطور که می دانید HTML و CSS زبان های نشانه گذاری و استایل شیت هستند.
اگر هدف شما طراحی و توسعه وب باشد، با HTML , CSS می توانید شروع کنید.
سلام روزتون بخیر، ببخشی یک سوال داشتم، من زبانهای HTML , CSS رو از سایت freecodecamp و یوتویوب یادگرفتم،الان زبان جاوااسکریپت رو که شروع کردم قسمت یادگیری الگوریتمها برام خیلی گیج کننده شده. نمیدونم باید از کجا بهتر یادبگیرم. ممنون میشم راهنماییم کنید
کمی روی مبانی برنامه نویسی از جزوه های دانشگاهی یا ویدیوهای آموزشی، وقت بگذارید
سلام،روزتون بخیر ببخشید یک سوال داشتم بنده علاقه خاصی به طراحی وب دارم ولی دقیقا نمیدونم باید از کجا شروع کنم برای یادگیری.
از چندین نفر پرسیدم و گفتن باید با زبان پایتون شروع کنم تا بتونم درک کاملی از کد نویسی داشته باشم
و الان واقعا نمیدونم باید از کجا و چجوری شروع کنم
و الان که مقاله شمارو خوندم تا حدی برام واضح شد واقعا خوب و مفصل توضیح دادید.
ممنون میشم اگه بندرو راهنمایی کنید
خوشحالم که این نوشته کمکتون کرده.
طبق آنچه که گفته شده و با حوصله، شروع کنید به یادگیری و تمرین مستمر.
سلام من میخاستم توی طراحی وب دولوپر بشم ولی نمیدونم چه زبانی و به چه ترتیب بخونم . شما میتونید کمکی کنید؟
درود به شما.. همانطور که اشاره شد، ابتدا با مبانی برنامه نویسی شروع کنید دوست عزیز 🧐