تکنولوژی

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

iranasp – همواره ايميل هاى زيادى بدستم رسيده است که مى پرسند: بهترين ره يادگيرى ASP.NET چيست؟ يا اينکه براى يادگيرى ASP.NET از کجا بايد شروع کنيم؟ و سوالاتى از اين قبيل. در اين مقاله سعى کرده ام که تجربيات خودم را در اين زمينه با شما در ميان بگذارم و احتمالاً بتوانم جوابى کاربردى و عملى به اين سوال بدهم. سوالى که احتمالاً شما هم به دنبال جواب آن هستيد.

به نظر من به تعداد انسانها، راه براى يادگيرى ASP.NET هست! شوخى نمى کنم، جدى مى گويم. به نظر من هر شخصى روش يادگيرى خودش را دارد. فرقى هم نمى کند که بخواهيد ASP.NET ياد بگيريد يا آشپزى يا هر چيز ديگري. شما همانطور که اگر بخواهيد آشپزى ياد بگيريد ممکن است از کتاب، کلاس، سعى و خطا، تجربه و حتى از وب استفاده کنيد، براى ASP.NET و اصولا هر چيز ديگرى هم ممکن است از همين ابزار و راهها استفاده کنيد.

چيزى که من مى خواهم بگويم توضيح واضحات است. اما چون خيلى ها سوال مى کنند ناچارم اشاره اى به اين موضوع داشته باشم. به نظر من بيشتر، افراد مبتدى و تازه کار هستند که نياز دارند که پاسخ اين سوال را بدانند چون کسانى که به نوعى ASP.NET را ياد گرفته اند يا با آن آشنا هستند خود مى دانند که چه کار بايد بکنند و چگونه ياد بگيرند.

کتاب

خيلى از افراد سوال مى کنند که مثلا کدام کتاب خوب است؟ به عقيده من براى يک فرد تازه کار که مى خواهد با الفباى کار آشنا شود، هر کتابى در زمينه آموزش مقدماتى و کليات ASP.NET خوب و مفيد است. حتى بسيارى از کتابهاى تخصصى هم فصلهاى اوليه خود را به آموزش و مرور مقدمات ASP.NET تخصيص مى دهند. پس دنبال کتاب خاصى نباشيد. اولين کتابى را که بدست آورديد بنشينيد و بخوانيد. بالاخره هر کتابى هر چند سطح پائين هم که باشد آنقدر مطلب دارد که يک تازه کار را براى مدتها به خود مشغول کند.

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

به هرحال آنقدر در کتابهاى آموزشى ASP.NET در مورد فرم هاى وب و نحوه استفاده از ADO.NET براى ارتباط با بانک اطلاعاتى و XML گفته اند که هيچگاه در مورد چگونگى طراحى ساختار و لايه هاى خود برنامه يا سايت چيزى گفته نشده است. مقوله اى که بدون آن معمارى را مى ماند که آجر و سنگ و سيمان دارد اما نقشه ندارد.

سايتهاى آموزشى

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

سايتى مثل W3Schools و بخش آموزش سريع يا 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 شما بايد پرحوصله، وقت دار، سمج، فعال، علاقه مند و پيگير باشيد.

نوشته های مشابه

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

دکمه بازگشت به بالا