سه شنبه, ۱۴ اسفند, ۱۴۰۳ / 4 March, 2025
مجله ویستا

بهترین راه یادگیری ASP.NET


بهترین راه یادگیری ASP.NET
همواره ایمیل های زیادی بدستم رسیده است که می پرسند:
بهترین راه یادگیری ASP.NET چیست؟
یا اینکه برای یادگیری ASP.NET از کجا باید شروع کنیم؟
و سوالاتی از این قبیل. در این مقاله سعی کرده ام که تجربیات خودم را در این زمینه با شما در میان بگذارم و احتمالاً بتوانم جوابی کاربردی و عملی به این سوال بدهم. سوالی که احتمالاً شما هم به دنبال جواب آن هستید.
به نظر من به تعداد انسانها، راه برای یادگیری ASP.NET هست! شوخی نمی کنم، جدی می گویم. به نظر من هر شخصی روش یادگیری خودش را دارد. فرقی هم نمی کند که بخواهید ASP.NET یاد بگیرید یا آشپزی یا هر چیز دیگری. شما همانطور که اگر بخواهید آشپزی یاد بگیرید ممکن است از کتاب، کلاس، سعی و خطا، تجربه و حتی از وب استفاده کنید، برای ASP.NET و اصولا هر چیز دیگری هم ممکن است از همین ابزار و راهها استفاده کنید.
چیزی که من می خواهم بگویم توضیح واضحات است. اما چون خیلی ها سوال می کنند ناچارم اشاره ای به این موضوع داشته باشم. به نظر من بیشتر، افراد مبتدی و تازه کار هستند که نیاز دارند که پاسخ این سوال را بدانند چون کسانی که به نوعی ASP.NET را یاد گرفته اند یا با آن آشنا هستند خود می دانند که چه کار باید بکنند و چگونه یاد بگیرند.
● کتاب
خیلی از افراد سوال می کنند که مثلا کدام کتاب خوب است؟ به عقیده من برای یک فرد تازه کار که می خواهد با الفبای کار آشنا شود، هر کتابی در زمینه آموزش مقدماتی و کلیات ASP.NET خوب و مفید است. حتی بسیاری از کتابهای تخصصی هم فصلهای اولیه خود را به آموزش و مرور مقدمات ASP.NET تخصیص می دهند. پس دنبال کتاب خاصی نباشید. اولین کتابی را که بدست آوردید بنشینید و بخوانید. بالاخره هر کتابی هر چند سطح پائین هم که باشد آنقدر مطلب دارد که یک تازه کار را برای مدتها به خود مشغول کند.
حرفه‎ای ترها هم که خود می دانند دنبال چه هستند و چه کتابی به کارشان می خورد. دقت داشته باشید که متاسفانه سطح کتابها جهت استفاده حرفه‎ای ها بسیار پائین است به گونه‎ای که آنها معمولاً کتاب مورد نظر خود را نمی توانند پیدا نمی کنند. لابد نویسندگان فکر می کنند که حرفه‎ای ها نیازی به کتاب ندارند و آنقدر توانا هستند که یا خودشان فکر کنند یا مطلب شان را در وب پیدا کنند. چیزی که بحث بخش بعدی این مقاله است.
به هرحال آنقدر در کتابهای آموزشی ASP.NET در مورد فرم های وب و نحوه استفاده از ADO.NET برای ارتباط با بانک اطلاعاتی و XML گفته اند که هیچگاه در مورد چگونگی طراحی ساختار و لایه های خود برنامه یا سایت چیزی گفته نشده است. مقوله ای که بدون آن معماری را می ماند که آجر و سنگ و سیمان دارد اما نقشه ندارد.
● سایتهای آموزشی
ابزار بعدی، استفاده از سایتهای آموزشی موجود در وب هست. باور کنید که برخی مطالب ذکر شده در سایتهای آموزشی را هیچ وقت در هیچ کتابی نخواهید یافت و اصولا آنها هیچوقت چاپ نمی شوند. بخصوص زمانی که دارید وارد قلمرو حرفه ای می شوید. با بکارگیری گوگل، این گونه سایتها هیچوقت برای شما مخفی یا ناشناخته نمی مانند. به شرطی که در انتخاب کلید واژه‎ی جستجوی خود دقت کنید.
سایتی مثل W۳Schools و بخش آموزش سریع یا QuickStart مایکروسافت می توانند منابع خوبی از جنس دوره های آموزشی باشند. اما انتظار نداشته باشید که در دیگر سایتهای آموزشی/مقاله‎ای ASP.NET بتوانید دوره های منظم و مرحله به مرحله‎ی کلاسیک و جزوه ای پیدا کنید. بیشتر سایتها پر هستند از مقاله های رنگارنگ و متنوع که لزوما وحدت موضوعی نداشته و صرفاً برحسب نیاز خود برنامه نویسان تهیه شده اند. من اینگونه سایتها و مطالب را برای دوران پس از مقدماتی توصیه می کنم.
بیشتر این سایتها دارای خبرنامه الکترونیکی رایگان می باشند. با عضویت در آنها و دریافت مرتب تیتر مطالب شان، آنها را زیر نظر بگیرید و اگر مقاله‎ای داشتند که به کار شما می خورد، به سراغش رفته و استفاده کنید. این مساله سبب می شود که شما مجبور نباشید که همواره به آن سایتها سر بزنید یا همه مطالب شان را بخوانید و یا احتمالا مقاله‎ی مفیدی را از دست بدهید. از این رو ست که همواره بر داشتن خبرنامه‎ی الکترونیکی برای سایتها و عضویت افراد در آنها تاکید شده است. خوشبختانه سایت IranASP.NET هم از همان روزهای آغازین این مهم را سرلوحه کار خود قرار داده است. دقت داشته باشید که شما هر چه جلوتر بروید و حرفه‎ای تر شوید، وقت کمتری برای مطالعه و یادگیری خواهید داشت. بخصوص اگر به حدی برسید که درگیر یک کار یا پروژه هم بشوید!
● کلاس
کلاس های آموزشی هم می توانند مفید باشند. به گونه ای که در مدت زمان کوتاهی سرنخ مطالب جدیدی را به شما می دهند و گاهاً ممکن است مطلبی را مطرح کنند که شما هیچ وقت در حالت خودآموزی به آن برخورد نکنید. به کلاسهای آموزشی صرفا به عنوان نقطه شروع نگاه کنید و نه چیز دیگر. هیچ کلاسی نمی تواند ادعا کند که شما را یک ماهه یا بیشتر به یک برنامه نویس حرفه ای وب تبدیل می کند که اگر ادعا کرد خود معیار خوبی است جهت میزان صداقت گردانندگان آن کلاس و سطح آن.
معمولاً شما نمی توانید قبل از تشکیل یک کلاس به میزان مفید بودن آن برای یادگیریتان پی ببرید. هر چقدر هم از گردانندگان آن سوال کنید، آنها آنقدر کلمات فنی و قلمبه سلمبه بلد هستند که شما فکر کنید بیسواد مطلق هستید. نمی گویم که همه‎ی کلاس ها اینگونه هستند و یا اینکه شما بدون تحقیق و بررسی به هر کلاسی بروید. اما می گویم که اندکی هم ریسک پذیر باشید چون ممکن است از هزینه و وقت تان آنگونه که انتظار داشته باشید در پایان کلاس بهره نبرده باشید. این را کاریش نمی توان کرد و از ملزومات کار است که البته اشکالی هم ندارد و همین مساله خود برای شما نکته‎ی آموزشی خواهد شد اگرچه در زمینه ASP.NET هم نباشد!
از دیگر فواید کلاس می توان به امکان پیدا کردن دوست و یا همکار و مهم تر از همه پروژه اشاره نمود. خیلی از همکارهای کاری و پروژه ای می تواند از درون همین کلاس ها رقم بخورد چه برای دانشجویان چه برای شخص مدرس!
● زبان زبان زبان
بله، زبان البته از نوع انگلیسی آنقدر مهم است که سه بار در عنوان این بخش تکرار شود. این را من برای شما که فارسی زبان هستید می گویم. شما نمی توانید یک برنامه نویس وب باشید اما زبان انگلیسی بخصوص در زمینه خواندن یا همان Reading را بلد نباشید. چون شما نمی توانید همه مطالب خود که هیچ بلکه حتی کسری از آن را هم به زبانی غیر از انگلیسی پیدا کنید.
شما برای خواندن و یادگیری به زبان نیاز دارید. همه‎ی کتابها انگلیسی هستند و آنهایی هم که مثلاً ترجمه فارسی شده اند را خیلی جدی نگیرید. آنها بیشتر بدرد ناشرشان می خورد و کمی هم مترجم شان و نه شما. شما باید اصطلاحات را به شکل انگلیسی شان یاد بگیرید و نه ترجمه های من در آوردی و عجیب و غریب فارسی. کتابهای فارسی در این زمینه را اغلب کسانی ترجمه می کنند که به نوعی ماشین ترجمه هستند و حتی ممکن است ندانند که آنچه را ترجمه کرده اند به چه دردی می خورد.
خوشبختانه مطالب فنی کامپیوتری نمی توانند دارای متون پیچیده و سخت انگلیسی باشند. عمده‎ی کلمات که اسامی خاص و اصطلاحات فنی هستند و بقیه هم افعال و کلمات ساده و معمولی زبان می باشند. پس شما قرار نیست که نمایشنامه‎ی شکسپیر را بخوانید.
همچنین شما برای برنامه نویسی تان و انتخاب اسامی متغیرها، کلاس ها و متدهای مورد نیازتان باید بتوانید اسامی با مسمایی را انتخاب کنید. شما باید بتوانید شرح یا کامنتی هر چند کوچک در لابلای خطوط برنامه تان بنویسید تا کد برنامه شما به یک غول دست نیافتنی تبدیل نشود. شما باید بتوانید خیلی از برنامه های از پیش نوشته شده را بخوانید و بفهمید. معنا و مفهموم اسامی انتخاب شده برای کلاس ها و متدها از دید زندگی روزمره به فهم بیشتر شما از آن برنامه کمک می کند. همه‎ی اینها با دانستن زبان انگلیسی میسر است.
پس لطفاً قبل از یاد گرفتن ASP.NET و یا اینکه چگونه باید از ADO.NET استفاده کرد از زبان خود مطمئن شوید. اگر ضعیف هستید اول آن را تقویت کنید و بعداً بیائید.
● پیش نیاز
توجه داشته باشید که جهت یادگیری ASP.NET که یک تکنولوژی جهت ساخت برنامه های تحت وب است و نه یک زبان برنامه نویسی، شما به پیش نیازهای زیاد و متنوعی نیاز دارید. باز تکرار می کنم که ASP.NET تکنولوژی است نه زبان برنامه نویسی. مفاهیم و مسائل زیادی جهت به کارگیری این تکنولوژی مورد نیاز است. بدون تسلط و نه صرفاً اطلاع از آنها شما نمی توانید ASP.NET را یاد بگیرید. مواردی که به ذهنم می رسد را در زیر فهرست وار به اطلاع شما رسانده ام. اگرچه ممکن است لیست کاملی نباشد ولی حداقل مهم ترها را دارد.
- شما باید یک برنامه نویس کامپیوتر باشید.
- شما باید بر مفاهیم شئ گرایی مسلط باشید.
- شما باید یکی از زبانهای خانواده ++C یا Visual Basic را بدانید.
- شما باید بانک اطلاعاتی و زبان SQL را بدانید.
- شما باید مفاهیم وب و برنامه نویسی وب را بدانید.
- شما باید کار با محیط های Visual را بدانید.
- شما باید IIS را بشناسید و فرق وب سایت و Virtual Directory و تنظیمات آن را بدانید.
- شما باید یک ویندوز-سرور کار خوب باشید.
- کمی هم شناخت و ذوق هنری در طراحی صفحات و گرافیک وب داشته باشید.
- ...
- شما باید عاشق مایکروسافت باشید!
● بهترین راه یادگیری ASP.NET
حالا می خواهم به اصل سوال پاسخ دهم. شما دارید از یک فوت کوزه گری نه چندان مخفی مطلع می شوید. راه های مختلف را گفتم اما حالا می خواهم بهترین آن را بگویم. بهترین راه یادگیری ASP.NET چیست؟
● پاسخ: کار
شما از موارد فوق تنها می توانید مقدمات را یاد بگیرید یا اینکه گوش و چشم تان را با واژه هایی آشنا کنید. برای ملکه شدن دانسته هایتان و حرفه‎ای بودن تان باید کار کنید. یعنی اینکه باید برنامه بنویسید. باید درگیر کار یا پروژه ای شوید. باید زور بزنید و درگیر باشید. باید نیازمند باشید. اگر از سر سیری یا صرفاً برای پُز دادن دنبال چیزی هستید مطمئن باشید چیزی یاد نمی گیرید مگر به اندازه همان پُز دادن.
شما نیاز دارید که همه چیز را حتی مقدمات را هم عملاً و شخصاً تجربه کنید. این می توانید از طریق تعریف پروژه های من درآوردی شخصی باشد یا یک کار تجاری واقعی. شما باید در حین کار شلاق بخورید تا فولاد آبدیده شوید! هیچ چیز بجز یک کار جدی و واقعی نمی تواند به شما چیز یاد بدهد. این چیزی است که خود من به شخصه تجربه کرده ام. در این چند سال کتاب و سایتهای فراوانی را خواندم و مقالات زیادی را نوشتم اما هیچ یک به اندازه‎ی یک پروژه جدی سنگین به من آموزش نداد. بعبارت دیگر همه آن خواندنها لازم هستند ولی کافی نیستند. دوباره دقت کنید: لازم هستند. بیهوده نیستند. اما کافی هم نیستند.
جهت یادگرفتن ASP.NET شما باید پرحوصله، وقت دار، سمج، فعال، علاقه مند و پیگیر باشید.
منبع : مرکز توسعه و تبادل دانش فناوری اطلاعات