تكنولوژي .net و نسخه هاي visual studio مايكروسافت نوآوري هاي عمده اي براي برنامه نويسان و سازندگان نرم افزار محسوب مي شوند اين نسخه ها پيشرفتهاي چشمگيري در بهره وري. امنيت. اعتماد پذيري و قابليت ارئه deployability را با خود همرا داشت پلتفرم يا محيط اجرايي:هر برنامه اي براي مهيا كردن خدمات زمان اجراي خود به محيط اجرا و كتابخانه هاي خود متكي است مثلا برنامه هايي كه با زبان ويژوال بيسك 6.0 نوشته مي شوند براي اجرا درست به visual basic runtime يا نرم افزارهاي جاوا براي اجرا از java virtual machine استفاده مي كنند و چارچوب دات نت يك كتابخانه تقريبا كامل براي ايجاد برنامه هاي كاربردي براي اجرا روي پلتفرمي به نامCLR يا common language runtime است. محيط اجرايي CLR سرويسهاي اصلي مربوط به يك پلتفرم مانند مديريت حافظه و امنيت را فراهم مي كند. CLR يكي از بخشهاي مركزي دات نت فريم ورك است كه برنامه نوشته شده تحت دات نت را به اجرا در مي آورد برنامه در دو مرحله به دستورالعملهاي ماشين كامپايل مي شود ابتدا برنامه به زبان مياني ترجمه و سپس كامپايلر ديگري آن را به كد ماشين و پلتفرم مورد نظر كامپايل مي كند و در نهايت برنامه با توجه به ماشين اجرا مي شود استفاده از دو كامپايلر سبب به دست آوردن قابليتهاي مختلف از جمله قابليت انتقال و حمل بين سيستم عاملها و زبانهاي ديگر و مديريت است
چارچوب دات نت همانقدر كه در ايجاد برنامه هاي كاربردي ويندوز قدرت و سادگي دارد در ساخت برنامه هاي وب نيز كاراست به طوري كه اين چارچوب تبديل به يكي از پرطرفدارترين تكنولوژي هاي براي برنامه هاي وب شده است (asp.net)
وقتي كدي را از هر زباني كه چار چوب دات نت را پشتيباني مي كند كامپايل كنيد به چيزي به نام MSIL يا Microsoft intermediate language يا زبان ميانه مايكروسافت تبديل مي شود MSIL باينري است اما كد ماشين نيست بلكه فرمتي است كه از محيط برنامه نويسي مستقل است و مي توان از آن در هر ماشين ديگري كه در حال اجراي چارچوب دات نت است استفاده كرد چرا كه در درون چارچوب .net كامپايلري به نامjust in time compiler يا jit وجود دارد و كد زبان ميانه را به كد ماشين اختصاصي براي سخت افزار و سيستم عامل همان ماشين تبديل مي كند. دات نت ابزار اشكال زداي مجتمعي را فراهم كرده است و هر زباني كه اين چارچوب را هدف داشته باشد فقط با يك اشكال زداي واحد بررسي مي شود حتي اگر قسمتي از برنامه ي شما VB بوده و قسمت ديگر آن سي شارپ يا هر زبان ديگري بر پايه .net
چارچوب دات نت فقط پاسخگوي ويندوز نيست و مي تواند به هر سيستم عامل ديگري وارد شود يعني به آساني مي توانيد به قابليت چند محيطي يا cross plarform دست يابيد و اكنون مايكروسافت نسخه يك دات نت را براي سيستم عاملهاي بر پايه يونيكس مانند FreeBSD و همچينين Mac OS X ولي فقط براي آموزش و لاغير. دات نت بسياري از عمليات بنيادي را كه به ساخت آنها در زبانهاي برنامه نويسي پيشين عادت كرده بوديد را به صورت فشرده و آماده دارد عمل كامپايل به كد محلي از طريق ابزار كامپاير درست به موقع انجام مي شود.اگر نسخه مورد نياز از .net framework نصب شده باشد آن پلتفرم مي تواند هر برنامه دات نت را اجرا كند و هر زباني كه بتواند به MSIL تبديل شود زبان سازگار با دات نت ناميده مي شود مثل visual c++.net و visual basic.net و delphi و python وsmall talk و…
visual basic بازيچه نيست:خدمت عزيزاني كه ويژوال بيسيك را به عنوان يك زبان خوب نمي دانند بايد گفت مايكروسافت با اعلام vb.net به عنوان يك زبان برتر د محيط دات نت قصد داشت در برابر انهايي كه به وي بي را به بازيچه بودن متهم مي كردند بايستد.
زبان مياني يا IL يك زبان جديد است و به صورتي طراحي شده است كه به طور موثري به كد محلي ماشيني كه در آن اجرا مي شود تبديل گردد زبان مياني نسبت به ويژوال بيسيك و سي شارپ زبان سطح پايينتري محسوب مي شود ولي از كد ماشين بالاتر است يكي از ابزارهايي كه در چارچوب دات نت وجود دارد ILdasm.exe است ابزار IL Disassembler براي نمايش محتواي يك برنامه دات نت در كد مياني به صورتي است كه براي انسان قابل خواندن باشد مثل تصوير با اين توضيح كه هر
شكل نماد موضوعي است مثلا نماد فضاي نام ويژگي متد كلاس است
زبانهاي دات نت همه به IL كامپايل مي شوند پس هيچكدام از زبانهاي دات نت از ديگر زبانها سريعتر نيست ولي بايد در نظر
داشت كه تنظيمات متفاوت كامپايلر منجر به توليد IL هاي متفاوتي براي كد يكساني مي شود به عنوان مثال دريك حلقه for
در سي شارپ مي توانيد انتخاب كنيد كه آيا سرريز overflow چك شود يا نه ولي در vb اين امكان وجود ندارد پس هنگامي
كه يك حلقه FOR در c# ايجاد مي كنيد از يك حلقه يكسان در VB سريعتر اجرا خواهد شد چرا كه سي شارپ به طور پيش فرض سرريزي را چك نمي كند ولي در وي بي اين كار انجام مي شود.
بيشتر برنامه نويسان .net به اين نتيجه رسيده اند كه براي تبديل شدن به يك برنامه نويس حرفه اي دات نت مهمترين كار يادگيري كتابخانه كلاس چارچوب دات نت است كتابخانه چارچوب دات نت مجموعه اي از DLL هاست كه بخش مهمي از اين چارچوب را تشكيل مي دهند هر DLL حاوي يك مجموعه كلاس هاي مرتبط با هم است براي مثال system.drawing.dll كلاسهايي را براي ايجاد گرافيك را ارئه مي دهد كتابخانه چارچوب دات نت شامل هرچيزي مي شود از ورودي و خروجي فايل گرفته تا كلاسهاي asp.net و ado.net كه قبلا برنامه نويسان براي انجام آنها نياز به نوشتن مقدار زيادي كد يا خريد و استفاده از كدهاي نوشته شده قبلي در قالب مولفه و كامپوننت شركتي ديگر بودند به عنوان مثال براي ارسال ايميل با برنامه نويسي دات نت مي توان از كلاس smtpmail استفاده كرد فقط همين .از این جمله می‌توان به واسط های گرافیکی کاربر، دسترسی به پایگاه های داده، رمزنگاری، برنامه‌های تحت وب، الگوریتم های کار با اعداد و ارتباطات شبکه‌ای را نام برد.

و اما مفهوم دات نت از ديد برنامه نويسان مختلف . چيزي متفاوت است در اينجا با تكيه بر مطالبي كه در مورد دات نت خوانده و شنيده ام سعي كردم مفهوم اين تكنولوژي را با استفاده از كمترين اصطلاحات و ساده ترين عبارت توضيح دهم هر چند خودم هم هنوز در تلاش براي شناسايي آن هستم