برنامهنویسی را سریعتر بیاموزید – ۵ ایده برای شروع کدنویسی
برنامهنویسی را سریعتر بیاموزید – ۵ ایده برای شروع کدنویسی
در بین تمام رشتههایی که به خلاقیت و تلاش بسیار نیاز دارند، برنامهنویسی دارای یکی از سختترین مراحل یادگیری است. تا زمانی که مفاهیم آن را به خوبی درک نکنید، دریانوردی در این اقیانوس برایتان کار بسیار دشواری خواهد بود. با این حال راههای مختلفی برای سادهتر کردن این مسیر وجود دارد که موثر ترین آن، انجام پروژههای مختلف است.
البته این پروژههای مختلف، پروژههایی هستند که هدف تجاری ندارند و صرفا به جهت یادگیری مفاهیم مختلف انجام میشوند. در واقع به این صورت که یک هدف برای خودتان مشخص میکنید و در راه رسیدن با آن هدف، مفاهیم مختلفی را فرا میگیرید و دانش خود را در آن زمینه افزایش میدهید.
هیچ چیزی بیشتر از تجربهی عملی به درک مفاهیم برنامهنویسی کمک نمیکند. از همین رو، پس از مطالعهی چند کتاب و مشاهدهی چند فیلم آموزشی، اکنون زمان آن است که یک پروژه آغاز کرده و با کدها بازی کنید. در این مقاله چند ایده معرفی شده که بتوانید به کمک آنها مرحلهی جدیدی از یادگیری برنامهنویسی را آغاز کرده و قدمی بزرگ در این راه طویل بردارید.
۱٫ یک اپلیکیشن موبایل یا تحت وب بنویسید
امروزه یکی از پرطرفدارترین راههای برنامهنویسی، کدنویسی اپلیکیشن برای وب است. پس از اینکه با چند زبان برنامهنویسی آشنا شدید، زمان آن است که یک اپلیکیشن تحت وب طراحی کنید تا یک کار پر کاربرد در زندگی را انجام دهد.
اگر هم به برنامهنویسی تحت وب علاقهمند نیستید، میتوانید یک اپلیکیشن موبایل طراحی نمایید. درست است که تکنولوژیهایی که در اندروید، ios و ویندوزفون استفاده شدهاند تفاوتهایی دارند، ولی نباید ترسی از انتخاب یکی از آنها برای شروع کار داشته باشید. این تفاوتها بیشتر در زمینهی کدها هستند و اغلب از نظر مفاهیم، یکسان هستند.
مسالهی مهمی که وجود دارد این است که فرقی نمیکند چه چیزی بسازید، فقط باید برای ساخت آن هیجانزده باشید. چه این برنامه یک لیست کاری ساده باشد یا یک نرمافزار پیچیده مانند یک شبکهی اجتماعی، تنها چیزی که اهمیت دارد این است که به قدری برای ساخت آن هیجانزده باشید که در تمام طول روز از فکرش خارج نشوید.
ولی اگر واقعا هیچ ایدهای برای طراحی ندارید، میتوانید از موارد زیر کمک بگیرید:
- یک لیست برنامهی روزانه
- یک جمعکنندهی لینک و محتوا
- یک کوتاه کنندهی آدرس
- یک میزبان رسانهها (همانند سایتهای اشتراکگذاری فیلم)
- یک بهینهساز رسانهها (همانند یک سایت برای کاهش حجم فیلمها)
- یک شبکهی اجتماعی
۲٫ برای یک مرورگر افزونه بنویسید
ساخت یک افزونه شباهت بسیار زیادی به ساخت اپلیکیشن موبایل یا وب دارد، ولی معمولا به دلایل نا مشخصی نادیده میشود. این روزها اکثر مردم مدت زیادی از زمان آنلاین بودن خود را در مرورگرها میگذرانند، به همین دلیل، یک ابزار تحت مرورگر میتواند بسیار کارآمد باشد. شما هم میتوانید برای یادگیری و تسلط بیشتر در برنامهنویسی، یک افزونه بنویسید.
۳٫ یک بازی ویدیویی بسازید
توسعهی یک بازی، یکی از خاصترین کارهایی است که میتوان در دنیای برنامهنویسی انجام داد. البته برخی از مفاهیم پایهای که در بازی سازی یاد میگیرید (مانند مفهوم «Game loop») با مفاهیمی که در طراحی وب یا یک نرمافزار شرکتی داریم بسیار متفاوت هستند. با این حال بخشی از مطالب و دانشی که کسب میکنیم، مانند زبان برنامهنویسی، در جاهای دیگر نیز برای ما کاربرد خواهند داشت.
بازی سازی میتواند یکی از بهترین روشهای یادگیری برنامهنویسی باشد. همچنین با گذر زمان، ابزارهای بازی سازی تغییرات بسیاری را در خود دیدهاند و به گونهای پیشرفت کردهاند که حتی یک تازه کار نیز میتواند در تنها چند هفته، یک بازی ساده طراحی کند. نکتهی دیگر این است که بازیهای رایانهای بسیار سرگرم کننده هستند و هیچی بهتر از سرگرمی نمیتواند به کسی برای انجام کاری انگیزه دهد.
برای بازی سازی، یادگیری موتور یونیتی (Unity Engine) توصیه میشود، چراکه یکی از قدرتمندترین موتورهای بازی سازی است که به صورت رایگان نیز در دسترس عموم قرار دارد. پس از اینکه با ابزارها و زبان مورد استفاده در یونیتی آشنا شدید، میتوانید یکی از بازیهای پیشنهادی زیر را بازسازی کنید:
- Pong
- Breakout
- Tetris
- Bomberman
- Flappy Bird
۳٫ به توسعهی یک پروژهی متنباز کمک کنید
یکی از بهترین تمرینهایی که میتوانید به عنوان یک برنامهنویس داشته باشید، کمک به توسعهی یک پروژهی «متنباز» (Open-Source) است. این کار سه مزیت برای شما به همراه خواهد داشت:
- میتوانید کدهایی که قبلا نوشته شده را مطالعه کرده و از آن یاد بگیرید.
- دیگران میتوانند کدی که نوشتهاید را نقد کنند و ایرادات شما را بگیرند.
- قادر خواهید بود زنجیرهی دوستان و مربیان برنامهنویستان را گسترش دهید.
یکی از خوبیهایی که پروژههای متنباز دارند این است که در آنها فشار کاری وجود ندارد، یا حداقل زیاد نیست. هنگامی که دارید یک پروژهی متنباز مینویسید، دیگر کسی از شما انتظار ندارد که در مهلت مشخصی کار را تحویل دهید یا حتما مسائل خاصی را در آن کار رعایت کرده باشید (مگر اینکه نویسندهی اصلی آن باشید). همچنین این پروژهها یک ساختار بنیادی ارائه میدهند که ممکن است در پروژههایی که خودتان انجام میدهید وجود نداشته باشند.
همانطور که در بالاتر گفتیم، پروژهای انتخاب نمایید که برایتان هیجانانگیز باشد. حتی اگر توانایی کمک به توسعهی آن کد را نداشته باشید، میتوانید با مطالعهی کدهایی که در دسترس عموم قرار دارند، چیزهای زیادی یاد بگیرید و به روشهای دیگری به توسعهی آن کمک کنید.
۴٫ در مسابقات برنامهنویسی شرکت کنید
اگر از آن دسته افرادی هستید که عاشق رقابت هستند، پس حتما باید به دنبال مسابقات برنامهنویسی باشید. اینگونه مسابقات از ارزش علمی بسیار زیادی برخوردار هستند، چراکه شما را مجبور میکنند به سرعت هرچه بیشتر رشد کرده و با مسائل جدید کنار بیایید. وجود «Deadline» (آخرین مهلت انجام یک کار) به این مساله کمک میکند.
لیست زیر به برخی از مهمترین مسابقات این حوزه اشاره دارد:
• مسابقهی کدنویسی گوگل: مسابقهی کدنویسی گوگل یکی از معروفترین مسابقات کدنویسی است، به طوری که حدود ۱۲ سال میشود که به طور آنلاین در حال برگذاری است و قطعا ارزش شرکت کردن در آن وجود دارد. این مسابقه از چندین مرحله تشکیل میشود که در هر کدام آنها باید به حل الگوریتمهای پیچیده و معمایی بپردازید.
• مسابقات CodeChef: «کدچف» یک انجمن جهانی است که برنامهنویسان در آن جمع میشوند، از یکدیگر یاد میگیرند و با هم رقابت میکنند. این سایت هر ساله مسابقات متنوعی برگذار میکند که رقابت در آنها میتواند باعث رشد فکری شما در این زمنیه شود.
• Project Euler: مسابقات «Project Euler» آن معنای سنتی «رقابت» را ندارند، ولی یک راه فوقالعاده برای به چالش کشیدن مهارت کدنویسی هر فرد ارائه میدهند. آنها یک مجموعه از مسائل ریاضی و محاسباتی به شما میدهند که با گذر زمان سختتر و سختتر میشود و باعث میشود محدودیتهای ذهنیتان در حل مسائل کوچکتر شود.
سخن آخر
برای یادگیری برنامهنویسی نیازی نیست تا به مطالعهی کتابهای مختلف بپردازید یا به کنفرانسهای متفاوت بروید. وقتی که شروع به انجام چند پروژهی عملی کنید، میبینید که با سرعتی بیشتر از همیشه در حال رشد هستید. اگر هم در جایی از کار گیر کردید، همیشه میتوانید از منابع رایگان مختلف کمک بگیرید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.