آشنايي با مفاهيم بيت و بايت

آشنايي با مفاهيم بيت و بايت



اگر با كامپيوتر كار مي كنيد حتماً با اصطلاحاتي همانند بيت و بايت را شنيده ايد .در واقع بايت واحد اندازه گيري ظرفيت حافظه اصلي، هارد ديسك ، فلاپي ديسك ها و... مي باشد. در زمان مشاهده ليست فايل ها توسط برنامه هاي نمايش دهنده فايل ها ، ظرفيت يك فايل نيز توسط بايت مشخص مي گردد. حتماً در زمان تهيه يك كامپيوتر با عباراتي مشابه : " اين كامپيوتر داراي يك پردازنده 32 بيتي پنتيوم ، حافظه با ظرفيت 256 مگابايت و هارد ديسك با ظرفيت 40 گيگابايت است " ، برخورد داشته ايد. در اين بخش به بررسي مفهومي هر يك ازاين موارد پرداخته تا از اين رهگذر شناخت مناسبي نسبت به آنها بوجود آيد.

اعداد دهدهي : ساده ترين روش شناخت بيت ها مقايسه آنها با " ارقام " است . يك رقم محلي براي ذخيره نمودن مقادير عددي بين صفر تا نه است . ارقام با يكديگر تركيب و اعداد بزرگ را بوجود مي آورند. مثلا" عدد 100618 شامل شش رقم است . در عدد فوق هر رقم داراي جايگاه اختصاصي خود است . مثلا" رقم 8 در اولين جايگاه (رتبه يكان ) و رقم 1 در دومين جايگاه ( رتبه دهگان ) و رقم 6 در سومين جايگاه ( رتبه صدگان) قرار دارند. نحوه محاسبه عدد فوق بصورت زير است :

( 1 * 100000) + ( 0 * 10000) + ( 0 * 1000) + ( 6 * 100 ) + ( 1 * 10) + ( 8 * 1 ) = 100618

روش ديگر براي محاسبه عدد فوق استفاده از توان هاي متفاوت ده است .

( 1 * 10^5) + ( 0 * 10^4 ) + ( 0 * 10^3) + ( 6 * 10^2) + ( 1 * 10^1) + ( 8 * 10^0) = 100618

ما از اعداد دهدهي روزانه استفاده مي كنيم . در سيستم عدد نويسي فوق از ده رقم براي توليد اعداد استفاده مي گردد. سيستم هاي عدد نويسي بر اساس مبنا هاي متفاوت ديگر نظير: مبناي هشت، شانزده و دو نيز وجود دارد. براي استفاده از سيستم هاي متفاوت عدد نويسي قطعاً دلايل قانع كننده اي وجود دارد.

بيت: در كامپيوتر از سيستم عدد نويسي مبناي دو استفاده مي شود. سيستم فوق را سيستم عدد نويسي باينري نيز مي گويند. علت استفاده از مبناي دو در كامپيوتر سهولت در پياده سازي آنها توسط تكنولوژي هاي موجود الكترونيك است . مي توان كامپيوترهائي را ساخت كه از مبناي ده استفاده نمايند ولي قطعا" قيمت ساخت آنها شايد مقرون به صرفه نبوده و استفاده از مبناي دو از بعد پياده سازي مطمئناً مقرون به صرفه تر از ساير مبناهاي عدد نويسي است. در مبناي دو از ارقام باينري ( صفر و يك ) استفاده مي گردد.

كلمه " بيت " از كلمات Binary digIT اقتباس شده است . در سيستم عدد نويسي مبناي ده از ده رقم و در سيستم عدد نويسي مبناي دو از دو رقم به منظور توليد اعداد استفاده مي گردد.بنابراين يك عدد باينري صرفا" شامل ارقام صفر و يك است . براي محاسبه عدد 1011 از چه روشي استفاده مي گردد؟ براي محاسبه عدد فوق در مبناي دو از همان روشي استفاده مي گردد كه در محاسبه عدد 100618 در مبناي ده استفاده شد با اين تفاوت كه از توان هاي متفاوت عدد دو استفاده خواهد شد.

( 1 * 2^3 ) + ( 0 * 2^2) + ( 1 * 2^1) + ( 1 * 2^0)

در مبناي دو هر بيت توان هاي متفاوت دو را بصورت تصاعدي در بر خواهد داشت . بنابراين به سادگي مي توان يك عدد باينري را شمارش نمود. ( 1 و 2 و 4 و 8 و 16 و 32 و 64 و 128 و 256 و ... ) . مثلا" عدد 1001 شامل 1 + 8 بوده كه عدد 9 را نشان خواهد داد.

بايت :هر بيت مي تواند صرفا" شامل يكي از ارقام صفر و يا يك باشد. ( از لحاظ مقداردهي داراي محدوديت هستند و فقط مي توان بكمك آنها دو حالت و يا مفهوم را ارائه داد ). از تركيب هشت بيت ، يك بايت بوجود مي آيد. چرا هر هشت بيت يك بايت است ؟ با استفاده از هشت بيت در يك بايت ، مي توان 256 مقدار ( صفر تا 255) را نشان داد.

0 = 00000000 1= 00000001 2 = 00000010 ... 254 = 11111110 255 = 11111111

از بايت براي ذخيره سازي كاراكترها در مستندات مبتني بر متن ( Text) استفاده مي گردد. در مجموعه كاراكتر اسكي (ASCII) هر يك از مقادير بين صفر تا 127 داراي يك كاراكتر خاص است . از 128 بايت بعدي براي موارد خاصي نظير كاراكترهاي موجود در يك زبان غير انگليسي استفاده مي گردد. كامپيوترها مستندات متني را در حافظه يا ديسك بر اساس كدهاي فوق ( اسكي ) ذخيره مي نمايند. مثلا" از برنامه NotePad در ويندوز براي ايجاد يك فايل متني با محتويات " Four Seven" استفاده و فايل فوق را با نام Test.txt ذخيره نمائيد. پس از ذخيره نمودن فايل و مشاهده فايل مورد نظر در برنامه هاي نمايش دهنده مشخصات فايل ها متوجه خواهيد شد كه ظرفيت فايل فوق 27 بايت است . ( يك بايت براي هر حرف ) در صورتيكه معيار مشاهده ما به فايل فوق بر اساس ديدگاه كامپيوتر باشد ، بجاي هر حرف يك عدد ( معادل كد اسكي ) را مشاهده خواهيم كرد.

F o u r s e v e n
70 111 117 114 32 115 101 118 101 110

با مراجعه به جدول اسكي و مشاهده آن متوجه خواهيد شد كه يك تناظر يك به يك بين كدها و معادل حرفي آنها وجود دارد.

بايت هاي فراوان ! . براي سنجش ميزان حافظه اصلي ، هارد ديسك و ... كه داراي بايت هاي فراواني مي باشند از مجموعه اي " پيشوند" قبل از نام بايت استفاده مي گردد. ( كيلو، مگا ، گيكا نمونه هائي ازاين پيشوندها مي باشند) جدول زير برخي از پيشوندها به همراه كاربرد هر يك را نشان مي دهد.



نام

مخفف

اندازه

Kilo

K

2^10 = 1,024

Mega

M

2^20 = 1,048,576

Giga

G

2^30 = 1,073,741,824

Tera

T

2^40 = 1,099,511,627,776

Peta

P

2^50 = 1,125,899,906,842,624

Exa

E

2^60 = 1,152,921,504,606,846,976

Zetta

Z

2^70 = 1,180,591,620,717,411,303,424

Yotta

Y

2^80 = 1,208,925,819,614,629,174,706,176



با توجه به جدول فوق مي توان چنين برداشت كرد كه : كيلو تقريبا" معادل هزار ، مگا تفريبا" معادل ميليون ، گيگا تقريبا" معادل ميليارد و ... است. بنابراين زمانيكه شخصي عنوان مي نمايد كه داراي هارد ديسكي با ظرفيت دو گيگا بايت است ، معناي سخن وي اينچنين خواهد بود : " هارد ديسك وي داراي توان ذخيره سازي دو گيگا بايت ، يا تقريبا" دو ميليارد بايت يا دقيقا" 2,147,483,648 بايت است ."

امروزه استفاده از رسانه هاي ذخيره سازي با ظرفيت بالا بسيار رايج بوده و ما شاهد حضور و استفاده از بانك هاي اطلاعاتي با طرفيت بسيار بالا ( چندين ترابايت ) در موارد متعدد هستيم .

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


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

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

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




برگرفته از سايت دنياى اقتصاد

مرورى بر تاريخچه و نحوه نصب جديد ترين نسخه ويژوال بيسيك

مرورى بر تاريخچه و نحوه نصب جديد ترين نسخه ويژوال بيسيك


يك برنامه كامپيوترى، از مجموعه اى دستورالعمل كه نوع و نحوه انجام يك فعاليت را براى كامپيوتر مشخص مى نمايند، تشكيل مى شود. دستورالعمل هاى نوشته شده به عنوان نمونه ممكن است به كامپيوتر اعلام نمايند كه تعدادى از اعداد را با يكديگر جمع و يا دو عدد را با يكديگر مقايسه و بر اساس نتيجه به دست آمده، اتخاذ تصميم نمايد. دستورالعمل هاى نوشته شده، صرفاً براى كامپيوتر قابل فهم و اجرا خواهند بود. كامپيوتر دستورالعمل هاى نوشته شده را اجرا و ماحصل آن رسيدن به اهدافى خواهد بود كه بر اساس آن برنامه طراحى و پياده سازى شده است. دستورالعمل ها، مى بايست با استفاده از يكى از زبان هاى برنامه نويسى نوشته شده ( كدينگ ) و در ادامه در اختيار كامپيوتر قرار داده شوند. زبان هاى برنامه نويسى متعددى نظير: فرترن، بيسيك، كوبال، پاسكال ،C، جاوا، ويژوال بيسيك و ... وجود دارد.
برنامه نويسى كامپيوتر، مشابه آموزش گره زدن كفش به كودكان است. براى نيل به هدف فوق، مى بايست تمامى مراحل لازم به صورت شفاف به كودكان آموزش داده شود. كودكان با دنبال كردن دستورالعمل هاى ارائه شده، قادر به گره زدن كفش خود خواهند بود ( روش انجام اين كار براى آنان مشخص شده و بر اساس آن، امكان نيل به هدف مورد نظر توسط كودكان فراهم مى شود). VB.NET، زبانى است كه مى توان نحوه نيل به يك خواسته را به كمك آن به صورت شفاف ( نظير آموزش گره زدن كفش به كودكان ) مشخص و كامپيوتر با دنبال نمودن مراحل مشخص شده، خواسته مورد نظر را محقق نمايد. با استفاده از VB.NET مى توان محصولاتى را ايجاد كرد كه زمينه استفاده از آنان در محيط ويندوز و اينترنت، وجود خواهد داشت. فراموش نكنيم در زمان فراگيرى يك تكنولوژى در ابتدا مى بايست شيوه راه رفتن را بياموزيم و در ادامه اقدام به دويدن كرد.
VB.NET يكى از زبان هاى حمايت شده در دات نت است. با استفاده از زبان فوق علاوه بر اينكه مى توان برنامه هاى مبتنى بر ويندوز را پياده سازى كرد، امكان استفاده از آن به عنوان زبان مورد نظر در زمان ايجاد برنامه هاى مبتنى بر وب كه از تكنولوژى ASP.NET استفاده مى نمايند، نيز وجود خواهد داشت.
• تاريخچه ويژوال بيسيك
قبل از معرفى ويژوال بيسيك، پياده كنندگان نرم افزار مجبور به تسلط و مهارت در زمينه استفاده از ++C به همراه موارد پيچيده اى در اين خصوص بودند. بدين ترتيب، صرفاً افراد خاص آموزش ديده، قادر به خلق نرم افزارهاى قدرتمند به منظور اجرا در محيط ويندوز بودند. ويژوال بيسيك، محدوديت فوق را تغيير و مى توان اين ادعا را داشت كه امروزه خطوط زيادى از برنامه هاى نوشته شده با استفاده از ويژوال بيسيك كد شده است. ويژوال بيسيك، ظاهر برنامه نويسى تحت ويندوز را با حذف عمليات اضافى براى نوشتن كدهاى لازم جهت طراحى بخش رابط كاربر (UI)، تغيير داده است. در اين راستا زمانى كه بخش رابط كاربر، ترسيم مى شود، برنامه نويس مى تواند كدهاى لازم به منظور انجام عكس العمل مناسب در رابطه با رويداد ها را به آن اضافه نمايد. زمانى كه ماكروسافت نسخه شماره سه ويژوال بيسيك را ارائه كرد، مجدداً دنياى برنامه نويسى با تغيير مهمى مواجه شد. در اين راستا امكانات مناسبى براى نوشتن برنامه هاى مبتنى بر بانك هاى اطلاعاتى، در اختيار برنامه نويسان قرار گرفت. مايكروسافت بدين منظور محصول جديدى با نام ( (Datat Access Objects DAO به را ارائه نمود. برنامه نويسان با استفاده از DAO امكان انجام عمليات متفاوت در رابطه با داده ها را به دست آوردند. نسخه هاى شماره چهار و پنج، قابليت هاى نسخه سه را افزايش و اين امكان را براى پياده كنندگان نرم افزار فراهم نمود تا برنامه هاى خود را جهت اجرا در محيط ويندوز 95 طراحى و پياده سازى نمايند. در اين زمينه برنامه نويسان قادر به نوشتن كدهايى گرديدند كه امكان استفاده از آنان توسط ساير پياده كنندگان نرم افزار كه از زبانى ديگر استفاده مى كردند، فراهم شد. نسخه شماره شش ويژوال بيسيك، روش جديدى به منظور دستيابى به بانك هاى اطلاعاتى را ارائه كرد: ADO(ActiveX Data Objects) . يكى از اهداف اوليه طراحى ADO امكان دستيابى به بانك هاى اطلاعاتى براى پياده كنندگان برنامه هاى مبتنى بر وب است كه از تكنولوژى ASP استفاده مى نمايند.
همزمان با ارائه جديدترين نسخه ويژوال بيسيك كه VB.NET ناميده مى شود، بسيارى از محدوديت هاى مرتبط با ويژوال بيسيك برطرف گرديد. در گذشته ويژوال بيسيك با انتقادات فراوان مواجه شد ( عدم وجود امكانات مناسب در مقايسه با جاوا و يا ++C ) و بسيارى آن را نظير يك اسباب بازى در دنياى وسيع زبان هاى برنامه نويسى مى پنداشتند. VB.NET با غلبه بر مشكلات نسخه هاى پيشين، توانسته است در مدت زمان كوتاهى، به عنوان يك ابزار پياده سازى بسيار قدرتمند مطرح و گزينه اى مناسب براى برنامه نويسان در تمامى سطوح باشد.


• نصب VB.NET
براى نصب VB.NET از دو رويكرد متفاوت مى توان استفاده كرد:
نصب به همراه ويژوال استوديو دات نت
نصب نسخه استاندارد
هر يك از گزينه هاى فوق، امكان ايجاد برنامه هاى مبتنى بر ويندوز را فراهم مى نمايند. مراحلى كه در ادامه ذكر مى شود، نحوه نصب ويژوال استوديو را تشريح مى نمايد.
مرحله اول: برنامه Setup.exe را از روى CD مربوطه فعال نماييد.
مرحله دوم: جعبه محاوره اى، مراحل و اولويت هاى عمليات نصب را نشان خواهد داد. به منظور صحت عملكرد VB.NET، چندين Component نصب و يا بهنگام خواهند شد. اولين مرحله نصب، بهنگام سازى عناصر (Components) است. بر روى گزينه Windows Component Update، كليك نماييد.
مرحله سوم: برنامه نصب در ادامه سيستم را بررسى كند تا نوع عناصرى را كه مى بايست بهنگام شوند، مشخص شود. دامنه فرآيند بهنگام سازى به وضعيت ماشينى كه بر روى آن ويژوال استوديو دات نت نصب مى شود، بستگى خواهد داشت.
مرحله چهارم: با توجه به اينكه ممكن است در زمان بهنگام سازى لازم باشد چندين مرتبه سيستم راه اندازى شود، از شما درخواست نام و رمز عبور شده تا ضرورتى به نشستن و نگاه كردن به كامپيوتر و واكنش لازم ( درج نام و رمز عبور به سيستم ) پس از هر مرتبه راه اندازى سيستم نباشد. بدين ترتيب در زمان راه اندارى سيستم، عمليات مربوطه به صورت اتوماتيك و بدون نياز به تايپ نام و رمز عبور، انجام خواهد شد. عمليات فوق، اختيارى است و در صورتى كه گزينه فوق انتخاب نشود، با هر مرتبه راه اندازى سيستم، پيام مناسب ارائه و مى بايست واكنش لازم ( تايپ نام و رمز عبور) را انجام داد.
مرحله پنجم: در اين مرحله با فشردن دكمه! Install Now، بهنگام سازى عناصر (Components) آغاز مى شود. با اتمام هر يك از آيتم ها يك Check mark به منزله اتمام مرحله مربوطه نشان داده مى شود. در مقابل عنصر جارى براى بهنگام سازى نيز يك فلش قرمزرنگ نشان داده مى شود.
مرحله ششم: پس از بهنگام سازى عناصر، مجدداً به صفحه اصلى Setup مراجعت و امكان نصب ويژوال استوديو دات نت فراهم مى شود.( كليك نمودن برروى گزينه Visiual Studio.NET )
نكته: در صورتى كه قصد داريد كه از طريق ماشين فوق، يك برنامه تحت وب پياده سازى نماييد، لازم است IIS و FrontPage Extensions قبلاً نصب شده باشد (به صورت پيش فرض در زمان نصب ويندوز 2000 نصب خواهد شد ) در صورتى ويژوال استوديو دات نت، بر روى كامپيوترى نصب مى شود كه داراى سيستم عامل ويندوز 2000 نسخه Professional است، با يك پيام خطا مواجه خواهيم شد (عدم وجود عناصر لازم ) با فشردن دكمه Install Component، عمليات نصب IIS و Frontpage Extensions انجام خواهد شد. در صورتى كه دكمه Continue، انتخاب شود، در آينده نمى توانيد برنامه هاى تحت وب را به صورت محلى بر روى كامپيوتر خود پياده سازى نماييد.
مرحله هفتم: نظير اكثر برنامه هاى نصب، ليستى از گزينه هاى موجود ( شامل عناصر ) براى نصب در اختيار شما قرار مى گيرد. شما مى توانيد، صرفاً آن چيزى را كه بدان نياز داريد، نصب نماييد. مثلاً در صورتى كه ظرفيت درايو شما پايين و يا ضرورتى به استفاده از ويژوال ++C دات نت را نداريد، مى توان در اين مرحله از نصب آن صرفنظر كرد. هر گزينه اى كه در اين مرحله انتخاب نمى شود، مى توان در صورت ضرورت آن را در آينده نصب كرد. براى هر يك از امكاناتى كه قرار است نصب گردند، سه بخش اطلاعاتى متفاوت نمايش داده مى شود:بخش Feature Properties. فايل هاى مورد نظر براى نصب و ميزان فضاى مورد نياز را نشان مى دهد.بخش Feature description. هر Feature چيست و چه عملياتى را انجام مى دهد. بخش Space Allocation، وضعيت فضاى ذخيره سازى هارد را با توجه به گزينه هاى انتخاب شده، نشان خواهد داد.
نكته: زمانى كه ويژوال استوديو دات نت، اجرا مى شود مجموعه اى از اطلاعات بين ديسك و حافظه مبادله مى شود. بنابراين لازم است به ميزان كافى ظرفيت آزاد بر روى هاردديسك وجود داشته باشد، در اين راستا نمى توان دقيقاً مشخص كرد كه به چه ميزان فضاى آزاد نياز خواهد بود ولى حداقل يكصد مگابايت توصيه مى شود.
مرحله هشتم: ويژوال استوديو دات نت، شامل مجموعه اى گسترده از فايل هاى مستندات ( راهنما ) است. در اين مرحله مى توان تنظيمات لازم در خصوص اجراى مستندات از طريق CD و يا دايركتورى نصب شده بر روى هارد را انجام داد. در اين زمينه مى توان يك مسير بر روى هارد را مشخص كرد تا مستندات نصب و يا گزينه Run From Source را انتخاب تا بر اساس آن مستندات همچنان بر روى CD باقى بمانند.
مرحله نهم: پس از انتخاب عناصر مورد نظر براى نصب، با فشردن دكمه Install Now، عمليات نصب آغاز مى شود. مدت زمان نصب بستگى به موارد انتخابى و نوع سيستم دارد. مثلاً نصب تمام ويژوال استوديو دات نت به همراه تمامى مستندات بر روى يك ماشين با دارا بودن 256 مگابايت حافظه اصلى، سرعت 650 مگاهرتز و دوازده گيگابايت هاردديسك، حدود يك ساعت طول خواهد كشيد.
مرحله دهم: پس از اتمام مرحله قبل، با انتخاب گزينه Service Release بررسى لازم در خصوص بهنگام سازى انجام مى گيرد. اين عمليات از طريق اينترنت انجام خواهد شد. در اين زمينه به يك خط پرسرعت و مطمئن نياز خواهد بود. پس از انجام مراحل فوق، ويژوال استوديو دات نت بر روى سيستم نصب و محيط لازم براى نوشتن برنامه هاى VB.NET فراهم شده است.


برگرفته از سايت srco.ir

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


جنبه های یک زبان برنامه نویسی

هر زبان برنامه نویسی را می توان به عنوان یک مجموعه از مشخصات در باره ی نحو، کلمات و معانی دانست.
این مشخصات معمولا شامل موارد زیر می شوند:

انواع داده و ساختمان های داده
دستورالعمل ها و کنترل جریان
مکانیزم های ارجاع و استفاده ی مجدد
فلسفه ی طراحی

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


انواع داده و ساختمان های داده

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

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

در زبان های نوع دار ایستا، انواع از پیش تعیین شده ای برای اجزای داده ها (همچون اعداد در یک بازه ی خاص، رشته ها یا حروف و ...) وجود دارد و متغیر ها (مقادیری که از دید برنامه نام دارند) می توانند فقط یک نوع ثابت را داشته باشند و عملیات خاصی را بپذیرند. مثلا اعداد نمی توانند به نام تبدیل شوند و برعکس. اغلب زبانهای اصلی نوع دار ایستا همچون C و C PLUS PLUS و Java به تعریف واضح تمامی انواع نیاز دارند. و بیان می شود که این کار فهم برنامه را سریع می کند.
زبان های شیءگرا به برنامه نویسان امکان تعریف انواع داده ای شیء که متغیرها و توابع ذاتی خود را دارند می دهند (که به ترتیب ویژگیها و روش ها نامیده می شوند).
یک برنامه ی شامل اشیاء به آنها اجازه ی عمل مستقل را می دهد اما زیر برنامه ها را تحت تأثیر قرار می دهد: این اثر متقابل می تواند در زبان کد کردن طراحی می شود تا اشیاء با اثر متقابل را شبیه سازی کند. این کار یک عمل مفید و شهودی است. زبان هایی مثل python و Ruby به عنوان زبان های شی گرا گسترش یافته اند. آنها نسبتاً برای یادگیری و استفاده آسان هستند و در محدوده های برنامه نویسی حرفه ای و غیر حرفه ای عمومیت پیدا کرده اند. تفکر عامه چنین است که شی گرایی، زبان ها را شهودی می کندو دسترسی عمومی و قدرت کاربردهای کامپوتری مشتری پسند را افزایش می دهد.
جدای از اینکه کی و چگونه تطابق بین انواع و عبارات تعیین شده است، یک سؤال اساسی وجود دارد که که زبان چه انواعی را تعریف می کند و چه انواعی را به عنوان مقادیر عبارات (ارزش های بیان شده) و به عنوان مقادیر نام دار (ارزش های دلالت شده) اجازه می دهد. زبان های سطح پایین مثل C به برنامه اجازه ی نام دهی به مکان های حافظه و ثابت های زمان کامپایل را می دهد در حالی که به عبارت امکان باز گرداندن مقادیر که در ثبات ماشین قرار گرفته اند را می دهد؛ ANSIC این قابلیت را با اجازه به عبارات به منظور باز گرداندن مقادیر struct ، توسعه داده است. (پیوند رکورد را ببینید). زبان های تابعی اغلب نام هارا به منظور دلالت مستقیم بر مقادیر محاسبه شده ی زمان اجرا، به جای مکان های حافظه ی نام دار که مقادیر در آن ذخیره می شوند، محدود می کنند و در بعضی از موارد به مقادیر دارای نام امکان تغییر نمی دهند. زبان هایی که از جمع آوری زباله استفاده می کننددر امکان دادن به ساختارهای داده ای مختلط دلخواه به عنوان مقادیر بیان شده آزادند. در پایان، در بعضی زبان ها، رویه ها تنها به عنوان مقادیر استدلال شده اجازه ی استفاده دارند (نمی توانند با عبارات باز گردانده شوندیا به نام های جدید محدود شوند)؛ در دیگر زبان ها رویه ها می توانند به عنوان پارامتر به رویتن ها منتقل شوند اما نمی توانند محدود به نام های جدید گردند؛ در بعضی دیگر آنها در استفاده مانند مقدار بیان شده محدودیتی ندارند اما در زمان اجرا نمونه های جدیدی نمی تواند ایجاد شود؛ و در انواع دیگری، رویه ها مقادیر کلاس اول هستند که می توانند در زمان اجرا ایجاد شوند.


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



فلسفه ی طراحی
به خاطر اهداف ذکر شده، هر زبان با استفاده از طراحی، فلسفه ی ویژه ای گسترش یافت. بعضی از جنبه ها، با روشی که زبان از ساختمان های داده استفاده می کند، تأکید می شدند یا اینکه نشانگذاری ویژه ی آن، راه های مشخص حل مسائل یا بیان ساختارشان را ترویج کرد.
چون زبان های برنامه نویسی زبان های مصنوعی هستند، نیاز به درجه ی نظم زیاد دارند تا به دقت مشخص کنندکه چه عملی مطلوب است. زبان های برنامه نویسی تحمل خطا را ندارند؛ اگر چه بار شناخت و کاربرد لغات ویژه با کمک پیغام های تولید شده به وسیله ی پیاده سازی زبان برنامه نویسی کاهش یافته است. زبان های کمی وجود دارند که آزادی زیادی در ایجاد تغییر می دهند یعنی در آن یک برنامه بخش هایی از خودش را برای مدیریت موردهای جدید دوباره نویسی می کند. نوعاً، تنها زبان ماشین و اعضای خانواده lisp ) scheme و common lisp ) این قابلیت را دارند. بعضی از زبان ها مانند MUMPS و زبان های با کامپال مجدد پویا، رقابت کننده ها و دیگر ماشین های مجازی از این تکنیک برای اجرای بهتر استفاده می کنند.
راه های زیادی برای طبقه بندی ربان های برنامه نویسی وجود دارد. مقاصد کاملاً مشخص نیستند. یک استاندارد زبان خاص ممکن است در چند طبقه بندی پیاده سازی شود. مثلاً، یک زبان می تواند هر دو پیاده سازی تفسیر شده و کامپایل شده را داشته باشد.
به علاوه اغلب زبان های کامپایل شده شامل بعضی از ویژگی های مفسر شده ی زمان اجرا هستند. یک مثال قابل توجه رشته با فرمت I/o است که در یک زبان تخصصی نوشته شده و برای توصیف چگونگی تبدیل داده های برنامه به نمونه ی خارجی به کار می رود. این رشته در زمان اجرا تفسیر شده است. بسیاری از برنامه نویسان این قابلیت سازماندهی را بسیار ارزشمند می دانند.

تاریخچه زبان های برنامه نویسی
پیشرفت زبان های برنامه نویسی بیسار نزدیک به پیشرفت عملیات الکترونیکی و فیزیکی مورد استفاده در کامپیوتر های امروزی است.
طراحی اولین ماشین های شبیه کامپیوتر به Chales Babbage نسبت داده می شود که Ada levelace برنامه های زیادی را برای آن نوشته بودد ( معادل زبان اسمبلی ). در دهه 1940 اولین کامپیوترهای الکتریکی مدرن به وجود می آمدند. بعضی نیازهای محاسبه ی نظامی یک عامل توسعه ی کامپیوترهای اولیه بود. مثل رمزگذاری، رمزگشایی محاسبه ی مسیر گلوله و متراکم سازی زیاد مورد نیاز در توسعه ی بمب های اتمی. در آن زمان، کامپیوترها بسیار بزرگ، گران و کند بودند: پیشرفت ها در تکنولوژی الکترونیک در سال های جنگ منجر به ساخت کامپیوترهای الکترونیکی عملی تر شد. در آن زمان تنها konrad zuse استفاده از زبان برنامه نویسی ( که عاقبت به عنوان Plankalkul گسترش یافت) مثل آنهایی که امروزه مسائل را حل می کنند، را پیشنهاد کرد.
پیشرفت های بعدی در تکنولوژی الکترونیک (ترانزیستورها، مدارهای مجتمع و تراشه ها) گسترش کامپیوترهای مفیدتر و قابل اعتمادتر را سرعت بخشیدند. این پیشرفت با توسعه ی زبان های کامیوتری استاندارد برای اجرا روی آنها موازی شد. موجود بودن و استفاده ی آسان از کامپیوترها منجر شد که افراد بیشتری با کامپیوترها کار کنند. پیشرفت انفجاری بعدی منجر به ایجاد اینترنت، حضور کامپیوترهای شخصی در همه جا، و استفاده ی روز افزون از برنامه نویسی کامپیوتر با استفاده از زبان هایی مثل phthon، Visual Basic و غیره شد.


طبقه بندی زبان های برنامه نویسی
زبان های برنامه نویسی سریع
زبان های برنامه نویسی آرایه ای
زبان های برنامه نویسی پیوسته
زبان های برنامه نویسی همزمان
زبان های برنامه نویسی تعریفی
زبان های برنامه نویسی با دامنه ویژه
زبان های برنامه نویسی پویا
زبان های برنامه نویسی آموزشی
زبان های برنامه نویسی رمزی
زبان های برنامه نویسی سریع
زبان های برنامه نویسی تابعی
زبان های برنامه نویسی همه منظوره
زبان های برنامه نویسی منطقی
زبان های برنامه نویسی شی گرا
زبان های برنامه نویسی متنی

زبان های اصلی
زبان های زیر زبان های برنامه نویسی اصلی هستند ک حداقل توسط هزاران برنامه نویس در سراسر دنیا استفاده می شوند:


Ada ALGOL APL AWK BASIC C C Plus Plus C Sharp COBOL ColdFusion Common Lisp Delphi Eiffel
Focus Fortran Haskell IDL Java JavaScript Lisp Modula Objective-C OCaml Pascal
Perl PHP Prolog Python Ruby SAS Scheme Smalltalk SQL Visual Basic