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

۵ قاعده طلایی برای یادگیری هر زبان برنامه‌نویسی که می‌خواهید

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

۱. هیچ گزینه‌ای تحت عنوان «بهترین زبان برنامه‌نویسی» برای یادگیری وجود ندارد

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

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

۲. هدف برای کدنویسی

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

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

اما خب چه چیزی می‌تواند در بین این همه درگیری ذهنی، ملاقات دوستان و خانواده، کار و… شما را وادار به یادگیری کدنویسی و داشتن زمان‌بندی بکند؟

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

۳. ندانستن در ابتدا مشکلی ندارد

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

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

برنامه‌نویسان بسیاری وجود دارند که چون فکر می‌کنند توسط دیگران قضاوت می‌شوند و… از مشاهده کردن ویدیوهای آموزشی، خواندن مطالب، سوال پرسیدن و… خودداری می‌کنند. اما بگذارید واقعیت را به شما بگویم. هیچکسی نمی‌تواند تمام دستورهای یک زبان برنامه‌نویسی مانند پایتون، سوئیفت و… را به خاطر بگذارد. تنها در رابطه با توسعه اپلیکیشن‌های IOS بیش از ۸۰۰ کلاس و ۹۰۰۰ متد وجود دارد، آیا واقعا کسی می‌تواند تمام این موارد را به خاطر بسپارد؟

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

۴. کپی کنید، کدهای مختلفی را تجربه کنید و به یادگیری ادامه دهید

وقتی که مبتدی بودم از اینکه چگونه یاد بگیرم و از چه تکنیک‌ها و الگوهایی برای یادگیری پیروی کنم در تعجب بودم. کتاب‌هایی در رابطه با C/C++، Python و Swift تهیه کردم. واقعیت را بگویم،‌ خواندن آن‌ها کار بسیار سختی بود. می‌خواندم، فراموش می‌کردم و خوابم می‌گرفت. همانطور که زمان گذشت، متوجه شدم که خواندن کتاب برای من بسیار کار سختی است به همین دلیل دنبال یک راه‌حل دیگر رفتم و آن آموزش‌های چند رسانه‌ای و ویدیو بود.

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

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

۵. کارهای‌تان را نشان دهید و یک مربی بگیرید

خواه که یک فرد مبتدی باشید و یا یک فرد حرفه‌ای، باید بدانید که هیچ فردی در این جهان کامل نیست. به اشتراک گذاری دانش همواره یک رفتار صحیح است و می‌تواند برای همه فایده داشته باشد.

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

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

۴ چالش برای یادگیری کدنویسی

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

۱. سندرم مضر

خواه چه یک برنامه‌نویس تازه کار باشید و یا یک توسعه دهنده مجرب مطمئنا حضور خیره کننده سندرم مضر را در پروسه یادگیری کدنویسی مشاهده کرده‌اید و آن را احساس نموده اید. نبود اعتماد به نفس وقتی که اول راه هستید، چیز مشهودی است، اما صادقانه بگویم که این حالت لزوما همیشه اتفاق نمی افتد. به یاد داشته باشید که هر توسعه دهنده مجربی نیز زمانی یک فرد مبتدی بوده، پس آن ها نیز چنین وضعیتی را درک می کنند. صنعت تکنولوژی دارای جامعه پشتیبانی و کمکی خوبی است که شما در آن می توانید با افراد باتجربه دیگر که دوست دارند با شما همکاری کنند و شما را یاری نمایند، آشنا شوید. یکی از دانشجویان دوره می‌گفت: «برای من بزرگترین چالش و خطر در ابتدای کار ترس بود که باعث می شد من عقب نشینی کنم …آن ترس هنوز هم در من یافت می شود، ترس اینکه نکند به اندازه کافی در زمینه کدنویسی و زمینه های مرتبط با آن موفق نشوم. اما هر وقت به دام چنین فکری می افتم، بخاطر می آورم که من عاشق کدنویسی هستم و هر روز می تواند یک فرصت جدید برای این باشد که من پیشرفت کنم.»

در همین زمینه یکی از مهندسان توسعه نرم افزار می گوید: «به عنوان یک توسعه دهنده تازه وارد مقایسه کردن خود با دیگران کار آسانی است و یا اینکه نگرانی درباره اینکه آیا من در مسیر درست قرار گرفته‌ام چیزی عادی است. از نکات مثبت کدنویس شدن این است که یک راه کلی برای تبدیل شدن وجود ندارد و در حقیقت روند خطی در کار نیست، مهم این است که شما بتوانید مسائل را حل کنید. وقتی یاد گرفتید که چگونه مسائل را حل کنید و با آن ها برخورد کنید، کدنویسی برای شما بسیار ساده خواهد شد»

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

۲. تلاش کنید تا همه چیز را درک کنید

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

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

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

۳. زمان را مدیریت کنید

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

۴. ناامیدی

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