کد زدن یا کد نزدن؟ به نظر می رسد که شما انتخاب خود را به نفع گزینهٔ اول انجام دادهاید. برنامهنویسی یک زمینهٔ عالی برای رشد حرفهای است و این امکان را به شما میدهد تا در پروژههای جذاب مشارکت داشته باشید و در هر کجا که میخواهید کار کنید.
تنها مانعی که افراد مبتدی را از شروع یک حرفهٔ جدید باز میدارد، عدم درک کافی در چگونگی یادگیری کدنویسی است. نکته مهمتر این است که حتی بهترین دانشگاهها هم نمیتوانند به طور کامل آموزشی را ارائه دهند که بتواند شروع یک حرفهٔ کاملا جدی مانند توسعهدهنده نرمافزار را برای شما تضمین کند. نکته اینجاست که برنامهنویسی بسیار پویا و انعطافپذیر است. زمانی که شروع به یادگیری برنامهنویسی کردید، بهتر است که دیگر تا پایان عمر از یادگیری دست نکشید.
برخی از برنامهنویسان میگویند که در چندمین تلاش خود (و نه با اولین تلاش) موفق شدند کدنویسی را یاد بگیرند. بله، همه ما از اشتباهاتمان درس میگیریم اما حتما تعجب خواهید کرد که تعداد اشتباهاتی که در مسیر یادگیری برنامهنویسی ممکن است به آنها دچار شویم چقدر زیاد است.
اگر مصمم هستید که برنامه نویسی را یاد بگیرید، در ادامه چند ایده مفید برای شما داریم. بیایید در مورد اشتباهاتی صحبت کنیم که تقریبا همهٔ مبتدیان انجام میدهند.
این اتفاق زمانی میافتد که تلاش میکنید به روش معمول کدنویسی را یاد بگیرید. بیشتر ما به یادگیری با مطالعه کتاب عادت داریم و فکر میکنیم هر چه کتاب ضخیمتر باشد، بهتر است و چیزهای بیشتری یادمان میدهد. درسته؟ متاسفیم، اما این روش برای یادگیری برنامهنویسی جواب نخواهد داد.
«تمرین نکردن» در یادگیری برنامهنویسی یک اشتباه مرگبار است. از همان ابتدای یادگیری و از همان روز اول، کدنویسی را شروع کنید. همانطور که بوکس یا رقص را با تماشای فیلم یاد نمیگیرید، با صرفا کتاب خواندن هم برنامهنویس نمیشوید. در کدنویسی اعتماد به نفس نخواهید داشت مگر این که آن را به عادت روزانه خود تبدیل کنید.
برخی از افراد، مستقل از سنشان، صرفا عاشق «یادگیری و آموختن» هستند. در واقع فقط از مسیر لذت میبرند و اصلا به مقصد توجهی ندارند. البته، همواره گسترش دامنه علم و دانش خوب است اما احتمالا موافقید که در تلف کردن صدها (و شاید هزاران) ساعت وقت خود برای یک سرگرمی، هیچ سودی نیست.
خیلی ساده است، شما یا عاشق برنامهنویسی هستید، (حتی اگر گاهی اوقات برایتان سخت باشد) یا نیستید. توسعهدهندگانی که فقط برای کسب درآمد (و بدون علاقه به برنامهنویسی) کد میزنند، در گوگل یا دیگر شرکتهای بزرگ استخدام نخواهند شد. زیرا در چنین شرکتهایی، برنامهنویسی تنها «حرفه» افراد نیست، بلکه علاقه و عشق آنان نیز هست.
به همین شکل، اگر فقط عشق و اشتیاق به برنامهنویسی داشته باشید اما حاضر نباشید که هر روز کد بزنید، شاید بهتر باشد که برنامهنویسی را کنار بگذارید.
توسعه نرمافزار، یک اقیانوس عمیق از دادهها و ابزارها است. اگر سعی کنید همه چیزهایی که در جلویتان سبز میشوند و جالب به نظر میرسند را یاد بگیرید، ممکن است همان ابتدای یادگیری گیر کنید و کاملا گیج شوید.
به همین دلیل، به یک برنامه و نقشه راهِ مشخص نیاز دارید. در مورد شما، این برنامه باید شامل یادگیری مبانی زبان برنامه نویسی، انجام پروژههای کدنویسی به علاوه آشنایی با ابزار های برنامه نویسی باشد. این برنامه به شما کمک میکند که از خطر متوقف شدن در فاز یادگیری جلوگیری کنید و آموزش خود را در یک بازه زمانی مشخص تنظیم کرده و پیش ببرید.
شعار «هر روز کد بزن» را که یادتان نرفته؟ خوبه. پس هر بار که خواستید چند روزی بیخیال آموزش و یادگیری شوید، به این شعار فکر کنید. برای یک مبتدی، ایجاد وقفه در آموزش خطرناکتر از آن چیزی است که به نظر میرسد.
شما یادگیری یک مبحث جدید را شروع میکنید و در آن مبحث به موضوعات قبلی ارجاع داده شده و شما هم به دلیل وقفهای که افتاده، چیزی را به خاطر نمیآورید. این فراموشی، مرتب شما را به عقب میکشاند. بنابراین تمام تلاش خود را بکنید که بدون هیچ وقفهای همواره رو به جلو حرکت کنید.
زبان برنامهنویسی، صرفا یکی از ابزارهای در اختیار برنامهنویسان ماهر است. برخی ممکن است بگویند که برای یادگیری برنامهنویسی باید در ریاضیات عالی باشید. نه، این طور نیست. اما دانستن نحوه نوشتن کدها (سینتکسها) نیز به تنهایی شما را به یک برنامهنویس تبدیل نمیکند.
برنامهنویسی به مهارتهای دیگری نیز احتیاج دارد: منطق قوی، توانایی حل مساله و امکان تجسم ساختار و دنباله فرآیندها. یک برنامهنویس با تجربه قبل از فکر کردن به منطق راه حل، شروع به کدنویسی نمیکند.
اغلب بین زمانی که برای انجام کارها یا تحقیقات صرف میکنید و موفقیت در آن کار، ارتباط مستقیمی وجود ندارد. در یادگیری جاوا، سماجت در حل مسائل و درک موضوعات جدید بسیار مهم است.
اما گاهی اوقات برای حل یک مشکل، باید موقتاً از آن صرف نظر کنید تا بعدا با درک و دانش بیشتری برگردید و آن را حل کنید. یک توصیه دوستانه: سعی نکنید کد ها را به خاطر بسپارید و اینکه بیش از حد در این که «چطور این کدها دارند کار میکنند»، عمیق نشوید.
هنگامی که یاد میگیرید برنامه بنویسید، اولویت اول این است که کدتان کار کند. به همین دلیل است که افراد مبتدی توجه زیادی به کدهای خوانا همراه با کامنتهای واضح ندارند و در آینده به نوعی کدشان باید «رمزگشایی» شود.
برنامهنویسان باتجربه وقتی اولین کدهایی که نوشتهاند را ببیند، حس نوستالژیک ندارند! بلکه تلاش میکنند بفهمند کدهایی که زدند دقیقا چه معنیای میدهند و چه کار میکنند و هدفشان چه بوده. نگران نباشید. شما هم یاد خواهید گرفت که چطور کدهای خوانا بنویسید. البته در صورتی که تلاش کنید.
غمانگیز ولی واقعی: کدتان همیشه آن کاری که باید را انجام نمیدهد. حتما به طور مرتب آن را بررسی کنید و اجازه ندهید که خطاها روی هم انباشته شوند. در این صورت، به جای اشکالزدایی (Debugging) خستهکننده و تلاش برای فهمیدن اینکه چه اشتباهی و در چه زمانی رخ داده است، در هر مرحله با مشکلات کمتری روبرو خواهید شد.
با داشتن انبوهی از ابزارها و منابع آنلاین برای یادگیری موفق، می توانید به راحتی یک برنامهنویس خودآموخته باشید. تنها حلقه گمشده، نبود ارتباط واقعی است. اگر در اسرع وقت به گروهها و انجمنهای برنامهنویسی بپیوندید، آموزش شما بسیار موثرتر خواهد بود.
به عنوان یک توسعهدهندهٔ جوان به همکاران باتجربه خود گوش کنید و هرگز یادگیری را متوقف نکنید. هیچ نقطه پایانی برای یادگیری وجود ندارد. برنامهنویسی، یک «حرفه» در زمینهای با ارتقای مداوم است، ویژگیها و فناوریهای جدید که باید به آنها چنگ بزنید تا بتوانید متخصصی باشید که خواهان دارد.
این مقاله در اصل توسط اقای سید احمد عباسی تحت عنوان "ده اشتباه مرگبار در یادگیری برنامه نویسی" در سایت جاواکاپ منتشر شده. من فقط انرا برای همه زبان های برنامه نویسی ویرایش و برای استفاده منتشد کردم.
شاید این مقاله هم براتون مفید باشه: