چگونه برنامه نویسی یاد بگیریم



visibility  
mode_comment   ۲

<a href=برنامه نویسی" width="1000" height="450" srcset="https://s.7learn.com/uploads/2019/02/banner-1.jpg 1000w, https://s.7learn.com/uploads/2019/02/banner-1-768x346.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" />

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

مسیر یادگیری برنامه نویسی

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

قدم اول: آشنایی با الگوریتم

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

قدم دوم: انتخاب یک زبان برنامه نویسی ساده

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

زبان برنامه نویسی Scratch

اسکرچ

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

کاربرد:

  • آموزش برنامه نویسی به کودکان

مزایا:

  • راحتی یادگیری
  • یادگیری مفاهیم اصلی برنامه نویسی
  • جذابیت

معایب

  • کاربرد نداشتن در دنیای کار

زبان برنامه نویسی js

برنامه نویسی

زبان برنامه نویسی js یا جاوا اسکریپت به عنوان یک زبان برنامه نویسی پرکاربرد یکی از گزینه های بسیار مناسب برای کسانیه که تازه وارد دنیای برنامه نویسی شدن. با js می تونی برای وب، موبایل و دسکتاپ برنامه بنویسی. به علاوه زبان js یک زبان برنامه نویسی ساده و سر راسته و آینده خوبی هم براش دیده میشه.

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

کاربرد:

  • برنامه نویسی وب
  • برنامه نویسی اپلیکیشن
  • برنامه نویسی دسکتاپ
  • برنامه نویسی بازی

مزایا:

  • سادگی
  • کاربرد زیاد

معایب

  • شی گرایی غیر استاندارد
  • سختی در دیباگ

زبان برنامه نویسی python

برنامه نویسی

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

کاربرد

  • برنامه نویسی وب
  • برنامه نویسی دسکتاپ
  • هوش مصنوعی

مزایا

  • پرکاربرد بودن
  • رایگان و متن باز بودن

معایب

  • پیچیدگی نسبی

زبانی که خودم برای شروع انتخاب کردم

بیاید یکم صادق باشیم! مزایای زیادی برای تمام زبان های برنامه نویسی بالا به علاوه سایر زبان های برنامه نویسی که دیگران برای شروع معرفی می کنن وجود داره. اما من با زبان HTML وارد دنیای برنامه نویسی شدم. HTML یک زبان برنامه نویسی محسوب نمیشه و یک زبان Markup یا نشانه گذاریه ولی به هر حال زبان ساده ایه که دری به روت باز می کنه. بعد از یادگیری HTML من اونقدر ذوق زده بودم که جدول های مختلفی که مدرسه بهشون احتیاج داشت رو با HTML می ساختم و بعد اون هارو به نرم افزار Word منتقل می کردم.

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

برنامه نویسی

قدم سوم: نوشتن کدهای ساده

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

قدم چهارم: یادگیری مفاهیم پایگاه داده

پایگاه داده

پایگاه های داده بستر هایی برای ذخیره اطلاعات هستن. اطلاعاتی مثل اطلاعات مشتری ها، کاربران، محصولات و حتی تنظیمات خاصی از برنامه می تونن در اون ها ذخیره بشن. توی اکثر برنامه های کامپیوتر از یک پایگاه داده استفاده میشه. بنابراین برای نوشتن برنامه های سطح بالاتر، لازمه مفاهیم پایگاه داده و زبان های ارتباط با اون مثل mySql  رو یاد بگیری.

قدم پنجم: نوشتن برنامه های پیچیده تر

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

برنامه نویسی

قدم ششم: پیدا کردن تکنولوژی های جدید و ابزار ها

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

قدم هفتم: کار روی پروژه های دیگران

چه برای حرفه ای تر کردن خودت و آشنایی با چالش ها و چه برای معرفی خودت به دیگران، باید روی پروژه های دیگه مشارکت کنی. و یا پروژه های خودت رو برای بهبود یا کنترل ورژن کارآمد تر، روی گیت بگذاری. برای اینکار می تونی از وبسایت هایی مثل github یا  gitlab استفاده کنی.

گیت

قدم هشتم: پرسیدن سوالات در انجمن ها و پاسخ به سوالات دیگران

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

بهترین منابع برنامه نویسی

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

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

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

زمان لازم برای یادگیری برنامه نویسی

مدت زمان یادگیری یک زبان برنامه نویسی به موارد خیلی زیادی بستگی داره اما معمولا بین 4 ماه تا 1 سال متغیره. مسلما مدت زمانی که اینجا بهت میگیم کاملا نسبیه و ممکنه از آدمی به آدم دیگه متفاوت باشه. بنابراین نباید این زمان تعیین شده رو از این مقاله به صورت وحی گونه به خاطر بسپاری و اگر زمان خودت یکی دو ماه اینور و اونور شد مغرور یا دلزده بشی. مهم ترین عواملی که مدت یادگیری یه زبان برنامه نویسی رو تعیین می کنه اینجا بهت میگیم. براساس این عوامل می تونی مدت یادگیریت رو تقریبا به مدت مورد نظرت نزدیک کنی اما فقط با تلاش و تلاش و تلاش!

هدف گذاری دقیق

اولین و مهم ترین عاملی که در مدت زمان یادگیری یک زبان برنامه نویسی تاثیر گذاره، قطعا داشتن یک هدف روشن و دقیقه. مثلا اگر امروز تصمیم بگیری شروع به یادگیری زبان js کنی و دوره های آموزشی ببینی و تمرین کنی و هفته بعد نظرت عوض شه و بری سراغ PHP و ماه بعد دوباره برگردی سراغ js مسلما زمان زیادی رو به بی برنامگی گذروندی. این به اون معنیه که دیرتر می تونی به نسبت کسی که تمام این مدت رو برای js وقت گذاشته به این زبان برنامه نویسی مسلط بشی. بنابراین همیشه یادت باشه قبل از شروع به یادگیری یه زبان برنامه نویسی یا یه تکنولوژی خاص، از اون زبان هدف روشنی داشته باشی. این یعنی دقیقا بدونی به چه دلیلی سراغ اون زبان رفتی و چرا الان این زبان برات به نسبت زبان های برنامه نویسی دیگه مناسب تره.

برنامه ریزی دقیق

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

زمان روزانه برای یادگیری

زمانی که برای یادگیری روزانه ات تعیین می کنی قطعا از عوامل خیلی مهم در تعیین مدت زمان یادگیریه. مثلا اگر کسی روزانه 10 ساعت برای یادگیری و تمرین برنامه نویسی زمان میذاره احتمالا بتونه در مدت 3 یا 4 ماه به اون زبان تسلط نسبی پیدا کنه. اما در شرایطی که یک نفر روزانه فقط 2 ساعت برای برنامه نویسی زمان بذاره مسلما احتمال اینکه زودتر از یک سال بتونه به اون زبان برنامه نویسی مسلط بشه خیلی کمه! بنابراین برای یادگیری و تمرین زمان اختصاص بده تا کامروا شوی!

نوع زبان

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

دانش ریاضی و منطقی

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

تمرین

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

تسلط به زبان انگلیسی

زبان مشترک دنیا در حوزه تکنولوژی و برنامه نویسی مثل تقریبا همه حوزه های علمی دیگه زبان انگلیسیه. اگر به زبان انگلیسی تسلط نسبی داشته باشی همیشه به منابع داغ و دست اول روز دنیا دسترسی داری. در صورت بروز مشکل یا داشتن سوال می تونی اون رو در انجمن های بزرگی مثل stackoverflow به اشتراک بگذاری و به این صورت با جامعه برنامه نویس بزرگ تری در هر زبان برنامه نویسی در ارتباط باشی.

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

دانش الگوریتم

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

آشنایی قبلی با برنامه نویسی

برنامه نویسی

اگر قبلا با یک زبان برنامه نویسی دیگه آشنا بوده باشی حتما برای یادگیری زبان برنامه نویسی جدید چندین قدم جلوتری. شیوه حل مسائل برات کاملا روشنه و خبر خوش اینکه معمولا سینتکس و قواعد پایه ای زبان ها بسیار به هم نزدیکه! بنابراین اگر قبلا برنامه نویسی کردی و الان دنبال دونستن اینی که یادگیری زبان برنامه نویسی جدید قراره چقدر زمان ببره به نسبت تسلط ات به زبان برنامه نویسی قبلی و زمانی که میذاری احتمالا بین 2 تا 4 ماه از دیگران زودتر به زبان برنامه نویسی جدید مسلط میشی.

هوش

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

هوش

نتیجه گیری

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

گردآوری و تدوین: زهرا فرحمند

متخصص PHP
دوست داری از طریق برنامه نویسی کسب درآمد کنی؟ اگر می خوای با برنامه نویسی وب و موبایل کسب درآمد کنی، جایی استخدام شی و یا حتی اینکه درامد ارزی داشته باشی، حتما دوره های متخصص سون لرن رو یه نگاه بنداز : متخصص شو arrow_back
7Learn Experts
comment دیدگاه کاربران
Behrouz Alborzi replyپاسخ

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

زهرا فرحمند

با سلام. خوشحالم که استفاده کردید.
به زودی ان شاءال… آموزش هاش رو همین جا خواهیم داشت.
ولی اگر عجله دارید کتاب الگوریتم و فلوچارت فنی و حرفه ای اگر هنوز چاپ میشه برای شروع گزینه خوبیه 🙂

add_circle ارسال دیدگاه

خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :